Copyright © 2006 Open Geospatial Consortium – All rights reserved
39
10.2.4 Poor Quality of Service
Experience has shown that the amount of layers in, mostly in Cubewerx WMS instances, is astounding. The Capabilities document takes a long time to download and parse, and
the user is often overwhelmed by the selection of layers they can choose from.
In Cubewerx instances, because these layers are often cascaded, GetMap requests can often be very slow, or can even fail entirely if the original host server is down. While
these instances are to be considered stateless and a subsequent Capabillities request will show these layers removed it is often too late from the perspective of an end-user.
There is no way to determine the quality of service behind a cascaded layer, and this can provide problems for users of Integrated Clients.
10.3 Implementation Comments
10.3.1 Intergraph
Since the Intergraph client is built on the commercially available GIS platform known as GeoMedia Professional, it is able to utilize existing interoperability components that
allow for direct access to a WMS. The architecture for GeoMedia allows a user to connect to the native WMS data through a dataserver component. This component
handles all initiation of requests and interpretation of responses from the native data format.
The user supplies the WMS endpoint to the connection service and the service makes a GetCapabilities request as the initial communication to the service. The list of available
layers are then presented to the user. If the user wishes to view the data, for example, he or she will select the appropriate layers to be displayed and the appropriate GetMap
requests are made and the returned image is displayed in a MapView window.
10.3.2 Refractions Research
Use of WMS is straight forward in the Refractions GeoDSS client REFRACTIONS GEODSS CLIENT; a WMS capabilities URL may be dragged directly onto a map or
supplied using a wizard. A series of WMS layers may be selected. Individual WMS layers also appear as the result of a search operation and may be dragged into the legend
view directly.
Web Map Service support in Refractions GeoDSS client was implemented in the GeoTools project, leveraging other code available to provide support for coordinate
reference systems and XML parsing. The rendering system detects when WMS Layers from the same server are next to each other and will collapse these down to a single
request.
40
Copyright © 2006 Open Geospatial Consortium – All rights reserved
+GetCapabilities +GetMap
+GetFeatureInfo +GetLegendGraphics
+GetStyles +PutStyles
WebMapServer
+createDescribeLayerRequests +createGetCapabilitiesRequest
+createGetFeatureInfoRequest +createGetStylesRequest
+createPutStylesRequest -capabilities : URL
-getmap : URL
WMSSpecification
WMS1.0
-getFeatureInfo -getLegendGraphics
-getStyles -putStyles
WMS1.1
-getFeatureInfo -getLegendGraphics
-getStyles -putStyles
WMS1.1.1
-getFeatureInfo -getLegendGraphics
-getStyles -putStyles
WMS1.3
Figure 12 GeoTools Web Map Server Specification Support
In order to deal with the plentiful but subtle differences between the WMS specifications and improper server instances, we implemented a strategy object system that adapts itself
to the current version of the server it is communicating with. The client performs version negotiation with the servers until it detects a version it can communicate with, or breaks
off contact.
A separate technology was used to parse the XML responses from WMS which provides flexible support for the multiple versions of Capabilities document. It also tries to be as
lenient as possible when it encounters nonconforming servers.
While the code in GeoTools provides support for all WMS versions, Refractions GeoDSS client does not use WMS 1.3.0, due to problems with EPSG:4326, noted in section
10.2.2.1.
10.4 Recommendations