[OSM-dev] osm2pgsql - strange behaviour

Jon Burgess jburgess777 at googlemail.com
Fri Jun 22 14:39:27 BST 2007


Yes the code reprojects to mercator as part of the import (search for
references to 'project'). You can switch to latlong by commenting out
the reprojection (you'll probably also want to change the SCALE used
for the fixed point in middle-ram.c too if you change this otherwise
you'll lose some precision).

I suppose that this SRID is wrong and should of been changed when the
reprojection got added. Anyone know what SRID would be appropriate?


On 22/06/07, Artem Pavlenko <artem at mapnik.org> wrote:
> Nick,
>
> osm2pgsql projects coordinates to Mercator.
>
> Artem
>
> On 22 Jun 2007, at 13:24, Nick Black wrote:
>
> Hello,
>
> Trying to run osm2pgsql I get some strange values in the geometry columns of
> postgis.  For example, if I import the following made up osm file:
>
>
> <?xml version="1.0" encoding="UTF-8"?>
> <osm version="0.4" generator="OpenStreetMap server">
>   <way id="1" visible="true"
> timestamp="2006-08-18T22:51:40+01:00" user="dankarran">
>     <seg id="1"/>
>     <tag k="created_by" v="JOSM"/>
>     <tag k="name" v="Marine Drive"/>
>     <tag k="highway" v="secondary"/>
>   </way>
>   <segment id="1"  visible="true"
> timestamp="2006-08-18T22:51:40+01:00" from='1' to='2'>
>    </segment>
>   <node id='1'  timestamp='2006-08-15 02:08:50' visible='true' lat='1.2345'
> lon='-6.789'>
>     <tag k='source' v='PGS' />
>      <tag k='created_by' v='almien_coastlines' />
>   </node>
>   <node id='2'  timestamp='2006-08-15 02:08:50' visible='true' lat='2.2345'
> lon='-7.789'>
>     <tag k='source' v='PGS' />
>     <tag k='created_by' v='almien_coastlines' />
>   </node>
>
> </osm>
>
> and then do :
>
> # select astext(way) from planet_osm_roads ;
>
> I get:
>
>  LINESTRING(-755748.02 136514.64,-867067.51 247141.71)
>
> Which isnt what the values should be. Is there some kind of reprojection
> going on somewhere?  I have geometry columns and spatial ref sys set up
> seemingly correctly, with planet_osm_roads referencing srid 4326, which has
> the following entry ins spatial_ref_sys:
>
> GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS
> 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",
> 0.01745329251994328,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]]
> | +proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs
>
> I'm taking a look through the osm2pgsql src to see how the database
> connections work, but the c++ will take me a while to figure out...
>
> cheers,
>
> --
> Nick Black
> --------------------------------
> http://www.blacksworld.net
> _______________________________________________
> dev mailing list
> dev at openstreetmap.org
> http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/dev
>
> Artem Pavlenko
> http://mapnik.org
>
>
>
>
> _______________________________________________
> dev mailing list
> dev at openstreetmap.org
> http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/dev
>
>


-- 
    Jon




More information about the dev mailing list