Skip to content

Filter Tool ​

Overview ​

The Filter Tool is a powerful data analysis and export system that enables comprehensive filtering, querying, and exporting of spatial data from visible map layers. This sophisticated tool provides three filtering modes: Quick Filter for simple attribute queries, SQL Expression for complex SQL expressions, and Legend for visual symbology-based filtering, combined with high-performance export functionality for seamless data sharing and external use.

Key Features ​

  • Three Filtering Modes: Quick Filter attribute-based filtering, SQL Expression query builder, and Legend symbology-based filtering for all skill levels
  • AI Filter Assistant: Describe the filter you want in plain English and let the assistant write the SQL for you to review (SQL Expression tab; available where enabled)
  • Filter Editor Dialog: A larger, draggable, resizable pop-out with a visual query builder (nested AND/OR groups), a full SQL editor, and a combined Statistics & Export workspace
  • Unique Values Browser: Instantly load, search, and select unique field values from any layer for precise filtering
  • Statistical Analysis: Built-in statistics functions (Count, Sum, Average, Min, Max, Standard Deviation)
  • Comprehensive Layer Support: Works with visible Feature Layers, Map Image Layers, Group Layers, and data group layers
  • Export: Export filtered results as Shapefile, GeoPackage, GeoJSON or KML — all attributes are kept, except in KML, which carries the feature name only
  • Performance Optimization: Layer caching system and paginated value loading for improved performance with large datasets
  • Case-Sensitive Control: Toggle case sensitivity for text-based queries and precise data matching
  • Real-Time Processing: Immediate filter application with visual feedback and automatic zoom to filtered results

Getting Started ​

Opening the Filter Tool ​

Filter Tool Access

  1. Look for the Filter icon in the right panel toolbar
  2. Click the icon to open the filter panel
  3. Select a layer from the Layer dropdown
  4. Choose between the Quick Filter, SQL Expression, or Legend tabs
  5. For a larger workspace, click the launch / pop-out button (brand-blue border) in the action row to open the Filter Editor dialog

What You Can Do ​

  • Filter data from any visible layer
  • Browse and select unique field values interactively
  • Create simple attribute-based filters
  • Write complex SQL queries for advanced filtering
  • Filter by map symbology using the Legend tab
  • Calculate statistics on filtered or unfiltered data
  • Export filtered results as Shapefile, GeoPackage, GeoJSON or KML

Supported Layer Types ​

The Filter Tool works with the following visible layer types:

  • Feature Layers — Standard vector feature layers with full query support
  • Map Image Layers — ArcGIS Server map services with sublayer query support
  • Group Layers — FPP Draft, FPP Production, Plan Burn, Wildfire, and Sketch data groups

Quick Filter ​

Quick Filter tab

Setting Up a Quick Filter ​

Step 1: Select Layer

  1. Choose a layer from the Layer dropdown
  2. Only visible layers will appear in the list
  3. Click the dropdown to refresh the layer list if a layer was recently made visible

Layer Selection

Step 2: Choose Field

  1. Select the Field you want to filter by from the Fields dropdown
  2. Fields are automatically populated based on the selected layer
  3. Consider the data type when making your selection

Field Selection

Step 3: Enter Value (or Browse Unique Values)

  1. Type the Value you want to filter for directly in the text input, or
  2. Click the list icon (list button) next to the value input to load all unique values for the selected field
  3. Browse, search, or select a value from the unique values list

Enter Value

Step 4: Apply Filter

  1. Click the Filter button to apply the filter
  2. Wait for the results to load
  3. The map will update to show only matching features and automatically zoom to the filtered extent

Apply Filter

Unique Values Browser ​

Unique Values Browser

The Unique Values Browser helps you discover and select valid field values without typing:

  1. Select a layer and field first
  2. Click the list icon button next to the Value input
  3. The tool fetches all distinct values from the layer (with live progress indicator)
  4. Use the search box to filter the list as you type
  5. Click any value in the list to populate the Value input
  6. Use Show More to load additional values in batches
  7. Click Clear to dismiss the values list

