OpenLayers.Control.Split

Acts as a split feature agent while editing vector features.

Inherits from

  • <OpenLayers.Control>
Summary
OpenLayers.Control.SplitActs as a split feature agent while editing vector features.
Properties
source{<OpenLayers.Layer.Vector>} Optional source layer.
sourceOptions{Options} If a temporary sketch layer is created, these layer options will be applied.
handler{<OpenLayers.Handler.Path>} The temporary sketch handler created if no source layer is provided.
Functions
OpenLayers.Control.SplitCreates a new split control.
onSketchCompleteRegistered as a listener for the sketchcomplete event on the editable layer.
afterFeatureModifiedRegistered as a listener for the afterfeaturemodified event on the editable layer.
removeByGeometryRemove a feature from a list based on the given geometry.
isEligibleTest if a target feature is eligible for splitting.
considerSplitDecide whether or not to split target features with the supplied feature.
geomsToFeaturesCreate new features given a template feature and a list of geometries.
destroyClean up the control.

Properties

source

{<OpenLayers.Layer.Vector>} Optional source layer.  Any newly created or modified features from this layer will be used to split features on the target layer.  If not provided, a temporary sketch layer will be created.

sourceOptions

{Options} If a temporary sketch layer is created, these layer options will be applied.

handler

{<OpenLayers.Handler.Path>} The temporary sketch handler created if no source layer is provided.

Functions

OpenLayers.Control.Split

Creates a new split control.  A control is constructed with a target layer and an optional source layer.  While the control is active, creating new features or modifying existing features on the source layer will result in splitting any eligible features on the target layer.  If no source layer is provided, a temporary sketch layer will be created to create lines for splitting features on the target.

Parameters

options{Object} An object containing all configuration properties for the control.

Valid options

layer{OpenLayers.Layer.Vector} The target layer.  Features from this layer will be split by new or modified features on the source layer or temporary sketch layer.
source{OpenLayers.Layer.Vector} Optional source layer.  If provided newly created features or modified features will be used to split features on the target layer.  If not provided, a temporary sketch layer will be created for drawing lines.
tolerance{Number} Optional value for the distance between a source vertex and the calculated intersection below which the split will occur at the vertex.
edge{Boolean} Allow splits given intersection of edges only.  Default is true.  If false, a vertex on the source must be within the <tolerance> distance of the calculated intersection for a split to occur.
mutual{Boolean} If source and target are the same, split source features and target features where they intersect.  Default is true.  If false, only target features will be split.
targetFilter{OpenLayers.Filter} Optional filter that will be evaluated to determine if a feature from the target layer is eligible for splitting.
sourceFilter{OpenLayers.Filter} Optional filter that will be evaluated to determine if a feature from the target layer is eligible for splitting.

onSketchComplete

onSketchComplete: function(event)

Registered as a listener for the sketchcomplete event on the editable layer.

Parameters

event{Object} The sketch complete event.

Returns

{Boolean} Stop the sketch from being added to the layer (it has been split).

afterFeatureModified

afterFeatureModified: function(event)

Registered as a listener for the afterfeaturemodified event on the editable layer.

Parameters

event{Object} The after feature modified event.

removeByGeometry

removeByGeometry: function(features,
geometry)

Remove a feature from a list based on the given geometry.

Parameters

features{Array(<OpenLayers.Feature.Vector>)} A list of features.
geometry{<OpenLayers.Geometry>} A geometry.

isEligible

isEligible: function(target)

Test if a target feature is eligible for splitting.

Parameters

target{<OpenLayers.Feature.Vector>} The target feature.

Returns

{Boolean} The target is eligible for splitting.

considerSplit

considerSplit: function(feature)

Decide whether or not to split target features with the supplied feature.  If <mutual> is true, both the source and target features will be split if eligible.

Parameters

feature{<OpenLayers.Feature.Vector>} The newly created or modified feature.

Returns

{Boolean} The supplied feature was split (and destroyed).

geomsToFeatures

geomsToFeatures: function(feature,
geoms)

Create new features given a template feature and a list of geometries.  The list of geometries is modified in place.  The result will be a list of new features.

Parameters

feature{<OpenLayers.Feature.Vector>} The feature to be cloned.
geoms{Array(<OpenLayers.Geometry>)} List of goemetries.  This will become a list of new features.

destroy

destroy: function()

Clean up the control.

onSketchComplete: function(event)
Registered as a listener for the sketchcomplete event on the editable layer.
afterFeatureModified: function(event)
Registered as a listener for the afterfeaturemodified event on the editable layer.
removeByGeometry: function(features,
geometry)
Remove a feature from a list based on the given geometry.
isEligible: function(target)
Test if a target feature is eligible for splitting.
considerSplit: function(feature)
Decide whether or not to split target features with the supplied feature.
geomsToFeatures: function(feature,
geoms)
Create new features given a template feature and a list of geometries.
destroy: function()
Clean up the control.
Close