A problem using EPSG:26917 to convert *.shp files to *_geo.json format

Converting Shapefiles to GeoJSON format

To use d3.geo to visualize the ISRs and the CYMHSAs, we first convert their Shapefiles into GeoJSON format files, using ogr2ogr. There are three steps:

  1. Determine the Spatial Reference System (SRS) used by the Shapefile
  2. Set the -t_srs switch in ogr2ogr to output the GeoJSON file using this SRS
  3. Rename variables for ease of use

The projection format files for the ISRs and the CYMHSAs – isrs.prj and cymhsas.prj, respectively – specify:

GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]

and

PROJCS["NAD_1983_UTM_Zone_17N",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-81],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0],UNIT["Meter",1]]

We use Prj2EPSG, a simple online service to convert the projection information contained in these .prj files into standard EPSG codes for the corresponding spatial reference system(s). From this we determine that the specification contained in isrs.prj corresponds to EPSG 4269 – GCS_North_American_1983; likewise, cymhsas.prj corresponds to EPSG 26917 – NAD_1983_UTM_Zone_17N.

We now use the -t_srs switch in ogr2ogr to transform the output using the spatial reference system specified in isrs.prj and cymhsas.prj:

ogr2ogr -t_srs EPSG:4269 -f GeoJSON isrs_geo.json isrs.shp
ogr2ogr -t_srs EPSG:26917 -f GeoJSON cymhsas_geo.json cymhsas.shp

Unfortunately, “-t_srs EPSG:26917” seems to breaks ogr2ogr – and the cymhsas_geo.json file is corrupt. Consequently, we use EPSG 4269 for transforming cymhsas.shp. The issue with EPSG 26917 needs further research.

A related question: How does one merge two *_geo.json files if a different EPSG is used to convert their respective *.shp files?