[postgis-users] ST_Transform Incorrect Results?

Paul Ramsey pramsey at opengeo.org
Wed Oct 20 12:24:57 PDT 2010


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
>
>



More information about the postgis-users mailing list