Description
It is requested to improve on the interoperability to support better ArcGIS services in MapStore. This issue involves two main activities for which the following task is in common:
| subtasks |
| Support of tokens for private layers - MapStore token support |
ArcGIS WMS Server interoperability for GetFeatureInfo requests
Thanks to #9048, the serverType property has been recently added in MapStore to define which type of server is providing the WMS service.
It should be possible to use this option to exclude the exceptions parameter not supported in an ArcGIS WMS service.
During the development phase it is requested to evaluate if it is necessary an additional serverType or the NO_VENDOR type used also by other services is enough.
Possibly also hide some functionalities not supported by WMS endpoint that does not support GetFeatureInfo application/json responses with geometry, to do so it is necessary also to store the information related to the list of supported get feature info responses.
Some notes about findings from the preliminary investigation:
- It seems that the DescribeLayer request used by MapStore to add the search parameter with WFS functionality is not supported in the ArcGIS WMS service. This means is not possible to associate a WFS service with a WMS programmatically in addition some tests done on
agsnotfed2/rest/services/Test/country_4m/MapServer show that the WMS/WFS capabilities endpoint used two different name for the layer (0/country_4m:apgispaudw.common_data.country_4m) and this makes even difficult to associate them manually (but maybe this is only a configuration problem).
Involved sub tasks are:
| subtasks |
| Review WMS get feature info request based on server type |
| Hide the highlight feature icon of get feature info plugin if GeoJSON response is not supported. This include work related to the storing of additional information in the layer config or alternative strategy |
ArcGIS MapServer Catalog and Layer support
The work for this task focus on the support of ArcGIS MapServer endpoints inside MapStore. The task should include following improvement inside MapStore:
- New catalog type for ArcGIS MapServer endpoint with the possibility to list layers and add them to the map
- New ArcGIS MapServer layer type implementations for OpenLayers, Cesium and Leaflet with the default lifecycle
- Support of base layer settings: opacity, visibility, title, description, group and visibility limits
- Support of get feature info using the /query endpoint
Some notes about findings from the preliminary investigation:
- A MapServer endpoint could provide a single layer or multiple layer that could compose a layer group. It is requested to evaluate in the development phase if the information about
subLayerIds and parentLayerId have effect on the visualization in map
- It shoud lbe possible to use
maxScale and minScale properties of a layer to set the visibility limits. In general we should take a look to all the property available in the layer object
- It is possible to send a request to
/MapServer/{layerId} to get additional information about the specific layer
- It is possible to use the query endpoint
/MapServer/{layerId}/query (POST) for Get Feature Info
Involved sub tasks are:
| subtasks |
| Support of ArcGIS MapServer endpoint in MapStore: catalog, layer visualization, get feature info and base layer settings |
Acceptance criteria
Other useful information
Here a branch where a base implementation sa been tested during the preliminary evaluation of this work. That should be completely refactored to be accepted in MapStore, take this just as a prototype.
Description
It is requested to improve on the interoperability to support better ArcGIS services in MapStore. This issue involves two main activities for which the following task is in common:
ArcGIS WMS Server interoperability for GetFeatureInfo requests
Thanks to #9048, the
serverTypeproperty has been recently added in MapStore to define which type of server is providing the WMS service.It should be possible to use this option to exclude the
exceptionsparameter not supported in an ArcGIS WMS service.During the development phase it is requested to evaluate if it is necessary an additional serverType or the
NO_VENDORtype used also by other services is enough.Possibly also hide some functionalities not supported by WMS endpoint that does not support GetFeatureInfo application/json responses with geometry, to do so it is necessary also to store the information related to the list of supported get feature info responses.
Some notes about findings from the preliminary investigation:
agsnotfed2/rest/services/Test/country_4m/MapServershow that the WMS/WFS capabilities endpoint used two different name for the layer (0/country_4m:apgispaudw.common_data.country_4m) and this makes even difficult to associate them manually (but maybe this is only a configuration problem).Involved sub tasks are:
ArcGIS MapServer Catalog and Layer support
The work for this task focus on the support of ArcGIS MapServer endpoints inside MapStore. The task should include following improvement inside MapStore:
Some notes about findings from the preliminary investigation:
subLayerIdsandparentLayerIdhave effect on the visualization in mapmaxScaleandminScaleproperties of a layer to set the visibility limits. In general we should take a look to all the property available in the layer object/MapServer/{layerId}to get additional information about the specific layer/MapServer/{layerId}/query(POST) for Get Feature InfoInvolved sub tasks are:
Acceptance criteria
Other useful information
Here a branch where a base implementation sa been tested during the preliminary evaluation of this work. That should be completely refactored to be accepted in MapStore, take this just as a prototype.