ArcGIS Online continues to improve its ability to work with Open Geospatial Services like WMS, WFS and WMTS. As part of the September update to ArcGIS Online, the map viewer brings together a couple of new enhancements. It is now possible to selectively add specific layers from a WMS service to the map viewer. It is also now possible to append custom parameters to the requests sent to OGC services. The custom parameters are key-value pairs that can be appended to the request.
Custom parameters have many uses. At a simple level, imagine the need to send additional parameters to a WMS service to support additional styles, either through the use of a style parameter by calling out a style or using the style layer descriptor (SLD) parameter to point to a web-accessible SLD file. These parameters and their values can now be added as custom parameters. Typically, any information exchange between a WMS client and a WMS server relies on multiple handshakes over HTTPS. A GetCapabilities request provides service level metadata, a GetMap request then actually allows the server to respond with a map image, and a GetFeatureInfo call is used for feature identification. When it comes to custom parameters, some parameters should be sent with all requests, whereas some parameters make sense only with requests that rely on drawing or querying layers. The map viewer’s custom parameters interface understands and allows for this. The table and screen grab below show how you can input the custom parameters.
Table: Sample values for a WMS service URL that supports multiple styles.
Figure: A screen capture of the user interface for leveraging style information. This also showcases the ability to selectively add layers.
Custom parameters can also be used in scenarios where the server expects some form of token to be appended to a URL. Also, when the service offers multi-dimensional support, it might be possible to interrogate the service offerings to respond with maps / tiles corresponding to specific dimensional values (for example, time, elevation).
Many vendors’ OGC service implementations also support vendor-specific parameters that allow users to leverage functionality that go beyond the capabilities listed as part of the OGC standard. Custom parameters provide users a mechanism to append these vendor-specific parameters to their service requests.
The uses for custom parameters are clearly very many. The goal behind our implementation was primarily to empower our users by providing more flexibility even when using out-of-the-box client tools. As always, feel free to employ these techniques across the many OGC services that you deal with, and let us know if you would like us to modify, improve or extend some of these ideas.