Filters
Show only the features of a layer that match a condition, without altering the underlying data.
basicA filter is a per-map-layer condition that limits which features of the underlying layer are drawn on this map. The underlying data layer is untouched; switch to another map and every feature is back.
Use filters to scope a map to one project area, one status, or one time period without forking the data.
Inputs
- A layer on the map.
- A filter expression: a Boolean combination of field comparisons. Examples: -
status = 'open'-created_at > '2026-01-01'-priority in ('high', 'critical') AND area = 'north' - Optional: a viewport filter (only draw features inside the current map viewport).
How to set it
- Open the map in the builder.
- In the layer list, click Filter.
- Use the visual filter builder (field, operator, value) or switch to the Expression tab for a freeform query.
- Preview shows the matching count vs. total.
- Save.
Filter on the map vs. on the layer
- On the map layer reference: scopes this map only. Other maps see the unfiltered data layer.
- On the data layer's default view: applies everywhere this data layer is referenced. Useful when "we never want users to see archived records" should be the default.
- As a derived layer: produces a new layer item with the filter applied. Use when you want the filtered subset to be share-able as its own thing or feed downstream analysis.
Expression syntax
The expression dialect is a SQL-like subset:
- Comparison:
=,!=,<,<=,>,>=,like,ilike,in (...),between ... and ...,is null,is not null. - Boolean:
and,or,not. - String literals: single quotes (
'open'). - Date literals: ISO 8601 strings (
'2026-01-01'). - Field references: bare identifiers (
status,created_at).
Spatial predicates (ST_Intersects, ST_Within) are NOT available in this builder; for spatial filters, use a derived layer with a Clip step.
Notes
- Filters compose with the layer's default view. If the data layer's default view filters out archived records and this map's filter says
status = 'open', only non-archived open records appear. - Indexed fields filter fast; unindexed fields filter slowly. If a filter is permanent, ask an admin to add an index to the field.
- No cross-layer joins in a filter. To filter layer A based on layer B, build a derived layer with a Spatial join step.