OpenLayers. Control. SLDSelect

Perform selections on WMS layers using Styled Layer Descriptor (SLD)

Inherits from

Summary
OpenLayers. Control. SLDSelectPerform 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. Control. SLDSelectCreate a new control for selecting features in WMS layers using Styled Layer Descriptor (SLD).
Functions
destroyTake care of things that are not handled in superclass.
coupleLayerVisiblityCouple the selection layer and the source layer with respect to layer visibility.
createSelectionLayerCreates a “clone” from the source layer in which the selection can be drawn.
createSLDCreate the SLD document for the layer using the supplied filters.
parseDescribeLayerParse the SLD WMS DescribeLayer response and issue the corresponding WFS DescribeFeatureType request
getGeometryAttributesLook up the geometry attributes from the WFS DescribeFeatureType response
activateActivate the control.
deactivateDeactivate the control.
setLayersSet the layers on which the selection should be performed.
createFilterCreate the filter to be used in the SLD.
selectWhen the handler is done, use SLD_BODY on the selection layer to display the selection in the map.
applySelectionChecks if all required wfs data is cached, and applies the selection

Constants

EVENT_TYPES

{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.

Properties

clearOnDeactivate

{Boolean} Should the selection be cleared when the control is deactivated.  Default value is false.

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.  Default is a selection in red.

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.  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"}
            });
        }
    }
});

wfsCache

{Object} Cache to use for storing parsed results from <OpenLayers.Format.WFSDescribeFeatureType.read>.  If not provided, these will be cached on the prototype.

layerCache

{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.Post.  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.

Constructor

OpenLayers. Control. SLDSelect

Create a new control for selecting features in WMS layers using Styled Layer Descriptor (SLD).

Parameters

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.

Valid options

layersArray({OpenLayers.Layer.WMS}) The layers to perform the selection on.

Functions

destroy

destroy: function()

Take care of things that are not handled in superclass.

coupleLayerVisiblity

coupleLayerVisiblity: function(evt)

Couple the selection layer and the source layer with respect to layer visibility.  So if the source layer is turned off, the selection layer is also turned off.

Parameters

evt{Object}

createSelectionLayer

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.

Parameters

source{OpenLayers.Layer.WMS} The source layer on which the selection is performed.

Returns

{OpenLayers.Layer.WMS.Post} A WMS Post layer since SLD selections can easily get quite long.

createSLD

createSLD: function(layer,
filters,
geometryAttributes)

Create the SLD document for the layer using the supplied filters.

Parameters

layer{OpenLayers.Layer.WMS}
filtersArray({OpenLayers.Filter}) The filters to be applied.
geometryAttributesArray({Object}) The geometry attributes of the layer.

Returns

{String} The SLD document generated as a string.

parseDescribeLayer

parseDescribeLayer: function(request)

Parse the SLD WMS DescribeLayer response and issue the corresponding WFS DescribeFeatureType request

request{XMLHttpRequest} The request object.

getGeometryAttributes

getGeometryAttributes: function(layer)

Look up the geometry attributes from the WFS DescribeFeatureType response

Parameters

layer{OpenLayers.Layer.WMS} The layer for which to look up the geometry attributes.

Returns

Array({Object}) Array of geometry attributes

activate

activate: function()

Activate the control.  Activating the control will perform a SLD WMS DescribeLayer request followed by a WFS DescribeFeatureType request so that the proper symbolizers can be chosen based on the geometry type.

deactivate

deactivate: function()

Deactivate the control.  If clearOnDeactivate is true, remove the selection layer(s).

setLayers

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.

Parameters

layers{Array(OpenLayers.Layer.WMS)} The new set of layers on which the selection should be performed.

createFilter

createFilter: function(geometryAttribute,
geometry)

Create the filter to be used in the SLD.

Parameters

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.

Returns

{OpenLayers.Filter.Spatial} The spatial filter created.

select

select: function(geometry)

When the handler is done, use SLD_BODY on the selection layer to display the selection in the map.

Parameters

geometry{Object} or {OpenLayers.Geometry}

applySelection

applySelection: function()

Checks if all required wfs data is cached, and applies the selection

Instances of OpenLayers.Layer.WMS are used to display data from OGC Web Mapping Services.
destroy: function()
Take care of things that are not handled in superclass.
coupleLayerVisiblity: function(evt)
Couple the selection layer and the source layer with respect to layer visibility.
createSelectionLayer: function(source)
Creates a “clone” from the source layer in which the selection can be drawn.
createSLD: function(layer,
filters,
geometryAttributes)
Create the SLD document for the layer using the supplied filters.
parseDescribeLayer: function(request)
Parse the SLD WMS DescribeLayer response and issue the corresponding WFS DescribeFeatureType request
getGeometryAttributes: function(layer)
Look up the geometry attributes from the WFS DescribeFeatureType response
activate: function()
Activate the control.
deactivate: function()
Deactivate the control.
setLayers: function(layers)
Set the layers on which the selection should be performed.
createFilter: function(geometryAttribute,
geometry)
Create the filter to be used in the SLD.
select: function(geometry)
When the handler is done, use SLD_BODY on the selection layer to display the selection in the map.
applySelection: function()
Checks if all required wfs data is cached, and applies the selection
Controls affect the display or behavior of the map.
{Object} Used to set non-default properties on the control’s handler
{Boolean} Should the selection be cleared when the control is deactivated.
Base class used to construct all other classes.
Handler for dragging a rectangle across the map.
Handler to draw a point on the map.
Handler to draw a path on the map.
Handler to draw a polygon on the map.
Handler to draw a regular polygon on the map.
Instances of OpenLayers.Layer.WMS.Post are used to retrieve data from OGC Web Mapping Services via HTTP-POST (application/x-www-form-urlencoded).
This class represents an OGC Filter.
A Geometry is a description of a geographic object.
This class represents a spatial filter.
Close