[OpenLayers-Users] SphericalMercator and SRS aliases epsg:900913, epsg:3857, epsg:3785, epsg:102113

Bart van den Eijnden (OSGIS) bartvde at osgis.nl
Mon Jul 19 07:15:24 EDT 2010


Hi Anne,

check the example (first couple of lines in comments):

http://trac.openlayers.org/browser/trunk/openlayers/examples/web-mercator.js?rev=10384

So that's up to the application to provide (at least for now). But I can
also see that's not really easy for end-users.

What do other people think about providing the EPSG aliases by default in
the OL library?

Best regards,
Bart

>   Hello Bart,
>
> I am not sure if
>
> http://trac.openlayers.org/ticket/2665
>
> takes care of the side effect that Control.Measure and MousePosition are
> no longer working properly after resetting the projection code?
>
> Anne
>
> On 7/19/2010 12:29 PM, Bart van den Eijnden (OSGIS) wrote:
>> Hi Anne,
>>
>> in trunk this has been addressed, see:
>>
>> http://trac.openlayers.org/ticket/2665
>>
>> Best regards,
>> Bart
>>
>>>    Hello list,
>>>
>>> OpenStreetMap and also some popular commercial mapservices (google,
>>> bing, yahoo) are using the so called sphericalmercator projection.
>>> OpenLayers has built-in support for this type of layer, inherited from
>>> OpenLayers.Layer.SphericalMercator.
>>>
>>> If you use a sphericalmercator layer as a baselayer, you may want to
>>> combine this with other layers. By default,  the openlayers
>>> sphericalmercator baselayer uses SRS projection-code 'EPSG:900913' .
>>> So,
>>> if you try to open an overlay, the overlay layer will be called with
>>> parameter SRS=EPSG:900913.
>>>
>>> EPSG Code 900913 happens to be a bogus code, based on the word
>>> 'google'.
>>> Perhaps due to the resemblance of '900913' and 'google' or due to other
>>> reasons, there are now several other codes in use for the same
>>> projection:
>>> EPSG:3857
>>> EPSG:3785<= maybe because of a typo by someone somewhere?
>>> EPSG:102113
>>>
>>> Some map-services have stopped supporting SRS=EPSG:900913 and this
>>> raises a problem for openlayers sphericalmercator users. Instead of
>>> displaying a map, these mapservices will respond with something like
>>> 'no
>>> support for EPSG:900913'.
>>>
>>> The problem of overlaying sphericalmercator layers that do not support
>>> epsg:900913 can be (partly) solved as follows:
>>> Override the default srs code for sphericalmercator layers by
>>> explicitly
>>> resetting the projection before adding the layer to a map:
>>>
>>> var osmLayer = new OpenLayers.Layer.OSM("OpenStreetMap"); // osmlayer
>>> is
>>> now sphericalmercator with default epsg:900913
>>> osmLayer.projection = new OpenLayers.Projection ("EPSG:3857"); //
>>> osmlayer is now sphericalmercator with epsg:3857
>>> map.addLayers ([osmLayer]);
>>>
>>> Overlay layers will now be requested with SRS=ESPG:3857
>>>
>>> However, resetting the code for the baselayer projection, causes
>>> trouble
>>> for the controls for MousePosition and MeasureControl: distances and
>>> coordinates are no longer presented in the correct projection.
>>>
>>> I solved this by adding the following lines of code to file
>>> lib\OpenLayers\Layer\SphericalMercator.js
>>> OpenLayers.Projection.addTransform("EPSG:4326", "EPSG:3857",
>>>       OpenLayers.Layer.SphericalMercator.projectForward);
>>> OpenLayers.Projection.addTransform("EPSG:4326", "EPSG:102113",
>>>       OpenLayers.Layer.SphericalMercator.projectForward);
>>> OpenLayers.Projection.addTransform("EPSG:4326", "EPSG:3785",
>>>       OpenLayers.Layer.SphericalMercator.projectForward);
>>>
>>> OpenLayers.Projection.addTransform("EPSG:3857", "EPSG:4326",
>>>       OpenLayers.Layer.SphericalMercator.projectInverse);
>>> OpenLayers.Projection.addTransform("EPSG:102113", "EPSG:4326",
>>>       OpenLayers.Layer.SphericalMercator.projectInverse);
>>> OpenLayers.Projection.addTransform("EPSG:3785", "EPSG:4326",
>>>       OpenLayers.Layer.SphericalMercator.projectInverse);
>>>
>>> Questions:
>>> - is this the way to support aliases for 900913 and support
>>> MousePosition and MeasureControl at the same time?
>>> - if yes, shouldn't the above lines be part of the standard OpenLayers
>>> distribution?
>>>
>>> Anne Blankert
>>>
>>>
>>> _______________________________________________
>>> Users mailing list
>>> Users at openlayers.org
>>> http://openlayers.org/mailman/listinfo/users
>>>
>>
>
>
>
>


-- 
Looking for flexible support on OpenLayers or GeoExt? Please check out
http://www.osgis.nl/support.html

Bart van den Eijnden
OSGIS
bartvde at osgis.nl




More information about the Users mailing list