Eine andere Möglichkeit wäre, die Reprojektionsoptionen einfach in ogr2ogr zu verwenden, was sicherlich hackiger ist als die JEQL-, Fiona- oder GeoScript-Ansätze, aber trotzdem effektiv. Beachten Sie, dass die Projektionen von und bis nicht unbedingt die eigentliche Projektion des ursprünglichen Shapefiles sein müssen, solange sich zwischen den in s_srs und t_srs verwendeten Projektionen nur die falsche Ost- und Nordrichtung ändert. In diesem Beispiel verwende ich nur Google Mercator. Ich bin mir sicher, dass es ein viel einfacheres Koordinatensystem gibt, das ich als Basis verwenden kann, aber dieses war genau vor mir, um es zu kopieren / einzufügen.
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
Oder speichern Sie Folgendes, um das Eingeben / Einfügen zu speichern projcs.txt
(wie oben, jedoch ohne einfache Anführungszeichen):
-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"]]
und dann laufen:
ogr2ogr --optfile projcs.txt shifted.shp input.shp