[OpenLayers-Users] WMS from ArcGIS Server on top of google maps -Parameter 'srs' contains unacceptable value.

Arnd Wippermann arnd.wippermann at web.de
Tue Mar 2 13:54:56 EST 2010


Hi,
 
i use this code to be able to pass a different projection code to the getFullRequestString of the Layer.WMS. 
 
If in the options for the Layer.WMS projection is set, then it will be used instead of the map.projection.
 
OpenLayers.Layer.WMS.prototype.getFullRequestString = function(newParams,altUrl)
{
    try{
        var projectionCode=typeof this.options.projection == 'undefined' ? this.map.getProjection() : this.options.projection;
    }catch(err){
        var projectionCode=this.map.getProjection();
    }
    this.params.SRS = projectionCode=="none" ? null : projectionCode;
 
    return OpenLayers.Layer.Grid.prototype.getFullRequestString.apply(this,arguments);
}
 
Arnd

 
  _____  

Von: users-bounces at openlayers.org [mailto:users-bounces at openlayers.org] Im Auftrag von Philipp Gaertner
Gesendet: Dienstag, 2. März 2010 03:05
An: users at openlayers.org
Betreff: [OpenLayers-Users] WMS from ArcGIS Server on top of google maps -Parameter 'srs' contains unacceptable value.


Hi list, 

I have a layer of the states and territories of Australia and would like to overlay it on google maps using openlayers. 

The Australia layer is a WMS which is on my ArcGIS Server. I use EPSG:102113 which represents in the ESRI world the WGS_1984_Web_Mercator.

The WMS has following capabilities:

<Layer queryable="1">
<Name>0</Name>
<Title>StateBoundaries_1</Title>
<Abstract>StateBoundaries_1</Abstract>
<CRS>CRS:84</CRS>
<CRS>EPSG:4326</CRS>
<CRS>EPSG:102113</CRS>
−
<EX_GeographicBoundingBox>
<westBoundLongitude>0.000870</westBoundLongitude>
<eastBoundLongitude>0.001429</eastBoundLongitude>
<southBoundLatitude>-0.000393</southBoundLatitude>
<northBoundLatitude>-0.000082</northBoundLatitude>
</EX_GeographicBoundingBox>
<BoundingBox CRS="CRS:84" minx="0.000870" miny="-0.000393" maxx="0.001429" maxy="-0.000082"/>
<BoundingBox CRS="EPSG:4326" minx="-0.000393" miny="0.000870" maxx="-0.000082" maxy="0.001429"/>
<BoundingBox CRS="EPSG:102113" minx="96.816766" miny="-43.740510" maxx="159.109219" maxy="-9.142176"/>

the openlayer setup looks like this 

var geographic = new OpenLayers.Projection("EPSG:4326");
var mercator = new OpenLayers.Projection("EPSG:900913"); //aka  EPSG:3785
var gda94 = new OpenLayers.Projection("EPSG:4283");


var world = new OpenLayers.Bounds(-20037508.34,-20037508.34,20037508.34,20037508.34)
var mapOptions = {
projection: mercator,
displayProjection: geographic, //for Mouse Position
maxExtent: world,
restrictedExtent: world,
units: 'm',
        numZoomLevels: 22,
        maxResolution: 156543.0339,
controls: [new OpenLayers.Control.PanZoomBar(),
new OpenLayers.Control.KeyboardDefaults()] 
};


var map = new OpenLayers.Map( 'map', mapOptions );


//Google Physical
var gphy = new OpenLayers.Layer.Google("Google Physical",
                {type: G_PHYSICAL_MAP,
sphericalMercator: true,  
isBaseLayer: true,
numZoomLevels: 22,
maxExtent: new OpenLayers.Bounds(-20037508.34,-20037508.34,20037508.34,20037508.34)
});
map.addLayer(gphy); 

var boundaries = new OpenLayers.Layer.WMS( "Boundaries", 
"http://ag-0988a/ArcGIS/services/StateBoundaries_WGS84_WM_102113/MapServer/WMSServer?",
{layers: '0',//srs: 'EPSG:102113', 
format: 'image/png',
transparent: true
},{
visibility: true, 
isBaseLayer: false, 
singleTile: false 
} 
);
map.addLayer(boundaries); 


The error message is Parameter 'srs' contains unacceptable value.


I know that the google layer is defined with EPSG:900913 and my WMS has EPSG:102113, but I can't set the EPSG to 900913 because ESRI doesn't support it. 
How do I go from here, what are my options? I need to use Google as baselayer but can reproject all WMS as I like. 


Any suggestions are more than welcome. 


Regards, Philipp

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/openlayers-users/attachments/20100302/3d1234b9/attachment.html


More information about the Users mailing list