Perform selections on WMS layers using Styled Layer Descriptor (SLD)
OpenLayers. | Perform selections on WMS layers using Styled Layer Descriptor (SLD) |
Constants | |
EVENT_TYPES | {Array(String)} Supported application event types. |
Properties | |
clearOnDeactivate | {Boolean} Should the selection be cleared when the control is deactivated. |
layers | {Array(OpenLayers.Layer.WMS)} The WMS layers this control will work on. |
callbacks | {Object} The functions that are sent to the handler for callback |
selectionSymbolizer | {Object} Determines the styling of the selected objects. |
layerOptions | {Object} The options to apply to the selection layer, by default the selection layer will be kept out of the layer switcher. |
handlerOptions | {Object} Used to set non-default properties on the control’s handler |
sketchStyle | {<OpenLayers.Style>|Object} Style or symbolizer to use for the sketch handler. |
wfsCache | {Object} Cache to use for storing parsed results from <OpenLayers.Format.WFSDescribeFeatureType.read>. |
layerCache | {Object} Cache to use for storing references to the selection layers. |
Constructor | |
OpenLayers. | Create a new control for selecting features in WMS layers using Styled Layer Descriptor (SLD). |
Functions | |
destroy | Take care of things that are not handled in superclass. |
coupleLayerVisiblity | Couple the selection layer and the source layer with respect to layer visibility. |
createSelectionLayer | Creates a “clone” from the source layer in which the selection can be drawn. |
createSLD | Create the SLD document for the layer using the supplied filters. |
parseDescribeLayer | Parse the SLD WMS DescribeLayer response and issue the corresponding WFS DescribeFeatureType request |
getGeometryAttributes | Look up the geometry attributes from the WFS DescribeFeatureType response |
activate | Activate the control. |
deactivate | Deactivate the control. |
setLayers | Set the layers on which the selection should be performed. |
createFilter | Create the filter to be used in the SLD. |
select | When the handler is done, use SLD_BODY on the selection layer to display the selection in the map. |
applySelection | Checks if all required wfs data is cached, and applies the selection |
{Array(String)} Supported application event types. Register a listener for a particular event with the following syntax:
control.events.register(type, obj, listener);
Listeners will be called with a reference to an event object. The properties of this event depends on exactly what happened.
Supported control event types (in addition to those from OpenLayers.Control): selected - Triggered when a selection occurs. Listeners receive an event with filters and layer properties. Filters will be an array of OpenLayers.Filter objects created in order to perform the particular selection.
{Array(OpenLayers.Layer.WMS)} The WMS layers this control will work on.
{<OpenLayers.Style>|Object} Style or symbolizer to use for the sketch handler. The recommended way of styling the sketch layer, however, is to configure an OpenLayers.StyleMap in the layerOptions of the handlerOptions:
new OpenLayers.Control.SLDSelect(OpenLayers.Handler.Path, { handlerOptions: { layerOptions: { styleMap: new OpenLayers.StyleMap({ "default": {strokeColor: "yellow"} }); } } });
{Object} Cache to use for storing references to the selection layers. Normally each source layer will have exactly 1 selection layer of type OpenLayers.Layer.WMS. If not provided, layers will be cached on the prototype. Note that if clearOnDeactivate is true, the layer will no longer be cached after deactivating the control.
Create a new control for selecting features in WMS layers using Styled Layer Descriptor (SLD).
handler | {OpenLayers.Class} A sketch handler class. This determines the type of selection, e.g. box (OpenLayers.Handler.Box), point (OpenLayers.Handler.Point), path (OpenLayers.Handler.Path) or polygon (OpenLayers.Handler.Polygon) selection. To use circle type selection, use OpenLayers.Handler.RegularPolygon and pass the number of desired sides (e.g. 40) as “sides” property to the handlerOptions. |
options | {Object} An object containing all configuration properties for the control. |
layers | Array({OpenLayers.Layer.WMS}) The layers to perform the selection on. |
createSelectionLayer: function( source )
Creates a “clone” from the source layer in which the selection can be drawn. This ensures both the source layer and the selection are visible and not only the selection.
source | {OpenLayers.Layer.WMS} The source layer on which the selection is performed. |
{OpenLayers.Layer.WMS} A WMS layer with maxGetUrlLength configured to 2048 since SLD selections can easily get quite long.
createSLD: function( layer, filters, geometryAttributes )
Create the SLD document for the layer using the supplied filters.
layer | {OpenLayers.Layer.WMS} |
filters | Array({OpenLayers.Filter}) The filters to be applied. |
geometryAttributes | Array({Object}) The geometry attributes of the layer. |
{String} The SLD document generated as a string.
getGeometryAttributes: function( layer )
Look up the geometry attributes from the WFS DescribeFeatureType response
layer | {OpenLayers.Layer.WMS} The layer for which to look up the geometry attributes. |
Array({Object}) Array of geometry attributes
setLayers: function( layers )
Set the layers on which the selection should be performed. Call the setLayers method if the layer(s) to be used change and the same control should be used on a new set of layers. If the control is already active, it will be active after the new set of layers is set.
layers | {Array(OpenLayers.Layer.WMS)} The new set of layers on which the selection should be performed. |
createFilter: function( geometryAttribute, geometry )
Create the filter to be used in the SLD.
geometryAttribute | {Object} Used to get the name of the geometry attribute which is needed for constructing the spatial filter. |
geometry | {OpenLayers.Geometry} The geometry to use. |
{OpenLayers.Filter.Spatial} The spatial filter created.
select: function( geometry )
When the handler is done, use SLD_BODY on the selection layer to display the selection in the map.
geometry | {Object} or {OpenLayers.Geometry} |
Take care of things that are not handled in superclass.
destroy: function()
Couple the selection layer and the source layer with respect to layer visibility.
coupleLayerVisiblity: function( evt )
Creates a “clone” from the source layer in which the selection can be drawn.
createSelectionLayer: function( source )
Create the SLD document for the layer using the supplied filters.
createSLD: function( layer, filters, geometryAttributes )
Parse the SLD WMS DescribeLayer response and issue the corresponding WFS DescribeFeatureType request
parseDescribeLayer: function( request )
Look up the geometry attributes from the WFS DescribeFeatureType response
getGeometryAttributes: function( layer )
Activate the control.
activate: function()
Deactivate the control.
deactivate: function()
Set the layers on which the selection should be performed.
setLayers: function( layers )
Create the filter to be used in the SLD.
createFilter: function( geometryAttribute, geometry )
When the handler is done, use SLD_BODY on the selection layer to display the selection in the map.
select: function( geometry )
Checks if all required wfs data is cached, and applies the selection
applySelection: function()