Inną opcją byłoby użycie opcji reprojection po prostu w ogrod2ogr, z pewnością bardziej skomplikowane podejście niż w przypadku JEQL, Fiona lub GeoScript, ale skuteczne mimo wszystko. Zauważ, że rzuty do i do tak naprawdę nie muszą być rzeczywistym rzutem oryginalnego pliku kształtu, o ile jedyną rzeczą, która zmienia się między rzutami używanymi w s_srs i t_srs, jest fałszywe wschodzenie i północ. W tym przykładzie używam tylko Google Mercator. Jestem pewien, że istnieje znacznie prostszy układ współrzędnych, który można wykorzystać jako bazę, ale ten był przede mną do skopiowania / wklejenia.
ogr2ogr -s_srs EPSG:900913 -t_srs 'PROJCS["Google Mercator",GEOGCS["WGS 84",DATUM["World Geodetic System 1984",SPHEROID["WGS 84",6378137.0,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0.0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.017453292519943295],AXIS["Geodetic latitude",NORTH],AXIS["Geodetic longitude",EAST],AUTHORITY["EPSG","4326"]],PROJECTION["Mercator_1SP"],PARAMETER["semi_minor",6378137.0],PARAMETER["latitude_of_origin",0.0],PARAMETER["central_meridian",0.0],PARAMETER["scale_factor",1.0],PARAMETER["false_easting",1000.0],PARAMETER["false_northing",1000.0],UNIT["m",1.0],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["EPSG","900913"]]' -f "ESRI Shapefile" shift.shp original.shp
Lub, aby zapisać pisanie / wklejanie, zapisz następujące elementy projcs.txt
(tak samo jak powyżej, ale usunąłem pojedyncze cudzysłowy):
-s_srs EPSG:900913
-t_srs PROJCS["Google Mercator",GEOGCS["WGS 84",DATUM["World Geodetic System 1984",SPHEROID["WGS 84",6378137.0,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0.0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.017453292519943295],AXIS["Geodetic latitude",NORTH],AXIS["Geodetic longitude",EAST],AUTHORITY["EPSG","4326"]],PROJECTION["Mercator_1SP"],PARAMETER["semi_minor",6378137.0],PARAMETER["latitude_of_origin",0.0],PARAMETER["central_meridian",0.0],PARAMETER["scale_factor",1.0],PARAMETER["false_easting",1000.0],PARAMETER["false_northing",1000.0],UNIT["m",1.0],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["EPSG","900913"]]
a następnie uruchom:
ogr2ogr --optfile projcs.txt shifted.shp input.shp