Subscribe Bookmark RSS Feed

Help with using WMS files for creating background maps?

elliot_meador_s

Community Trekker

Joined:

Jul 27, 2016

I can't seem to get this URL to work in the background map for bubble plot or graph builder.  Data Zone Boundaries 2011 - Datasets

1 ACCEPTED SOLUTION

Accepted Solutions
Solution

Ok, I figured out the issue. The URL you provided is in fact a WMS server and the layer you are using is also valid. So your parameters are legitimate values for a legitimate WMS server. The issue is that the server requires an additional parameter on the map request. The parameter is service=CSW. JMP generates the map request by using the URL and layer you provide and then appends all the required WMS parameters, such as bounding box. The service parameter is required on a Get Capabilities request but not on a Get Map request. So I don't know why this server even expects that parameter to be there, much less requires it. So JMP doesn't know to add this parameter and even if it did it wouldn't know what the valid value is for the server. Bottom line is this server is not going to work with the current version of JMP because it is requiring a parameter / value pair that JMP doesn't know about.

I will consider modifying the WMS feature to allow a way for users to input additional parameters that a server might want but JMP would not know about. This would help with situations like this one. However that would not be available until a future version of JMP. If you have connections with the server provider, you could ask that they change the server to provide a default value for this parameter when one is not provided on the request. In fact, the only valid value for that parameter is CSW. So if the service provider used that as a default value then it would always be the right value. That way any request coming in that doesn't provide that parameter would have it appended with the correct value and your request would get handled properly.

9 REPLIES
txnelson

Super User

Joined:

Jun 22, 2012

I opened the link you provided.  I assume that you actually want to use the WMS link that is referenced on the page you specified?

Jim
elliot_meador_s

Community Trekker

Joined:

Jul 27, 2016

Hi Jim, yes I'd like to use the link specified on that page.  I get no results when I put it in the URL box on background maps.  I am also specifying a layer that shows in the WMS explorer add-on.

JohnPonte

Staff

Joined:

Jun 17, 2013

The link you provided isn't a WMS server but rather a web page (as Jim pointed out). There is a link on that page but I'm not sure that is a link to a WMS server either. Can you tell me the URL you are actually putting into the WMS field on the background map dialog?

You mentioned you are using a layer that shows in the WMS Explorer Add-In. If you can get to the server in the WMS explorer and see an actual layer, then right-mouse-click in the graph in the WMS explorer and select Background Map. That should show you the URL and layer name that you would use in JMP. In fact, the WMS Explorer Add-In IS a JMP window too so it should work exactly the same way in JMP as in the Add-In.

elliot_meador_s

Community Trekker

Joined:

Jul 27, 2016

Hi John,

Thanks for your reply.  The WMS does not seem to be working at all.  This includes using any normal WMS url.  Have you had any trouble with this?

Bests,

Elliot

JohnPonte

Staff

Joined:

Jun 17, 2013

I just ran version 12.2 and I was able to get a background map using a WMS server that provides maps for North Carolina. (My data table shows Raleigh crime data on top of the map). Here is the WMS url and layer that I used in the background map dialog:

URL: http://services.nconemap.com/arcgis/services/Imagery/Orthoimagery_Latest/ImageServer/WMSServer

Layer: Orthoimagery_Latest

Note, you will want to zoom in on North Carolina to see the map, since the server only provides maps for North Carolina. If you are zoomed out to view the whole world you will not see a map since WMS servers often times only produce maps at appropriate zoom levels.

Let me share a few thoughts about the WMS option in JMP, for the benefit of anyone who comes across this thread. First of all, not all mapping servers are WMS servers. WMS stands for Web Mapping Service and it is a specific API that allows communication between the application and the mapping server. Many servers that provide maps do not provide the service through the WMS API. Secondly, most WMS servers do not provide maps for the whole world and/or for every zoom level. As in my example above, when I was zoomed out to view the whole world I was not seeing any map. That is because that particular server only provides maps for the state of North Carolina (US) and I needed to be zoomed in on the state. So even a legitimate WMS server and layer is not always going to produce a map. It will be dependent on your view. The WMS Explorer Add-In​ attempts to help you figure out whether or not your URL is a legitimate WMS server and if so it helps you discover what layers the server supports. You can zoom in on your view in the Add-In to see if it will produce a map or not, based on your view.

If you want to send me the URL (and layer) you are trying to use I can confirm for you whether or not it is a true WMS server or not. If you don't want to publish the URL in this thread you can send it to me through a private message or directly to my email.


elliot_meador_s

Community Trekker

Joined:

Jul 27, 2016

Hi John,

I’m trying to use this URL http://sedsh127.sedsh.gov.uk/arcgis/rest/services/ScotGov/StatisticalUnits/MapServer/exts/InspireView/service

I’d like to use the Data_Zones__2011_ layer, but I’d really be happy just having any layer show up.

Cheers,

Elliot

Solution

Ok, I figured out the issue. The URL you provided is in fact a WMS server and the layer you are using is also valid. So your parameters are legitimate values for a legitimate WMS server. The issue is that the server requires an additional parameter on the map request. The parameter is service=CSW. JMP generates the map request by using the URL and layer you provide and then appends all the required WMS parameters, such as bounding box. The service parameter is required on a Get Capabilities request but not on a Get Map request. So I don't know why this server even expects that parameter to be there, much less requires it. So JMP doesn't know to add this parameter and even if it did it wouldn't know what the valid value is for the server. Bottom line is this server is not going to work with the current version of JMP because it is requiring a parameter / value pair that JMP doesn't know about.

I will consider modifying the WMS feature to allow a way for users to input additional parameters that a server might want but JMP would not know about. This would help with situations like this one. However that would not be available until a future version of JMP. If you have connections with the server provider, you could ask that they change the server to provide a default value for this parameter when one is not provided on the request. In fact, the only valid value for that parameter is CSW. So if the service provider used that as a default value then it would always be the right value. That way any request coming in that doesn't provide that parameter would have it appended with the correct value and your request would get handled properly.

elliot_meador_s

Community Trekker

Joined:

Jul 27, 2016

Hi John,

Thanks for your thorough reply and answer.  I think for now I'm going to try some ESRI premium WMS links.  Hopefully these will work.  I'm in the process of ordering a premium JMP license for our university.  The WMS links on Scottish Spatial Data Infrastructure are used extensively for our research. I suppose other Scottish universities using JMP will likely run into a similar problem with these files?  Once I get around to using the ESRI links I'll post some results to my account showcasing what the software is capable of doing. 

Thanks again for looking into this,

Elliot

JohnPonte

Staff

Joined:

Jun 17, 2013

This isn't the first time a customer tried using a WMS server that was requiring something different than the WMS api specified. So for that reason I decided to modify the way JMP generates the map request. Now the request will allow the user to add additional options and parameters to the URL and JMP will then generate the remainder of the URL request as it always has. I just tested this new change with your case Elliot and it worked. I was able to get maps from the WMS server you are trying to use. I just pushed this change into the version 13.1 code base. Unfortunately you will have to wait for the release of version 13.1 to get this change but since version 13 was just released (yea!) 13.1 will be the next release. I think this change will be useful to others as well. Let me know if/when you get v13.1 and I'll be glad to help you get it working.

This is a map of Scotland in JMP, using the WMS server URL and layer specified.

12741_scotland.jpg