While reprojection is less common these days because of more advanced methods of data distribution, sometimes you do need to reproject a shapefile. The pure Python
utm module works for reference system conversion, but for a full reprojection we need some help from the OGR Python API. The OGR API contained in the
osgeo module has the Open Spatial Reference module, also known as
osr, which we'll use for reprojection.
As an example, we'll use a
point shapefile containing New York City museum and gallery locations in the Lambert conformal projection. We'll reproject it to WGS84 geographic (or unproject it rather). You can download this zipped shapefile at http://git.io/vLbT4
The following minimalist script reprojects the shapefile. The geometry is transformed and written to the new file, but the
dbf file is simply copied to the new name as we aren't changing it. The standard Python
shutil module, which is the shortened form for shell utilities, is used to copy
dbf. The source and...