0

I've been struggling with this for over a week. I'm using the ArcGIS Javascript API to create a basic map application, and I'm trying to add a WMS layer from my geoserver to this application. The problem is that the basic map app I'm working with is using an ESRI basemap with spatial reference ESRI:102100. My wms layer is using spatial reference EPSG:4326. See my other question for more details about this: ArcGIS Javascript API - How to define spatial reference for WMS layer?

When I run my application I get this error:

<ServiceExceptionReport xmlns="http://www.opengis.net/ogc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.3.0" xsi:schemaLocation="http://www.opengis.net/ogc http://localhost:8040/geoserver/schemas/wms/1.3.0/exceptions_1_3_0.xsd">
<ServiceException code="InvalidCRS">
Error occurred decoding the espg code urn:x-ogc:def:crs:EPSG:102100 No code "EPSG:102100" from authority "European Petroleum Survey Group" found for object of type "IdentifiedObject".
</ServiceException>
</ServiceExceptionReport>

I tried to add ESRI:102100 as a custom CRS to my Geoserver (by editing the epsg.properties file), but it adds it as EPSG:102100 which is not a valid epsg code according to the error message I'm getting. Anybody know how to get Geoserver to recognize ESRI:102100? Or, anybody know how to properly define a wms layer from a geoserver in ArcGIS Javascript API?

  • 1
    Think you need 3857 gis.stackexchange.com/questions/86301/… – Mapperz Apr 3 '15 at 21:35
  • Does this document help: docs.geoserver.org/latest/en/user/advanced/crshandling/… ? – Devdatta Tengshe Apr 6 '15 at 4:51
  • Thanks for the quick replies! Devdatta - that is the document that I originally found and followed when trying to add ESRI:102100 to my geoserver. Mapperz - I've changed my layer to 3857, but I still get the same error message when I run my test app. It seems like it's an issue with Geoserver and it's ability to recognize 102100 as a valid CRS. I'm using ESRI ArcGIS Javascript api for my test app, and I'm using one of the ESRI basemaps as my main map. I've used ESRI ArcGIS map apps in the past with Geoserver, but I wasn't the one to set it up so I'm not sure what I'm doing wrong. – Jason Apr 8 '15 at 14:11
0

So I finally found the solution to this problem. You have to override the spatialReferences array of the WMSLayer object right before adding it to the map.

wmsLayer.spatialReferences[0] = 3857;
map.addLayers([wmsLayer]);

This worked with a layer using EPSG:3857 and another layer using ESPG:4326.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.