Re: [postgis-users] Z coordinate value changes with st_transform
Thanks for the heads up Richard. Sounds like important information, could you add it to the ticket ? http://trac.osgeo.org/postgis/ticket/1742 If what you say is correct we really want to always omit transforming Z from ST_Transform(). --strk; On Fri, Mar 30, 2012 at 05:59:16PM -0600, Richard Greenwood wrote: Others more knowledgeable than myself should probably weight in on this, but I don't believe the Z value from a horizontal datum transform should be applied to an orthometric or ellipsoidal Z value. Proj.4 returns a Z value which is a delta when transforming lat/long (with no heights) between different datums when doing a 3 or 7 parameters datum transform (but not a grid shift tranform). 3 and 7 parameters transforms are done in XYZ geocentric space and the Z value is just the artifact but does not represent a geographic change in height. The vertical datum support in Proj.4 is new and I don't think it is what you are seeing here. If I'm correct in my assumptions then there should be a ST_Transform() and a ST_Transform3D(). The Z value should be disregarded in ST_Transform() and in ST_Transform3D() vertical transformation should be explicitly requested from the Proj.4 lid. Rich On Fri, Mar 30, 2012 at 1:30 PM, Paul Ramsey pram...@opengeo.org wrote: Turns out this is just because the definition of 23030 has been updated to include a to_wgs84 parameter. You get the same behavior in any version of proj. This is a feature, not a bug (our projection information is now better). If you want the old behaviour, change the proj4text of 23030 back to the 1.5 version. For a future release you might file a ticket to allow users to apply transforms x/y but to skip the z-coordinate. P. On Fri, Mar 30, 2012 at 10:27 AM, Paul Ramsey pram...@opengeo.org wrote: Yeah, bad news, 2.0 is showing this behavour but not 1.5. http://trac.osgeo.org/postgis/ticket/1742 P. On Fri, Mar 30, 2012 at 9:59 AM, Stefano Iacovella stefano.iacove...@gmail.com wrote: Hi Jose Im sure which version of PostGis are you using. On my box, Postgis 1.5.3 with Proj 4.8 it seems to work without any change to elevation: template_postgis=# select st_asewkt(st_transform(st_geomfromtext('POINT (70 450 100)', 23030), 4326)); WARNING: OGC WKT expected, EWKT provided - use GeomFromEWKT() for this st_asewkt -- SRID=4326;POINT(-0.635451186670006 40.6259397158234 100) (1 row) template_postgis=# select postgis_full_version(); postgis_full_version -- POSTGIS=1.5.3 GEOS=3.3.2-CAPI-1.7.2 PROJ=Rel. 4.8.0, 6 March 2012 LIBXML= 2.7.6 USE_STATS (1 row) Regards Stefano 2012/3/30 Jose Carlos Martinez jomar...@cgf.upv.es: I didnt get nay answers from now. Someone can tell me why postgis is changing the z coordinate and how i can change this default behavior? Should I keep using proj4.7 instead of proj4.8? Before: pg20=# select st_astext(st_transform(st_geomfromtext('POINT (70 450 100)', 23030), 4326)); st_astext -- POINT Z (-0.63662073736203 40.6248036513963 100) Now: pg20=# select st_astext(st_transform(st_geomfromtext('POINT (70 450 100)', 23030), 4326)); st_astext -- POINT Z (-0.63662073736203 40.6248036513963 168.35361468256) On 27/03/2012 21:56, Jose Carlos Martinez Llario wrote: From proj4.8 changelog: Preliminary support has been added for vertical datums using the +geoidgrids= directive. The geoidgrids are assumed to provide a transformation from geoid elevations to ellipsoidal elevations and they are discussed a bit in the VerticalDatums topic on the web site I dont like the st_transform method can change my z coordinates by default though, dont know if it is because PostGIS is not ready still for proj4.8 or because it is the proj4.8 default behaviour. cheers, Jose On 27/03/2012 19:02, Jose Carlos Martinez wrote: Hi, dont know if this is the expected behavior, maybe its because I built postgis with proj 4.8 or because something has changed in spatial_ref_sys. Dont know at what time it happened (I missed it). Before: pg20=# select st_astext(st_transform(st_geomfromtext('POINT (70 450 100)', 23030), 4326)); st_astext -- POINT Z (-0.63662073736203 40.6248036513963 100) Now: pg20=# select st_astext(st_transform(st_geomfromtext('POINT (70 450 100)', 23030), 4326));
Re: [postgis-users] Z coordinate value changes with st_transform
Hi Richard, a transformated height are no artifact. You can only get one by using 7 parameter transformation. Using the 3 parameter transformation (cartesian coordinate system) or nadgrid can not change the z value. I think the better way is having a function ST_Transform2D() and the normal ST_Transform(). A function named ST_Transform3D can't be satisfied if the proj4text having nadgrid or only 3 parameter defined. Gr Ralf On Samstag 31 März 2012 01:59:16 Richard Greenwood wrote: Others more knowledgeable than myself should probably weight in on this, but I don't believe the Z value from a horizontal datum transform should be applied to an orthometric or ellipsoidal Z value. Proj.4 returns a Z value which is a delta when transforming lat/long (with no heights) between different datums when doing a 3 or 7 parameters datum transform (but not a grid shift tranform). 3 and 7 parameters transforms are done in XYZ geocentric space and the Z value is just the artifact but does not represent a geographic change in height. The vertical datum support in Proj.4 is new and I don't think it is what you are seeing here. If I'm correct in my assumptions then there should be a ST_Transform() and a ST_Transform3D(). The Z value should be disregarded in ST_Transform() and in ST_Transform3D() vertical transformation should be explicitly requested from the Proj.4 lid. Rich On Fri, Mar 30, 2012 at 1:30 PM, Paul Ramsey pram...@opengeo.org wrote: Turns out this is just because the definition of 23030 has been updated to include a to_wgs84 parameter. You get the same behavior in any version of proj. This is a feature, not a bug (our projection information is now better). If you want the old behaviour, change the proj4text of 23030 back to the 1.5 version. For a future release you might file a ticket to allow users to apply transforms x/y but to skip the z-coordinate. P. On Fri, Mar 30, 2012 at 10:27 AM, Paul Ramsey pram...@opengeo.org wrote: Yeah, bad news, 2.0 is showing this behavour but not 1.5. http://trac.osgeo.org/postgis/ticket/1742 P. On Fri, Mar 30, 2012 at 9:59 AM, Stefano Iacovella stefano.iacove...@gmail.com wrote: Hi Jose Im sure which version of PostGis are you using. On my box, Postgis 1.5.3 with Proj 4.8 it seems to work without any change to elevation: template_postgis=# select st_asewkt(st_transform(st_geomfromtext('POINT (70 450 100)', 23030), 4326)); WARNING: OGC WKT expected, EWKT provided - use GeomFromEWKT() for this st_asewkt -- SRID=4326;POINT(-0.635451186670006 40.6259397158234 100) (1 row) template_postgis=# select postgis_full_version(); postgis_full_version --- - -- POSTGIS=1.5.3 GEOS=3.3.2-CAPI-1.7.2 PROJ=Rel. 4.8.0, 6 March 2012 LIBXML= 2.7.6 USE_STATS (1 row) Regards Stefano 2012/3/30 Jose Carlos Martinez jomar...@cgf.upv.es: I didnt get nay answers from now. Someone can tell me why postgis is changing the z coordinate and how i can change this default behavior? Should I keep using proj4.7 instead of proj4.8? Before: pg20=# select st_astext(st_transform(st_geomfromtext('POINT (70 450 100)', 23030), 4326)); st_astext -- POINT Z (-0.63662073736203 40.6248036513963 100) Now: pg20=# select st_astext(st_transform(st_geomfromtext('POINT (70 450 100)', 23030), 4326)); st_astext -- POINT Z (-0.63662073736203 40.6248036513963 168.35361468256) On 27/03/2012 21:56, Jose Carlos Martinez Llario wrote: From proj4.8 changelog: Preliminary support has been added for vertical datums using the +geoidgrids= directive. The geoidgrids are assumed to provide a transformation from geoid elevations to ellipsoidal elevations and they are discussed a bit in the VerticalDatums topic on the web site I dont like the st_transform method can change my z coordinates by default though, dont know if it is because PostGIS is not ready still for proj4.8 or because it is the proj4.8 default behaviour. cheers, Jose On 27/03/2012 19:02, Jose Carlos Martinez wrote: Hi, dont know if this is the expected behavior, maybe its because I built postgis with proj 4.8 or because something has changed in spatial_ref_sys. Dont know at what time it happened (I missed it). Before: pg20=# select st_astext(st_transform(st_geomfromtext('POINT (70 450 100)', 23030), 4326)); st_astext -- POINT Z
Re: [postgis-users] Z coordinate value changes with st_transform
I didnt get nay answers from now. Someone can tell me why postgis is changing the z coordinate and how i can change this default behavior? Should I keep using proj4.7 instead of proj4.8? Before: pg20=# select st_astext(st_transform(st_geomfromtext('POINT (70 450 100)', 23030), 4326)); st_astext -- POINT Z (-0.63662073736203 40.6248036513963 100) Now: pg20=# select st_astext(st_transform(st_geomfromtext('POINT (70 450 100)', 23030), 4326)); st_astext -- POINT Z (-0.63662073736203 40.6248036513963 168.35361468256) On 27/03/2012 21:56, Jose Carlos Martinez Llario wrote: From proj4.8 changelog: Preliminary support has been added for vertical datums using the +geoidgrids= directive. The geoidgrids are assumed to provide a transformation from geoid elevations to ellipsoidal elevations and they are discussed a bit in the VerticalDatums topic on the web site I dont like the st_transform method can change my z coordinates by default though, dont know if it is because PostGIS is not ready still for proj4.8 or because it is the proj4.8 default behaviour. cheers, Jose On 27/03/2012 19:02, Jose Carlos Martinez wrote: Hi, dont know if this is the expected behavior, maybe its because I built postgis with proj 4.8 or because something has changed in spatial_ref_sys. Dont know at what time it happened (I missed it). Before: pg20=# select st_astext(st_transform(st_geomfromtext('POINT (70 450 100)', 23030), 4326)); st_astext -- POINT Z (-0.63662073736203 40.6248036513963 100) Now: pg20=# select st_astext(st_transform(st_geomfromtext('POINT (70 450 100)', 23030), 4326)); st_astext -- POINT Z (-0.63662073736203 40.6248036513963 168.35361468256) Using ST_AsKml Its changing the Z coordinate too. Someone can confirm when this change happened in PostGIS? Regards, Jose ___ postgis-users mailing list postgis-users@postgis.refractions.net http://postgis.refractions.net/mailman/listinfo/postgis-users ___ postgis-users mailing list postgis-users@postgis.refractions.net http://postgis.refractions.net/mailman/listinfo/postgis-users
Re: [postgis-users] Z coordinate value changes with st_transform
Hi Jose Im sure which version of PostGis are you using. On my box, Postgis 1.5.3 with Proj 4.8 it seems to work without any change to elevation: template_postgis=# select st_asewkt(st_transform(st_geomfromtext('POINT (70 450 100)', 23030), 4326)); WARNING: OGC WKT expected, EWKT provided - use GeomFromEWKT() for this st_asewkt -- SRID=4326;POINT(-0.635451186670006 40.6259397158234 100) (1 row) template_postgis=# select postgis_full_version(); postgis_full_version -- POSTGIS=1.5.3 GEOS=3.3.2-CAPI-1.7.2 PROJ=Rel. 4.8.0, 6 March 2012 LIBXML= 2.7.6 USE_STATS (1 row) Regards Stefano 2012/3/30 Jose Carlos Martinez jomar...@cgf.upv.es: I didnt get nay answers from now. Someone can tell me why postgis is changing the z coordinate and how i can change this default behavior? Should I keep using proj4.7 instead of proj4.8? Before: pg20=# select st_astext(st_transform(st_geomfromtext('POINT (70 450 100)', 23030), 4326)); st_astext -- POINT Z (-0.63662073736203 40.6248036513963 100) Now: pg20=# select st_astext(st_transform(st_geomfromtext('POINT (70 450 100)', 23030), 4326)); st_astext -- POINT Z (-0.63662073736203 40.6248036513963 168.35361468256) On 27/03/2012 21:56, Jose Carlos Martinez Llario wrote: From proj4.8 changelog: Preliminary support has been added for vertical datums using the +geoidgrids= directive. The geoidgrids are assumed to provide a transformation from geoid elevations to ellipsoidal elevations and they are discussed a bit in the VerticalDatums topic on the web site I dont like the st_transform method can change my z coordinates by default though, dont know if it is because PostGIS is not ready still for proj4.8 or because it is the proj4.8 default behaviour. cheers, Jose On 27/03/2012 19:02, Jose Carlos Martinez wrote: Hi, dont know if this is the expected behavior, maybe its because I built postgis with proj 4.8 or because something has changed in spatial_ref_sys. Dont know at what time it happened (I missed it). Before: pg20=# select st_astext(st_transform(st_geomfromtext('POINT (70 450 100)', 23030), 4326)); st_astext -- POINT Z (-0.63662073736203 40.6248036513963 100) Now: pg20=# select st_astext(st_transform(st_geomfromtext('POINT (70 450 100)', 23030), 4326)); st_astext -- POINT Z (-0.63662073736203 40.6248036513963 168.35361468256) Using ST_AsKml Its changing the Z coordinate too. Someone can confirm when this change happened in PostGIS? Regards, Jose ___ postgis-users mailing list postgis-users@postgis.refractions.net http://postgis.refractions.net/mailman/listinfo/postgis-users ___ postgis-users mailing list postgis-users@postgis.refractions.net http://postgis.refractions.net/mailman/listinfo/postgis-users ___ postgis-users mailing list postgis-users@postgis.refractions.net http://postgis.refractions.net/mailman/listinfo/postgis-users
Re: [postgis-users] Z coordinate value changes with st_transform
Turns out this is just because the definition of 23030 has been updated to include a to_wgs84 parameter. You get the same behavior in any version of proj. This is a feature, not a bug (our projection information is now better). If you want the old behaviour, change the proj4text of 23030 back to the 1.5 version. For a future release you might file a ticket to allow users to apply transforms x/y but to skip the z-coordinate. P. On Fri, Mar 30, 2012 at 10:27 AM, Paul Ramsey pram...@opengeo.org wrote: Yeah, bad news, 2.0 is showing this behavour but not 1.5. http://trac.osgeo.org/postgis/ticket/1742 P. On Fri, Mar 30, 2012 at 9:59 AM, Stefano Iacovella stefano.iacove...@gmail.com wrote: Hi Jose Im sure which version of PostGis are you using. On my box, Postgis 1.5.3 with Proj 4.8 it seems to work without any change to elevation: template_postgis=# select st_asewkt(st_transform(st_geomfromtext('POINT (70 450 100)', 23030), 4326)); WARNING: OGC WKT expected, EWKT provided - use GeomFromEWKT() for this st_asewkt -- SRID=4326;POINT(-0.635451186670006 40.6259397158234 100) (1 row) template_postgis=# select postgis_full_version(); postgis_full_version -- POSTGIS=1.5.3 GEOS=3.3.2-CAPI-1.7.2 PROJ=Rel. 4.8.0, 6 March 2012 LIBXML= 2.7.6 USE_STATS (1 row) Regards Stefano 2012/3/30 Jose Carlos Martinez jomar...@cgf.upv.es: I didnt get nay answers from now. Someone can tell me why postgis is changing the z coordinate and how i can change this default behavior? Should I keep using proj4.7 instead of proj4.8? Before: pg20=# select st_astext(st_transform(st_geomfromtext('POINT (70 450 100)', 23030), 4326)); st_astext -- POINT Z (-0.63662073736203 40.6248036513963 100) Now: pg20=# select st_astext(st_transform(st_geomfromtext('POINT (70 450 100)', 23030), 4326)); st_astext -- POINT Z (-0.63662073736203 40.6248036513963 168.35361468256) On 27/03/2012 21:56, Jose Carlos Martinez Llario wrote: From proj4.8 changelog: Preliminary support has been added for vertical datums using the +geoidgrids= directive. The geoidgrids are assumed to provide a transformation from geoid elevations to ellipsoidal elevations and they are discussed a bit in the VerticalDatums topic on the web site I dont like the st_transform method can change my z coordinates by default though, dont know if it is because PostGIS is not ready still for proj4.8 or because it is the proj4.8 default behaviour. cheers, Jose On 27/03/2012 19:02, Jose Carlos Martinez wrote: Hi, dont know if this is the expected behavior, maybe its because I built postgis with proj 4.8 or because something has changed in spatial_ref_sys. Dont know at what time it happened (I missed it). Before: pg20=# select st_astext(st_transform(st_geomfromtext('POINT (70 450 100)', 23030), 4326)); st_astext -- POINT Z (-0.63662073736203 40.6248036513963 100) Now: pg20=# select st_astext(st_transform(st_geomfromtext('POINT (70 450 100)', 23030), 4326)); st_astext -- POINT Z (-0.63662073736203 40.6248036513963 168.35361468256) Using ST_AsKml Its changing the Z coordinate too. Someone can confirm when this change happened in PostGIS? Regards, Jose ___ postgis-users mailing list postgis-users@postgis.refractions.net http://postgis.refractions.net/mailman/listinfo/postgis-users ___ postgis-users mailing list postgis-users@postgis.refractions.net http://postgis.refractions.net/mailman/listinfo/postgis-users ___ postgis-users mailing list postgis-users@postgis.refractions.net http://postgis.refractions.net/mailman/listinfo/postgis-users ___ postgis-users mailing list postgis-users@postgis.refractions.net http://postgis.refractions.net/mailman/listinfo/postgis-users
Re: [postgis-users] Z coordinate value changes with st_transform
Others more knowledgeable than myself should probably weight in on this, but I don't believe the Z value from a horizontal datum transform should be applied to an orthometric or ellipsoidal Z value. Proj.4 returns a Z value which is a delta when transforming lat/long (with no heights) between different datums when doing a 3 or 7 parameters datum transform (but not a grid shift tranform). 3 and 7 parameters transforms are done in XYZ geocentric space and the Z value is just the artifact but does not represent a geographic change in height. The vertical datum support in Proj.4 is new and I don't think it is what you are seeing here. If I'm correct in my assumptions then there should be a ST_Transform() and a ST_Transform3D(). The Z value should be disregarded in ST_Transform() and in ST_Transform3D() vertical transformation should be explicitly requested from the Proj.4 lid. Rich On Fri, Mar 30, 2012 at 1:30 PM, Paul Ramsey pram...@opengeo.org wrote: Turns out this is just because the definition of 23030 has been updated to include a to_wgs84 parameter. You get the same behavior in any version of proj. This is a feature, not a bug (our projection information is now better). If you want the old behaviour, change the proj4text of 23030 back to the 1.5 version. For a future release you might file a ticket to allow users to apply transforms x/y but to skip the z-coordinate. P. On Fri, Mar 30, 2012 at 10:27 AM, Paul Ramsey pram...@opengeo.org wrote: Yeah, bad news, 2.0 is showing this behavour but not 1.5. http://trac.osgeo.org/postgis/ticket/1742 P. On Fri, Mar 30, 2012 at 9:59 AM, Stefano Iacovella stefano.iacove...@gmail.com wrote: Hi Jose Im sure which version of PostGis are you using. On my box, Postgis 1.5.3 with Proj 4.8 it seems to work without any change to elevation: template_postgis=# select st_asewkt(st_transform(st_geomfromtext('POINT (70 450 100)', 23030), 4326)); WARNING: OGC WKT expected, EWKT provided - use GeomFromEWKT() for this st_asewkt -- SRID=4326;POINT(-0.635451186670006 40.6259397158234 100) (1 row) template_postgis=# select postgis_full_version(); postgis_full_version -- POSTGIS=1.5.3 GEOS=3.3.2-CAPI-1.7.2 PROJ=Rel. 4.8.0, 6 March 2012 LIBXML= 2.7.6 USE_STATS (1 row) Regards Stefano 2012/3/30 Jose Carlos Martinez jomar...@cgf.upv.es: I didnt get nay answers from now. Someone can tell me why postgis is changing the z coordinate and how i can change this default behavior? Should I keep using proj4.7 instead of proj4.8? Before: pg20=# select st_astext(st_transform(st_geomfromtext('POINT (70 450 100)', 23030), 4326)); st_astext -- POINT Z (-0.63662073736203 40.6248036513963 100) Now: pg20=# select st_astext(st_transform(st_geomfromtext('POINT (70 450 100)', 23030), 4326)); st_astext -- POINT Z (-0.63662073736203 40.6248036513963 168.35361468256) On 27/03/2012 21:56, Jose Carlos Martinez Llario wrote: From proj4.8 changelog: Preliminary support has been added for vertical datums using the +geoidgrids= directive. The geoidgrids are assumed to provide a transformation from geoid elevations to ellipsoidal elevations and they are discussed a bit in the VerticalDatums topic on the web site I dont like the st_transform method can change my z coordinates by default though, dont know if it is because PostGIS is not ready still for proj4.8 or because it is the proj4.8 default behaviour. cheers, Jose On 27/03/2012 19:02, Jose Carlos Martinez wrote: Hi, dont know if this is the expected behavior, maybe its because I built postgis with proj 4.8 or because something has changed in spatial_ref_sys. Dont know at what time it happened (I missed it). Before: pg20=# select st_astext(st_transform(st_geomfromtext('POINT (70 450 100)', 23030), 4326)); st_astext -- POINT Z (-0.63662073736203 40.6248036513963 100) Now: pg20=# select st_astext(st_transform(st_geomfromtext('POINT (70 450 100)', 23030), 4326)); st_astext -- POINT Z (-0.63662073736203 40.6248036513963 168.35361468256) Using ST_AsKml Its changing the Z coordinate too. Someone can confirm when this change happened in PostGIS? Regards, Jose ___ postgis-users mailing list postgis-users@postgis.refractions.net http://postgis.refractions.net/mailman/listinfo/postgis-users
[postgis-users] Z coordinate value changes with st_transform
Hi, dont know if this is the expected behavior, maybe its because I built postgis with proj 4.8 or because something has changed in spatial_ref_sys. Dont know at what time it happened (I missed it). Before: pg20=# select st_astext(st_transform(st_geomfromtext('POINT (70 450 100)', 23030), 4326)); st_astext -- POINT Z (-0.63662073736203 40.6248036513963 100) Now: pg20=# select st_astext(st_transform(st_geomfromtext('POINT (70 450 100)', 23030), 4326)); st_astext -- POINT Z (-0.63662073736203 40.6248036513963 168.35361468256) Using ST_AsKml Its changing the Z coordinate too. Someone can confirm when this change happened in PostGIS? Regards, Jose ___ postgis-users mailing list postgis-users@postgis.refractions.net http://postgis.refractions.net/mailman/listinfo/postgis-users
Re: [postgis-users] Z coordinate value changes with st_transform
From proj4.8 changelog: Preliminary support has been added for vertical datums using the +geoidgrids= directive. The geoidgrids are assumed to provide a transformation from geoid elevations to ellipsoidal elevations and they are discussed a bit in the VerticalDatums topic on the web site I dont like the st_transform method can change my z coordinates by default though, dont know if it is because PostGIS is not ready still for proj4.8 or because it is the proj4.8 default behaviour. cheers, Jose On 27/03/2012 19:02, Jose Carlos Martinez wrote: Hi, dont know if this is the expected behavior, maybe its because I built postgis with proj 4.8 or because something has changed in spatial_ref_sys. Dont know at what time it happened (I missed it). Before: pg20=# select st_astext(st_transform(st_geomfromtext('POINT (70 450 100)', 23030), 4326)); st_astext -- POINT Z (-0.63662073736203 40.6248036513963 100) Now: pg20=# select st_astext(st_transform(st_geomfromtext('POINT (70 450 100)', 23030), 4326)); st_astext -- POINT Z (-0.63662073736203 40.6248036513963 168.35361468256) Using ST_AsKml Its changing the Z coordinate too. Someone can confirm when this change happened in PostGIS? Regards, Jose ___ postgis-users mailing list postgis-users@postgis.refractions.net http://postgis.refractions.net/mailman/listinfo/postgis-users ___ postgis-users mailing list postgis-users@postgis.refractions.net http://postgis.refractions.net/mailman/listinfo/postgis-users