Note

Unique values are cached for the current session. Switching to a different layer or field automatically clears the cache for that selection.

Quick Filter Action Buttons ​

Quick Filter action buttons

ButtonDescription
Aa (Case toggle)Toggle case-insensitive matching for text searches
Refresh iconReload field selectors if dropdowns appear out of sync
Filter buttonApply the current filter criteria to the selected layer
Reset buttonClear the active filter and restore all features

SQL Expression ​

SQL Expression tab

The SQL Expression tab lets you build SQL WHERE clause expressions using an interactive query builder.

Query Builder Controls ​

Field Row

  • Select a field from the Field dropdown to reference in your expression
  • Click the + button to insert the field name into the expression at the cursor position

Compare Row — Click any operator to insert it into the expression:

OperatorMeaning
=Equal to
<>Not equal to
<Less than
>Greater than
<=Less than or equal
>=Greater than or equal

Logic Row — Combine conditions:

  • AND — Both conditions must be true
  • OR — Either condition must be true
  • NOT — Negate a condition
  • ( ) — Group conditions with parentheses

Special Row — Additional SQL keywords:

  • LIKE — Pattern matching (use % as wildcard)
  • IN — Match a list of values
  • BETWEEN — Match a range of values
  • IS NULL — Match records with no value in the field
  • NOT NULL — Match records that have a value in the field

Value Row

  • Enter a value in the Value input field
  • Click the + button to insert the value into the expression (automatically quoted for text fields)
  • Click the list icon button to load and browse unique values for the selected field

Filter Expression Textarea ​

  • Type or build your complete SQL WHERE clause expression in the text area
  • Use Ctrl+Enter as a keyboard shortcut to apply the filter without clicking the button
  • The expression supports up to 2,000 characters

Creating SQL Queries — Examples ​

Simple Equality:

sql
STATUS = 'Active'

Numeric Range:

sql
AREA > 1000 AND AREA < 5000

Text Pattern with Wildcard:

sql
NAME LIKE 'Forest%'

Multiple Conditions with Grouping:

sql
(TYPE = 'Harvest' AND YEAR >= 2020) OR STATUS = 'Pending'

Null Check:

sql
COMMENTS IS NULL

TIP

For detailed SQL syntax help, visit the ArcGIS Query Builder Help.

SQL Expression Action Buttons ​

ButtonDescription
Aa (Case toggle)Toggle case-insensitive matching for text values
Refresh iconReload field selectors if dropdowns appear out of sync
Filter buttonExecute the SQL expression and zoom to matching results
Reset buttonClear the expression and restore all features

Expression Checking ​

Before a filter is applied, the expression is checked — first for structural mistakes, then against the map service itself. If something is wrong, an Invalid Filter SQL message explains what is wrong and the filter is not applied, so a broken expression can never blank out your layer.

What is wrongWhat you are told
A text value is missing its closing quoteUnbalanced single quote — wrap text values in a closed pair of quotes, e.g. NAME = 'Oak'. Use two quotes ('') for a quote inside a value
Brackets do not matchUnbalanced parentheses — every opening ( needs a matching )
The expression starts or ends with an operatorThe condition either side of the operator (AND, OR, =, IN, LIKE, …) is incomplete
A field name is misspelled or not on this layerUnknown field, quoted back to you — pick the field from the field selector to get the exact spelling
Anything else the service rejectsThe reason reported by the map service itself

TIP

The quickest way to avoid these is to insert fields and operators with the query-builder buttons rather than typing them, and to pick values from the Unique Values Browser.

AI Filter Assistant ​

The AI Filter Assistant lets you build a filter by describing it in plain English instead of writing SQL. You type what you want in everyday language, and the assistant writes the SQL WHERE clause for you to review and apply.

Availability

The AI Filter Assistant appears on the SQL Expression tab as a collapsible section with a magic-wand icon. If you don't see it, it hasn't been enabled for your Horizon environment — the other filtering modes still work as normal.

