wfsvector
Description
WfsVectorLayerPlugin is an alternative implementation of mapwfs2 that uses MVT vector tiles or geojson as data transfer mechanism.
Requires module control-mvt
to be in use in the backend. Currently supports functionalities:
- Displays WFS layer features on the map
- Shows feature infobox on click
- Notifies with events about currently visible feature properties (shown by Featuredata2 bundle in Feature Data flyout)
- Allows feature selection by feature id (WFSFeaturesSelectedEvent) or by geometry filter (WFSSetFilter)
- Temporary click interaction disabling (ActivateHighlightRequest)
- Layer styling
- Feature selection based on feature properties (WFSSetPropertyFilter)
Does not support:
- No special handling for "Manual refresh" type layers
- Sending of clicked feature geometry as event
Screenshot
Plugin config
Property | Value type |
renderMode | "mvt"|"vector" |
origin | number[2] |
resolutions | number[] |
tileSize | number |
minZoomLevel | number |
{
"renderMode": "mvt",
"origin": [-548576, 8388608],
"resolutions": [8192, 4096, 2048, 1024, 512, 256, 128, 64, 32, 16, 8, 4, 2, 1, 0.5, 0.25],
"tileSize": 256,
"minZoomLevel": 7
}
Requests the plugin handles
Request | How does the bundle react |
WfsLayerPlugin.ActivateHighlightRequest | Disbale/enable map click selection interaction for WFS layers |
Requests the plugin sends out
Request | Why/when |
InfoBox.ShowInfoBoxRequest | Show clicked feature properties |
Events the bundle listens to
Event | How does the bundle react |
AfterMapMoveEvent | Updates feature properties visible. |
AfterMapLayerAddEvent | Registers layer with WFS service. |
AfterMapLayerRemoveEvent | Removes layer from WFS service. |
WFSFeaturesSelectedEvent | Updates layer style to reflect selection. |
MapClickedEvent | Open infobox or hilight feature (control-click) |
MapLayerVisibilityChangedEvent | Update layer visibility. |
AfterChangeMapLayerOpacityEvent | Update layer opacity. |
WFSSetFilter | Apply geometry filter and select features. |
Dependencies
Dependency | Linked from | Purpose |
Oskari infobox |
Oskari's InfoBoxBundle |
That handles the infobox as an Openlayers popup with customized UI |