[OpenLayers-Dev] SRS transform problem EPSG:900913 -> EPSG:23030

Mike Adair madair at dmsolutions.ca
Fri Feb 20 10:03:43 EST 2009


I can confirm that Chris's explanation is correct.  For this test 
point,  the Proj4js output matches the equivalent output from PROJ4, 
which means the tmerc port in Proj4js is OK, and adding the towgs84 
parameters to the defs string gives the same output as GeoTools.

Mike

Christopher Schmidt wrote:
> On Fri, Feb 20, 2009 at 11:50:09AM +0100, Patrick O'Brian wrote:
>   
>> Hi all,
>>
>> we are using google map layer with WMS from GeoServer using EPSG:23030.
>> We have detected a difference between geotools and OpenLayers srs
>> conversions using EPSG:900913 -> EPSG:23030.
>> Example:
>> 900913 => (-754113.99,4563131.15)
>> 23030_OpenLayers => (168035.13030878676,4199884.834826067)
>> 23030_GeoTools2.5.3 => (168141.88493782945,4199937.868013817)
>>
>> which is a huge difference:
>> dx=106.75462904269 m
>> dy=53.033187750 m
>>
>> The WMS image fits with google layer, but the cursor track shows a diferent
>> position than the database and the image with the geoserver preview.
>>
>> Can anyone tell us which is the correct srs conversion?
>>     
>
> Not I, but this is  one of two things:
>
>  1. a proj4js bug in porting proj
>  2. A disagreement in the meaning of the spatial reference.
>
> Looking at http://www.spatialreference.org/ref/epsg/23030/ , this is one
> of these ED50 projections I hear so much about: As I understand it, thre
> are multiple interpretations of ED50 projections depending on where you
> are. it seems that OpenLayers and GeoTools are making different default
> assumptions.
>
> I think the most likely solution here is that you will need to add a
> +towgs84 parameter to the proj4js string. It looks like the default for
> 23030 in GeoTools is:
>
>  TOWGS84[-157.89, -17.16, -78.41, 2.118, 2.697, -1.434, -1.1097046576093785], 
>
> So, if you take:
>
>   Proj4js.defs["EPSG:23030"] = "+proj=utm +zone=30 +ellps=intl +units=m
>   +no_defs";
>
> And add +towgs84:
>
> Proj4js.defs["EPSG:23030"] = "+proj=utm +zone=30 +ellps=intl +units=m
> +togs84=-157.89,-17.16,-78.41,2.118,2.697,-1.434,-1.1097046576093785
> +no_defs"
>
> The projection might work out better.
>
> CCing metacrs so that someone can tell me if I'm wrong here.
>
> Regards, 
>   

-- 
   Michael Adair
   Senior Software Architect
   DM Solutions Group Inc.

   Office: (613) 565-5056 x26
   madair at dmsolutions.ca
   http://www.dmsolutions.ca
   http://research.dmsolutions.ca





More information about the Dev mailing list