Heron.widgets.search.SearchByFeaturePanel¶
-
class
Heron.widgets.search.SearchByFeaturePanel(config)¶
A Panel to hold a spatial search by selecting features (via drawing) from another layer.
Search by Feature Selection works as follows:
- select a source layer,
- draw a geometry using a draw tool
- observe features/geometries selected in the source layer
- select a target layer (in which to search, using the geometries of features found in the source layer)
- select a spatial operator for the search like WITHIN, or INTERSECTS
- fire search through ‘Search’ button
Example Use¶
This Panel is mostly used in combination with the Heron.widgets.search.FeaturePanel in which results from a search are displayed in a grid and on the Map. Both Panels are usually bundled in a Heron.widgets.search.SearchCenterPanel that manages the search and result Panels. See config example below.
{
type: ‘hr_searchcenterpanel’, ropts: {
searchPanel: { xtype: ‘hr_searchbyfeaturepanel’,
id: ‘hr-searchbyfeaturepanel’, header: false, border: false, style: {
fontFamily: ‘Verdana, Arial, Helvetica, sans-serif’, fontSize: ‘12px’}
}, resultPanel: {
xtype: ‘hr_featuregridpanel’, id: ‘hr-featuregridpanel’, header: false, border: false, autoConfig: true, exportFormats: [‘XLS’, ‘WellKnownText’], hropts: {
zoomOnRowDoubleClick: true, zoomOnFeatureSelect: false, zoomLevelPointSelect: 8, zoomToDataExtent: false}
}
A SearchCenterPanel can be embedded in a Toolbar item popup as toolbar definition item searchcenter
as below. Heron.examples.searchPanelConfig is the SearchCenterPanel config as above.
{
ype: “searchcenter”, / Options for SearchPanel window ptions: {
show: true,
- searchWindow: {
title: __(‘Search by Drawing’), x: 100, y: undefined, width: 360, height: 400, items: [
Heron.examples.searchPanelConfig]
}
Config Options¶
Configuration properties in addition to those listed for Heron.widgets.search.SpatialSearchPanel.
-
name StringName, e.g. for multiple searches combo.
-
sourceSpatialFilterType StringA valid value from the OpenLayers.Filter.Spatial.* enum like OpenLayers.Filter.Spatial.WITHIN Used in the WFS request Spatial Filter for the Source Layer. Default is: OpenLayers.Filter.Spatial.INTERSECTS
-
spatialDistanceUnits StringUnits to use for DWITHIN spatial filter. Default ‘meter’
-
targetLayerFilter FunctionFilter for OpenLayer getLayersBy(), to filter out WFS-enabled Layers from Layer array except the source selection layer. Default: only Layers that have metadata.wfs (see OpenLayers Layer spec and examples) set.
Public Methods¶
Public methods in addition to those listed for Heron.widgets.search.SpatialSearchPanel.
-
SearchByFeaturePanel.onBeforeDestroy()¶ Called just before Panel is destroyed.
-
SearchByFeaturePanel.onLayerSelect()¶ Called when Layer selected.
-
SearchByFeaturePanel.onPanelRendered()¶ Called when Panel has been rendered.
-
SearchByFeaturePanel.onParentHide()¶ Called when parent Panel is hidden in Container.
-
SearchByFeaturePanel.onParentShow()¶ Called when parent Panel is shown in Container.
-
SearchByFeaturePanel.onSearchCanceled()¶ Function called when search is canceled.
-
SearchByFeaturePanel.onSearchSuccess()¶ Function called when search is complete and succesful. Default is to show “Search completed” with feature count on progress label.
-
SearchByFeaturePanel.searchFromFeatures()¶ Issue spatial search via WFS.