6

I have a shapefile with a Google Mercator projection (900913) that I need converted to GeoJSON. I need to do this on a regular basis amongst other things so I wrote a shell script to do it using ogr2ogr. I am also converting this to a 4326 projection so the coordinates are more usable.

This is how I am using ogr2ogr to do that: ogr2ogr -f "GeoJSON" -s_srs EPSG:900913 -t_srs EPSG:4326 output.geojson my-shapefile.shp -lco WRITE_BBOX=YES -lco COORDINATE_PRECISION=6 --debug on

For some reason all of my coordinate arrays have 3 values, the last one always being 0.0. Like so: [ -122.633291, 48.628477, 0.0 ]

Where is the extra 0.0 coming from?? However, if I export from qgis the coordinates come out as expected.. [ -122.633291, 48.819157 ]

I also notice that the longitude is slightly different between the two. Any ideas on how I could improve my ogr2ogr command? Or perhaps this is a bug?

Pete

Here are some more details about the shapefile being converted.

Storage type of this layer:ESRI Shapefile
Geometry type of the features in this layer: Polygon
The number of features in this layer: 431
Editing capabilities of this layer: Add Features, Delete Features, Change Attribute Values, Add Attributes, Create Spatial Index, Fast Access to Features at ID, Change Geometries

In layer spatial reference system units : xMin,yMin -19951913.23,2139102.40 : xMax,yMax 20021888.10,11554793.57

+proj=merc +lon_0=0 +lat_ts=0 +x_0=0 +y_0=0 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs

closed as off-topic by nmtoken, Vince, Fran Raga, Andre Silva, LaughU Jun 11 at 6:15

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "This problem cannot or can no longer be reproduced. Changes to the system or to the asker's circumstances may have rendered the question obsolete, or the question does not include a procedure to enable potential answerers to reproduce the same symptoms. Such questions are off-topic as they are unlikely to help future readers, but editing them to include more details can lead to re-opening." – nmtoken, Vince, Fran Raga, Andre Silva, LaughU
If this question can be reworded to fit the rules in the help center, please edit the question.

  • 3
    Okay, so I have figured out the problem. Just incase anyone else if having a similar issue, it was that the shapefile was created as a "3D Polygon". I fixed that by explicitly specifing that it should be 2D durning the creation process of the shapefile like so: -nlt POLYGON – slth May 18 '12 at 17:23
  • 3
    It would be helpful if you took your comment and added as an answer. Then you can accept it. This will make it easier for other people with the same question to search for yours and see a specific answer instead of having to search through comments for it. – Get Spatial May 19 '12 at 6:29
2

This is possible explanation for the differences you're finding. In my version of QGIS the parameter string for EPSG:900913 is:

+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 +nadgrids=@null +wktext +over +no_defs

which looks about right to me (after all, it is Google Spherical Mercator). This is different from the string that ogr2ogr appears to be using. Nick.

  • 1
    This (the +nadgrids=@null, +a/+b=6378137) version is the correct PROJ.4 string for Google Mercator. Note that any reasonably modern version of ogr2ogr will use this for EPSG:900913. The more appropriate (real) EPSG code to use for Google Mercator is EPSG:3857. – Frank Warmerdam May 19 '12 at 21:00

Not the answer you're looking for? Browse other questions tagged or ask your own question.