[postgis-users] ST_Transform Incorrect Results?

Paul Ramsey pramsey at opengeo.org
Wed Oct 20 13:07:00 PDT 2010


Run this on both servers:

echo "977119.259431679 252548.899746532" | cs2cs +init=epsg:2163 +to
+init=epsg:4326

That will test proj in isolation from PostGIS.

P

On Wed, Oct 20, 2010 at 12:28 PM, Josh Abts <josh.abts at vistracks.com> wrote:
> Sure thing!
>
> SRID 2163
> Server 1: "+proj=laea +lat_0=45 +lon_0=-100 +x_0=0 +y_0=0 +a=6370997
> +b=6370997 +units=m +no_defs "
> Server 2: "+proj=laea +lat_0=45 +lon_0=-100 +x_0=0 +y_0=0 +a=6370997
> +b=6370997 +units=m +no_defs "
>
> SRID 4326
> Server 1: "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs "
> Server 2: "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs "
>
> Unless I am missing something, they both seem to be exactly the same...
>
> I found that earlier as well (forgot to include that as well).  But that
> really makes me think it is something with the version of proj4 (or some
> data file it might be using?), but maybe someone has other ideas?
>
> On Wed, Oct 20, 2010 at 2:24 PM, Paul Ramsey <pramsey at opengeo.org> wrote:
>>
>> Could you show the proj4text strings for your coordinate systems? The
>> srtext strings are actually just there for decoration.
>>
>> P
>>
>> On Wed, Oct 20, 2010 at 12:16 PM, Josh Abts <josh.abts at vistracks.com>
>> wrote:
>> > As a followup, the following query reproduces the problem exactly:
>> >
>> > select astext(st_transform(st_setsrid(st_makepoint(977119.259431679,
>> > -252548.899746532), 2163) ,4326))
>> >
>> > On Server 1 the result is: POINT(-88.11068 42.2810949683921)
>> >
>> > On Server 2 the result is: POINT(-88.11068 42.0896736466198)
>> >
>> > It was also mentioned on #postgis to include the differing srtext
>> > entries I
>> > had found on the two servers....
>> >
>> > For SRID 4326:
>> >
>> > Server 1 - "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"]]"
>> >
>> > Server 2  - "GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS
>> >
>> > 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.01745329251994328,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]]"
>> >
>> > For SRID 2163:
>> >
>> > Server 1 - "PROJCS["US National Atlas Equal Area",GEOGCS["Unspecified
>> > datum
>> > based upon the Clarke 1866 Authalic
>> >
>> > Sphere",DATUM["Not_specified_based_on_Clarke_1866_Authalic_Sphere",SPHEROID["Clarke
>> > 1866 Authalic
>> >
>> > Sphere",6370997,0,AUTHORITY["EPSG","7052"]],AUTHORITY["EPSG","6052"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.01745329251994328,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4052"]],PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["latitude_of_center",45],PARAMETER["longitude_of_center",-100],PARAMETER["false_easting",0],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AUTHORITY["EPSG","2163"]]"
>> >
>> > Server 2  - "PROJCS["unnamed",GEOGCS["unnamed
>> >
>> > ellipse",DATUM["unknown",SPHEROID["unnamed",6370997,0]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]],PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["latitude_of_center",45],PARAMETER["longitude_of_center",-100],PARAMETER["false_easting",0],PARAMETER["false_northing",0],UNIT["Meter",1],AUTHORITY["EPSG","2163"]]"
>> >
>> >
>> > On Wed, Oct 20, 2010 at 11:14 AM, Josh Abts <josh.abts at vistracks.com>
>> > wrote:
>> >>
>> >> Hello,
>> >>
>> >> I have been having a problem where I am getting mixed results from two
>> >> servers using the same dataset.  The command I am running is as
>> >> follows:
>> >>
>> >> select astext(st_transform(start_point,
>> >> 4326)),astext(st_transform(end_point, 4326)) from mytable where gid=123
>> >>
>> >> The two columns are originally using SRID 2163 so I am transforming
>> >> them
>> >> into 4326.  But the results on one server (correct) are different than
>> >> the
>> >> results on a second server (incorrect).  They are off by .2 latitude
>> >> roughly.
>> >>
>> >> For example one result set is as follows:
>> >>
>> >> Server 1 (correct): "POINT(-88.11068
>> >> 42.2810949683921)";"POINT(-88.10731
>> >> 42.2844149305216)"
>> >> Server 2 (incorrect): "POINT(-88.11068
>> >> 42.0896736466198)";"POINT(-88.10731
>> >> 42.0929914612221)"
>> >>
>> >> As you can see the longitudes are correctly transformed, but the
>> >> latitude
>> >> is not.
>> >>
>> >> I have also included the postgis_full_version output in case a version
>> >> issue might be the culprit.
>> >>
>> >> Server 1: "POSTGIS="1.3.2" GEOS="3.0.0rc4-CAPI-1.3.3" PROJ="Rel. 4.5.0,
>> >> 22
>> >> Oct 2006" USE_STATS"
>> >> Server 2: "POSTGIS="1.5.2" GEOS="3.2.2-CAPI-1.6.2" PROJ="Rel. 4.7.1, 23
>> >> September 2009" LIBXML="2.7.5" USE_STATS (procs from 1.5 r5385 need
>> >> upgrade)"
>> >>
>> >> So you can see I am using a newer version of PostGIS as well as Proj4
>> >> but
>> >> I can't seem to figure out why this would result in an incorrect
>> >> St_Transform result.
>> >>
>> >> I also checked further into the spatial_ref_sys table on both servers
>> >> and
>> >> Server 1 has slightly more detailed srtext but they have the same
>> >> proj4text
>> >> lines.  I tried copying the srtext from Server 1 to Server 2 and there
>> >> was
>> >> no change.
>> >>
>> >> The only other difference would be the system platforms themselves
>> >> which
>> >> are below.
>> >>
>> >> Server 1: "PostgreSQL 8.3.4, compiled by Visual C++ build 1400" (this
>> >> is a
>> >> windows 2003 server)
>> >> Server 2: "PostgreSQL 8.4.5 on x86_64-pc-linux-gnu, compiled by GCC
>> >> gcc-4.4.real (Ubuntu 4.4.1-4ubuntu9) 4.4.1, 64-bit"
>> >>
>> >> Anyone have any ideas of what I could look into to see why I might be
>> >> getting this slight variation in results?  I can't find anything that
>> >> would
>> >> seem to be the problem or cause of a varying transformation...
>> >>
>> >> Thanks!
>> >> Josh
>> >
>> >
>> >
>> > --
>> > Joshua Abts
>> > IT Specialist
>> > VisTracks, Inc.
>> > josh.abts at vistracks.com
>> > (630) 596-5426
>> >
>> > _______________________________________________
>> > postgis-users mailing list
>> > postgis-users at postgis.refractions.net
>> > http://postgis.refractions.net/mailman/listinfo/postgis-users
>> >
>> >
>> _______________________________________________
>> postgis-users mailing list
>> postgis-users at postgis.refractions.net
>> http://postgis.refractions.net/mailman/listinfo/postgis-users
>
>
>
> --
> Joshua Abts
> IT Specialist
> VisTracks, Inc.
> josh.abts at vistracks.com
> (630) 596-5426
>
> _______________________________________________
> postgis-users mailing list
> postgis-users at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-users
>
>



More information about the postgis-users mailing list