Using the AI Filter Assistant ​

Step 1: Select a Layer

Choose the layer you want to filter from the Layer dropdown. The assistant only knows about the selected layer's fields, and the description box stays disabled until a layer is chosen.

Step 2: Open the Assistant

  1. Switch to the SQL Expression tab
  2. Expand the AI Filter Assistant section (magic-wand icon)

Step 3: Describe Your Filter

Type a description in plain English, for example:

  • planned coupes over 50 hectares
  • stands where species is Douglas Fir and area greater than 100
  • records with no inspection date

Press Enter (or click Generate SQL) to generate. Use Shift + Enter if you need a new line in your description. Descriptions can be up to 500 characters.

Step 4: Review the Result

  1. The assistant writes a SQL WHERE clause into the Filter Expression box on the SQL Expression tab
  2. A blue information notice explains the clause, the fields it used, and how many features match
  3. If anything needs a closer look, an amber warning notice appears (see below)

Step 5: Apply

Review (and edit, if you like) the generated SQL, then click the Filter button to apply it — exactly as you would for a filter you wrote yourself.

The assistant never applies the filter for you

The AI Filter Assistant only writes the SQL — you always review it and click Filter yourself. This gives you a chance to check the result before it changes the map.

Understanding the Notices ​

NoticeMeaningWhat to do
Information (blue)The generated clause, an explanation, the fields used, and the match countReview, then click Filter
"matches 0 features"The SQL is valid but the value probably isn't a real value in this layerCheck the value (e.g. in the Feature Table) and edit the clause
"matches everything (1=1)"The description was too vague to pin down a field or valueName the field or value more explicitly and generate again
"the server still flagged it"The layer rejected the clause (usually a wrong field name or value)Read the reason shown, edit the clause, then Filter
"some fields were omitted"The layer has many fields and some were left out of what the assistant sawMention the specific field you need in your description

Tips for Best Results ​

  • Pick the right layer first — the assistant can only use the fields on the selected layer
  • Name real values — using an actual value (for example, a real coupe code) helps the assistant choose the correct field and match the right upper/lower case
  • Treat it as a starting point — you can freely edit the generated SQL before applying; the same checks run again when you click Filter
  • Be specific — the more clearly you name a field or value, the better the result

Legend Panel ​

The Legend Panel enables filtering based on the layer's map symbology. It is only visible when the selected layer uses a unique-value renderer (i.e., features are styled by a specific field value such as species type, land use class, or status code).

Using the Legend Panel ​

Legend Panel

Step 1: Select a Layer with Symbology

  1. Choose a layer from the Layer dropdown
  2. If the layer uses a unique-value renderer, the Legend tab will appear in the filter mode selector
  3. Click Legend to switch to the Legend tab

Step 2: Select Symbology Values

  1. The panel displays all unique values from the renderer with their symbol previews
  2. Click any row to toggle its selection (a checkmark appears when selected)
  3. Use Select all to select every value at once
  4. Use Clear to deselect all values
  5. The selection counter at the top shows how many values are selected

Step 3: Apply or Reset

  • Click Filter to apply the filter — only features matching the selected symbology values will be shown
  • Click Reset to clear the selection and restore all features

Combining Legend and Attribute Filters ​

A Legend filter and a Quick Filter / SQL Expression filter work together rather than replacing each other — the two are joined with AND. This lets you narrow a layer twice over, for example a Quick Filter of DISTRICT = 'Derwent' combined with a Legend selection of two vegetation classes shows only the features that satisfy both.

  • The Active Filter box above the tabs always shows the combined expression actually applied to the layer, together with how many features match it.
  • Reset on a tab clears only that half. Resetting the Legend selection leaves your Quick Filter / SQL Expression filter in place, and vice versa — clear both to return the layer to normal.
  • Applying a filter on one tab no longer wipes the filter you set on the other.

Multi-Field Symbology ​

