Suite

Ogr2ogr - Convertir geojson en fichier de formes crée un décalage en coordonnées


Je souhaite convertir ce fichier geojson ci-dessous en un fichier de formes à l'aide de la commande ogr2ogrogr2ogr sortie.shp entrée.geojson.

Cependant, un décalage apparaît dans les coordonnées de sortie qui font que le fichier de formes n'est pas correctement aligné avec l'entrée.

input.geojson :

{ "type":"FeatureCollection", "features":[ { "type":"Feature", "geometry":{ "type":"LineString", "coordinates":[[-7551132, 6293816],[- 7560916, 6260489]], }, "properties":{ "id":36 } } ], "crs":{ "type":"name", "properties":{ "name":"urn:ogc:def :crs:EPSG:3857" } } }

Y a-t-il un problème avec mon geojson ? Quelle pourrait être la cause du décalage ?


J'ai fait un shapefile à partir de ta chaîne

ogrinfo line.shp -al INFO : Ouverture réussie de 'line.shp' à l'aide du pilote 'ESRI Shapefile'. Nom de la couche : ligne Géométrie : Ligne Chaîne Nombre d'entités : 1 Etendue : (-7560916.000000, 6260489.000000) - (-7551132.000000, 6293816.000000) Couche SRS WKT : (inconnu) OGRFeature(line) : 0 LINESTRING (-7551132 6293816,-7560916 6260489)

Ensuite, je l'ai converti en GeoJSON

ogr2ogr -f GeoJSON -a_srs epsg:3857 line.json line.shp

Je ne trouve aucune différence avec ogrinfo

ogrinfo -ro -al line.json INFO : Ouverture de 'line.json' à l'aide du pilote 'GeoJSON' réussie. Nom de la couche : OGRGeoJSON Géométrie : Chaîne de ligne Nombre d'entités : 1 Etendue : (-7560916.000000, 6260489.000000) - (-7551132.000000, 6293816.000000) Couche SRS WKT : PROJCS["WGS 84 / Pseudo-Mercator", GEOGCS["WGS 84", DATUM ["WGS_1984", SPHEROID["WGS 84",6378137,298.257223563, AUTORITE["EPSG","7030"]], AUTORITE["EPSG","6326"]], PRIMEM["Greenwich",0, AUTORITE[ "EPSG","8901"]], UNITÉ["degré",0.0174532925199433, AUTORITE["EPSG","9122"]], AUTORITE["EPSG","4326"]], PROJECTION["Mercator_1SP"], PARAMETRE ["central_meridian",0], PARAMETER["scale_factor",1], PARAMETER["false_easting",0], PARAMETER["false_northing",0], UNIT["metre",1, AUTHORITY["EPSG"," 9001"]], AXIS["X",EST], AXIS["Y",NORD], EXTENSION["PROJ4","+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 + x_0=0.0 +y_0=0 +k=1.0 +units=m [email protected] +wktext +no_defs"], AUTHORITY["EPSG","3857"]] OGRFeature(OGRGeoJSON):0 LINESTRING (-7551132 6293816 ,-7560916 6260489)

Pour vérification, reconvertissez le GeoJSON en forme :

ogr2ogr -f "ESRI Shapefile" roundtrip.shp line.json

Ce que nous avons :

ogrinfo -al roundtrip.shp INFO : Ouverture réussie de 'roundtrip.shp' à l'aide du pilote 'ESRI Shapefile'. Nom de la couche : aller-retour Géométrie : Chaîne de ligne Nombre d'entités : 1 Etendue : (-7560916.000000, 6260489.000000) - (-7551132.000000, 6293816.000000) Couche SRS WKT : PROJCS["WGS_84_Pseudo_Mercator", GEOGCS["GCS_WGS_1984", DATUM[", SPHS ["WGS_84",6378137,298.257223563]], PRIMEM["Greenwich",0], UNIT["Degree",0.017453292519943295]], PROJECTION["Mercator_1SP"], PARAMETER["central_meridian",0], PARAMETER["false_easting ",0], PARAMETER["false_northing",0], UNIT["Meter",1], PARAMETER["latitude_of_origin",0.0]] FID : Integer64 (11.0) OGRFeature(aller-retour):0 FID (Integer64) = 0 LINESTRING (-7551132 6293816,-7560916 6260489)

Les coordonnées semblent identiques à celles d'origine.

Conclusion : utilisez des outils de bas niveau pour le débogage. Vous ne pouvez jamais savoir ce qu'un gros programme comme QGIS fait en arrière-plan.