[OpenLayers-Dev] PostGIS and OL disagree
Christopher Schmidt
crschmidt at metacarta.com
Mon Jun 15 02:52:17 EDT 2009
On Sat, Jun 13, 2009 at 10:16:25PM +0200, Eric Lemoine wrote:
> Hello
>
> I noticed that PostGIS and OpenLayers don't give the same result when
> reprojecting a point from 4326 to 900913.
Sounds like:
* proj is out of date or
* You don't have the 'null' gridshift file.
u=# insert into spatial_ref_sys VALUES (900913, 'EPSG', 900913, '', '+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 +no_defs');
INSERT 0 1
u=# select astext(transform(geomfromtext('POINT(-22.19921875 1.47265625)',4326), 900913));
astext
-------------------------------------------
POINT(-2471205.72725849 163953.396913541)
(1 row)
/Library/Frameworks/PROJ.framework/Versions/4.6/Resources/proj/null for
me on OS X, presumably /usr/share/proj/null on Linux. I believe that
Debian and Ubuntu no longer include these files (for silly reasons), so
that may be the source of your problem.
-- Chris
> PostGIS :
>
> mydatabase=# select astext(transform(geomfromtext('POINT(-22.19921875
> 1.47265625)',4326), 900913));
> astext
> -------------------------------------------
> POINT(-2471205.72725849 162856.069837409)
> (1 row)
>
> OpenLayers :
>
> >>> var p = new OpenLayers.Geometry.fromWKT("POINT(-22.19921875 1.47265625)");
> >>> p.transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("EPSG:900913"));
> >>> p.toString();
> "POINT(-2471205.7269145 163953.39689072)"
>
> Note the difference for the y coord (more than 1000 meters).
>
> Does anyone have an explanation for this?
>
> FYI, here's my spatial_ref_sys entry in PostGIS for 900913:
>
> mydatabase=# SELECT * from spatial_ref_sys where srid=900913;
> srid | auth_name | auth_srid | srtext
> | proj4text
> --------+-----------+-----------+------------------------------------------------+------------------------------------------------------------------------------------------
> 900913 | EPSG | 900913 | 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"]], NIT["degree",0.017453292519943295],
> AXIS["Longitude", EAST], AXIS["Latitude",
> NORTH],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", 0.0],
> PARAMETER["false_northing", 0.0],UNIT["m", 1.0], AXIS["x", EAST],
> AXIS["y", NORTH],AUTHORITY["EPSG","900913"]] | | +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 +no_defs
> (1 row)
>
>
> Thanks,
>
> --
> Eric Lemoine
>
> Camptocamp France SAS
> Savoie Technolac, BP 352
> 73377 Le Bourget du Lac, Cedex
>
> Tel : 00 33 4 79 44 44 96
> Mail : eric.lemoine at camptocamp.com
> http://www.camptocamp.com
> _______________________________________________
> Dev mailing list
> Dev at openlayers.org
> http://openlayers.org/mailman/listinfo/dev
--
Christopher Schmidt
MetaCarta
More information about the Dev
mailing list