Some layers are styled by a combination of fields rather than a single one — TASVEG flammability and fire sensitivity, for example. The Legend tab handles these: each row represents the whole combination, and selecting it filters on every field in that combination at once. Rows that merge several value combinations into one symbol class are treated as a unit, so what you select matches exactly what the map draws.

Note

The Legend tab is automatically hidden if the selected layer does not have a unique-value renderer. If the tab disappears after switching layers, switch to the Quick Filter or SQL Expression tab to continue filtering.

Filter Editor Dialog ​

The Filter Editor is a larger, draggable and resizable pop-out workspace for building filters more comfortably than the compact side panel. Open it with the launch / pop-out button (brand-blue border) in the Filter Panel's action row. It is non-modal — the map stays interactive while it is open, so you can pick features or pan and zoom without closing it.

The dialog heading shows the active layer (e.g. Filter Editor — Forest Plots), and a Source Layer dropdown at the top lets you switch layers without leaving the dialog. It has three tabs — Visual Builder, SQL Editor, and Statistics & Export — sharing a common footer.

The footer is shared across all tabs:

ButtonDescription
CancelClose the dialog (your built conditions are kept for next time)
AaToggle case-insensitive matching (same as the panel's Case toggle)
ResetClear the active filter from the layer
ZoomToggle "zoom to results after filtering" (this preference is remembered)
Apply FilterApply the current tab's filter to the layer

Tab 1 — Visual Builder ​

Build a query without writing SQL by adding conditions and nested groups:

  • Match ALL / ANY — choose whether the conditions must all match (AND) or any match (OR)
  • Add Condition — adds a row with three controls: a Field dropdown, an Operator dropdown (=, ≠, >, ≥, <, ≤, LIKE, NOT LIKE, IN, NOT IN, BETWEEN, IS NULL, NOT NULL), and a Value input
  • Load unique values — each condition row has a list button next to the value box that loads the distinct values for the selected field into a searchable dropdown, so you can pick a value instead of typing it (works for both top-level conditions and conditions inside nested groups)
  • Add Group — adds a nested group with its own Match ALL/ANY toggle, so you can express logic like (A AND B) OR (C AND D)
  • Generate SQL — converts the visual conditions into a SQL clause and drops it into the SQL Editor tab for review or fine-tuning

Value formats:

  • BETWEEN — enter min, max (two comma-separated values)
  • IN / NOT IN — enter a comma-separated list, e.g. North, East, West
  • IS NULL / NOT NULL — the value box is disabled (no value needed)

Click Apply Filter and the builder's conditions are turned into SQL and applied to the layer.

INFO

Numeric comparisons are validated — a value that isn't a valid number (for a numeric field) is rejected rather than inserted into the query, protecting against malformed or unsafe input.

Tab 2 — SQL Editor ​

A full SQL WHERE clause workspace — the same engine as the panel's SQL Expression tab, but with more room:

  • SQL Operators button rows — quick-insert Compare (=, <>, <, >, <=, >=), Logic (AND, OR, NOT, and ( ) to wrap a selection in parentheses), and Special (LIKE, IN, BETWEEN, IS NULL, IS NOT NULL) operators at the cursor
  • Field dropdown + insert button — drops the selected field name into the expression
  • Unique Values — pick a field, click Load Values, search, and click a value to insert it (with proper SQL quoting); use Load more for high-cardinality fields
  • SQL Where Clause textarea — type or edit the expression directly

Destructive keywords (DROP, DELETE, UPDATE, etc.) are blocked and the expression is length-limited — the same protections as the SQL Expression tab.

Tab 3 — Statistics & Export ​

Two cards side by side:

  • Statistics — pick a Numeric Field, then click Count / Sum / Average / Minimum / Maximum / Std Deviation. Results list under the buttons (clear them with the trash icon). Calculations respect the active filter.
  • Export Data — when a filter has produced results, enter a File Name, then click Export and choose Shapefile, GeoPackage, GeoJSON, or KML. Until a filter has returned features, the card shows "Apply a filter first to export features." instead. (As in the panel, Group layers cannot be exported — use an individual layer.)

Notes & Behaviour ​

  • Non-modal: the map remains clickable while the dialog is open
  • Closing keeps your work: closing the dialog keeps the conditions you built, so reopening continues where you left off. Switching the source layer clears the builder (the old layer's fields may not exist on the new one).
  • Shared state with the panel: the SQL Editor's clause is the same expression the panel's SQL Expression tab uses; Apply, Reset, Zoom, and the Case toggle behave identically

Statistics Functions ​

Statistics Functions

The Filter Tool includes powerful statistical analysis capabilities available on the SQL Expression tab under the Statistics accordion section.

Accessing Statistics ​

  1. Switch to the SQL Expression tab
  2. Scroll to the bottom and expand the Statistics accordion section
  3. Select a numeric field from the Statistics Field dropdown (required for all operations except Count)
  4. Click the desired statistic button

Available Statistics ​

ButtonFunctionField Required
CountCount total number of records in the layer or filtered resultAny field (auto)
SumCalculate the total sum of all values in the selected fieldNumeric field
AvgCalculate the mean/average of values in the selected fieldNumeric field
MaxFind the maximum value in the selected fieldNumeric field
MinFind the minimum value in the selected fieldNumeric field
StddevCalculate the standard deviation of values in the selected fieldNumeric field

INFO

Only numeric fields (integer, double, single) are available in the Statistics Field dropdown for Sum, Avg, Max, Min, and Stddev. Count works with any field and uses the first available field automatically.

Statistics Features ​

Statistics Panel

Filter-Aware Calculations:

  • Statistics respect any active filter expression in the text area or the Quick Filter value
  • Apply a filter first, then calculate statistics to analyze only the filtered subset of data
  • This enables powerful targeted analysis without running a separate query

Recent Results Display:

  • Calculated results appear in a compact list below the statistic buttons
  • Each result shows the statistic type, field name, calculated value, and timestamp
  • Results are shown in reverse chronological order (newest first)
  • Click Clear Results to remove all displayed results

Statistics Examples ​

Count statistic result

Sum and count results

TIP

Use statistics to quickly analyze your data without opening external tools. Combine with filters for powerful data insights on specific subsets!

Exporting Results ​

Export Options

The Export section appears at the bottom of the panel. The Export button is only active after a successful filter operation returns results.

Export Process ​

Step 1: Apply a Filter

  1. Use the Quick Filter, SQL Expression, or Legend tab to filter the layer
  2. Ensure the filter returns at least one matching feature
  3. The Export button becomes active when results are available

Step 2: Set Filename (Optional)

  1. Enter a custom filename in the File name input field
  2. Use descriptive names for easy identification later
  3. Leave blank to use your username as the filename

Step 3: Choose Format and Export

Click Export and pick a format from the menu:

  • Shapefile — Standard Shapefile format for use in ArcGIS, QGIS, and other GIS applications. Downloads as a zipped bundle.
  • GeoPackage — A single .gpkg file. Keeps full attribute types and long field names, neither of which survives a Shapefile's DBF format.
  • GeoJSON — A single .geojson text file, the format most web maps and code libraries read directly. Always written in WGS 84.
  • KML — Google Earth format for viewing in Google Earth or other KML-compatible tools. Always written in WGS 84.

The file downloads automatically.

Export Notes ​

  • Only features matching the current filter will be exported
  • Always apply your filter before attempting to export
  • Group layers can be filtered but cannot be exported — in the Legend tab, when a group layer is selected, a sublayer dropdown appears to let you choose which child layer's renderer to display. For export, select an individual sub-layer directly instead
  • Sketch layers only ever contain your own sketches — including a Sketch layer added from the Layer Catalog, such as Sketch Line Layer. That built-in restriction is not shown as part of the filter expression, it stays in place when you apply or reset a filter, and the value lists offer only values from your own sketches — so an export holds only your own sketches too
  • KML exports include the feature name attribute only; Shapefile, GeoPackage and GeoJSON exports preserve all layer attributes
  • GeoJSON and KML are reprojected to WGS 84; Shapefile and GeoPackage keep the map’s projection (GDA94 / MGA Zone 55)
  • Large datasets may take longer to process

Tips & Troubleshooting ​

Common Issues ​

ProblemSolution
No layers in dropdownMake sure target layers are visible on the map; click the dropdown to refresh
Filter not workingCheck field names, data type, and value formatting
Export button is disabledApply a filter first — export requires active filtered results
Export fails for Group layerUse an individual sub-layer instead of a group layer for export
Query errorsReview SQL syntax and field names in the expression textarea
"Invalid Filter SQL" messageRead the reason given — it names the exact problem (unclosed quote, unmatched bracket, incomplete condition, or unknown field)
Legend Reset did not clear everythingReset clears only that tab's half; clear the Quick Filter / SQL Expression filter too — the Active Filter box shows what is still applied
Slow unique values loadingLarge layers with many unique values may take time; a progress indicator shows count
Empty unique values listThe selected field may contain no data or the layer may not support distinct queries
Legend tab not visibleThe selected layer must use a unique-value renderer
Statistics errorEnsure a numeric field is selected for Sum/Avg/Min/Max/Stddev
No numeric fields in statsThe layer may only contain text fields; use Count instead
Field selectors out of syncClick the Refresh icon to reload field dropdowns
AI Filter Assistant not shownIt hasn't been enabled for your environment; the other filter modes still work
AI result matches 0 featuresThe value likely isn't real in this layer — check it and edit the generated SQL
AI result is 1=1 / everythingThe description was too vague — name the field or value explicitly and retry

Best Practices ​

For Quick Filter:

  • Use the Unique Values Browser (list icon) to discover valid values before typing
  • Toggle case-insensitive matching (Aa button) if text searches return no results
  • Exact matches are used by default — use the SQL Expression tab for partial matches

For SQL Expression Filtering:

  • Use the query builder buttons to reduce typing errors in expressions
  • Load unique values for the selected field to insert precise values with the + button
  • Use Ctrl+Enter to quickly apply expressions while editing
  • Test simple conditions before building complex multi-part expressions

For Legend Filtering:

  • Use Select all then deselect individual values to exclude specific categories
  • Combine with Quick Filter or SQL Expression filtering by applying a legend filter first, then switching tabs

For Exporting:

  • Use descriptive filenames for easy identification after download
  • Choose Shapefile for the most widely compatible format, GeoPackage when you need full attribute types and long field names preserved, or GeoJSON for web mapping and scripting
  • Choose KML when sharing data for viewing in Google Earth

For Statistics:

  • Apply a filter first to calculate statistics on a specific data subset
  • Use Count for a quick feature count — no numeric field selection required
  • Keep the results panel visible to compare multiple calculations side by side

Field Types and Formatting ​

Text Fields:

  • On the SQL Expression tab, quote string values with single quotes: 'Forest'
  • Use LIKE with % for partial matches: NAME LIKE 'Forest%'
  • Toggle case-ignore (Aa) for case-insensitive matching on the Quick Filter tab

Numeric Fields:

  • No quotes needed in expressions: AREA > 1000 or VALUE = 25.5
  • Use comparison operators for range queries

Date Fields:

  • Quote date values: DATE_FIELD = '2023-01-01'
  • Use BETWEEN for date ranges: SURVEY_DATE BETWEEN '2020-01-01' AND '2023-12-31'

Video Tutorials ​

Quick Filter ​

SQL Expression ​

Export Geometry Function ​

AI Filter Assistant ​

See Also ​

  • Feature Table - View and manage filtered feature attributes in tabular format
  • Area Summary Tool - Generate area calculations using geometry intersection analysis
  • Layer Panel - Control layer visibility and access layer-level filtering

Horizon Help Documentation