The ArcGIS REST map engine is similar to the ArcGIS Soap map engine but it utilises the ArcGIS REST API to communicate with ArcGIS, rather than the SOAP API used by the ArcGIS SOAP mapengine.
Namespace
urn:com.cohga.server.map.arcgis.ws#1.0
Tags
mapengine
Properties
Name | Type | Required | Default | Description |
id | string | yes | Unique identifier for this map engine, will be used by other items to refer to this map engine | |
url | string | yes | The URL used to connect to the ArcGIS server, e.g. | |
mapcache | boolean | no | false | Should a tile cache be used (if it's available). If this is false or not set then any tile cache generated for the map service won't be used |
username | string | no | A username to connect to the server as | |
password | string | no | A password to connect to the server as, should be encrypted using 'encrypt' at the OSGi prompt | |
usename | boolean | no | false | Use the layer name to refer to individual layers, especially useful when building a ToC model since the names don't change as often as the id. You should ensure that the layer name is unique if you set this to true. If not set or set to false then the layer identifiers for each layer (which are used in ToC models, amongst other things) will be taken from the order that the layer appears within the .mxd file, which can change if layers are added/removed from the .mxd file. If set to true then the label that appears in the .mxd file will be used as the identifier instead |
transparent | boolean | no | false | If true then ArcGIS is asked to generate an image that is transparent where no map data is drawn |
direct | boolean | no | false | If true then Weave will send the URL's returned from ArcGIS directly to the client rather than proxying them on behalf of ArcGIS. This will help performance if ArcGIS is accessed internally and the clients can access the URL's the ArcGIS returns. |
referer | string | no | Referer header value when sending HTTP requests to ArcGIS server (since com.cohga.server.map.arcgis.ws bundle version 2.38.48) This is useful if ArcGIS server filters all requests by header value by comparing the referer domain against a list of white-listed domains. | |
ignoregroups | boolean | no | true | Should Weave ignore the groups when working with ArcGIS map documents. When Weave works with map layers it only deals with the layers themselves, groups don't come into play until you start creating a ToC model, and even then the grouping in ToC models is not used when referring to map layers (they're only used internally on the client to turn on/off a collection of individual layers). Normally this works fine for ArcGIS as Weave will ensure that if a layer is "visible", then all of its parent groups (on the ArcGIS side) will also be turned on. This ensures that the layer is actually visible (as a layer won't be displayed if it's visible but one or more of its parents aren't). This way you can setup your AGS map document however you want (with or without groups) and have the Weave ToC model be the single source of group related information for the ToC panel, and then Weave will ensure that the map layers that need to be drawn are drawn. However, sometimes it's desirable to have Weave recognize the groups (that's the ArcGIS map document groups, not ToC model groups) and have them treated as layers. By setting |
Sub-tags
Name | Type | Cardinality |
layers | urn:layers | 0..1 |
legend | urn:legend | 0..1 |
Content
None
layers
Properties
None
Sub-tags
Name | Type | Cardinality |
remove | urn:remove | 0..1 |
layer | urn:layer | 0..n |
Content
None
remove
Properties
None
Sub-tags
Name | Type | Cardinality |
layer | urn:layer | 0..n |
Content
None
layer
Properties
Name | Type | Required | Description |
id | number | no | The id of the layer to match |
name | string | no | The name of the layer to match |
Sub-tags
None
Content
The id or name, depending upon the usename
property, of the layer to match
Notes
- The
layer
tag support two formats, one using theid
and/orname
attributes and the other using the tags content - Either one or both of the
id
and/orname
attributes must be set OR tag content must be provided - If the content of the
layer
tag is used then the value of theusename
property determines if the content should match the layer id or the layer name - Both the
id
andname
attributes can be set, but they must match both values for the layer that you're trying to filter or they won't match the layer
legend
Alter the display of the legend
Properties
None
Sub-tags
Name | Type | Cardinality |
alias | urn:aliases | 0..1 |
Content
None
aliases
List the new labels to be displayed for a layer
Properties
None
Sub-tags
Name | Type | Cardinality |
alias | urn:alias | 0..n |
Content
None
alias
A single label change for a layer
Properties
Name | Type | Required | Description |
id | string | yes | The id of the layer to change |
label | string | yes | The label to display |
Sub-tags
None
Content
None
Examples
Simple ArcGIS definition
<arcgisws:mapengine id="arcgis.topo"> <url>http://vmbreakout:6080/arcgis/rest/services/Topo250/MapServer</url> </arcgisws:mapengine>
ArcGIS definition overriding CRS returned, asking for a transparent image and using the layer names, rather than order, as the unique identifier for a layer
<arcgisws:mapengine id="arcgis.roads"> <url>http://vmbreakout:6080/arcgis/rest/services/Roads/MapServer</url> <crs>EPSG:28355</crs> <transparent>true</transparent> <usename>true</usename> </arcgisws:mapengine>