The feature selection pattern uses selected features on the map to create a subset from all the available features. It helps shift the focus from the whole collection of features to the ones that are relevant.
Selecting items is a common input mechanism to gain further insights into the associated data. The goal is to create a new collection of features that can be used as input for further analysis. The feature selection is like the spatial filter, in which the filter criterion is a user’s selected area on the map. The difference is that the selection isn’t bound to a discrete, predefined area but based on a custom-drawn shape, such as a rectangle, circle, polyline, or freehand drawing.
The output of the feature selection becomes the input to another action, such as analytic calculations, editing, sharing, or export. Adding features to a selection set can also be used to update one of its attributes across all selected features at once or to create focused reports that include only the selected features. Other common uses include calculations of aggregated property values for a planned construction site or display of average insured value for an area affected by natural hazards.
Feature selection requires a temporary change in how users interact with the map. This change must be triggered by the user and moves the map from its default behavior into selection mode. Users can trigger selection mode by pressing a single button or selecting from a series of buttons, also called a toolbar or button bar, with mutually exclusive selection options such as rectangle, circle, or freehand. The following list describes the different selection methods.
- Single selection: This is the expected default selection and turns an unselected feature into a selected feature, and vice versa.
- Selection by rectangle or circle: Drag the shape to select one or many features.
- Freehand selection: Click and draw a line to sketch an area that encloses features inside, sometimes referred to as lasso selection.
- Polyline selection: Click to start drawing, continue clicking to create lines, and double-click to connect the last point with the first point. This selection method is difficult to use for non-GIS professionals, so use freehand selection instead.
Once the user has entered selection mode, disable the toolbar, show a button to end the selection process, and optionally add descriptive text that provides additional guidance. Guidance can be descriptive text next to the button or a ToolTip that follows the pointer. Consider providing feedback on the count of currently selected features. This count information is helpful especially when features were selected outside the currently visible extent. Selections should always be additive; the exception to this rule is single selection. An effective method to display the individual features that are part of the selection is a grid table or location list. Once the user ends the selection process, provide an option to clear or start over.
Selected markers need to change their appearance to visually distinguish them from unselected features of the same kind. Use a highlight color such as yellow or cyan or alternative symbology without altering the meaning of the symbology in place.
Another way to add individual items to the selection is by providing an action button inside the info pop-up or the list item of a grid table. For instance, an app to report streetlight outages could show streetlight information inside the pop-up paired with the option to add this item to the list of broken streetlights.
This sample app for national parks demonstrates how to select features on a map. The selection set can be used to inspect their attributes or export them to another app. To activate the tool, the user clicks the select features by rectangle button and draws a rectangle on the map. Once the rectangle is drawn, a query returns the features within the rectangle for display in the grid table in the image. Features that are selected remain unaffected visually, whereas features that are outside the rectangle have a blur effect applied.