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: Basic for simple attribute queries, Advanced 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: Basic attribute-based filtering, Advanced SQL 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 (Advanced 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
  • Advanced Export System: Export filtered results as Shapefile or KML files with complete attribute preservation
  • 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 Basic, Advanced, 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 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

Basic Panel

Basic Panel Interface

Setting Up a Basic 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.

Basic Panel Action Buttons

Basic Panel 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

Advanced Panel

Advanced Panel

The Advanced Panel allows you to 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.

Advanced Panel 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 Advanced 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 Advanced 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 Advanced 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 Basic/Advanced 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 Basic 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 Basic/Advanced 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 Basic or Advanced mode 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 Advanced mode, 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 Advanced 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 and export to Shapefile (SHP) or KML. If there are no filtered features yet, an info notice prompts you to apply a filter first. (As in the panel, export is unavailable for Map Image layers — use a Feature 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 Advanced tab uses; Apply, Reset, Zoom, and the Case toggle behave identically

Statistics Functions

Statistics Functions

The Filter Tool includes powerful statistical analysis capabilities available in the Advanced Panel under the Statistics accordion section.

Accessing Statistics

  1. Switch to the Advanced 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 Basic panel 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. Export buttons are only active after a successful filter operation returns results.

Export Process

Step 1: Apply a Filter

  1. Use the Basic, Advanced, or Legend tab to filter the layer
  2. Ensure the filter returns at least one matching feature
  3. The SHP and KML export buttons become 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 the filtered field value or layer name as the filename

Step 3: Choose Format and Export

  • SHP — Standard Shapefile format for use in ArcGIS, QGIS, and other GIS applications
  • KML — Google Earth format for viewing in Google Earth or other KML-compatible tools

Click the appropriate button and wait for the file to download 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 have special handling: system-injected USERNAME filters are automatically stripped so you only see your own features
  • KML exports include the feature name attribute only; SHP exports preserve all layer attributes
  • 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 buttons are 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 Basic/Advanced 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 Basic Filtering:

  • 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 Advanced panel for partial matches

For Advanced 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 Basic or Advanced filtering by applying a legend filter first, then switching tabs

For Exporting:

  • Use descriptive filenames for easy identification after download
  • Choose SHP when you need full attribute preservation for GIS workflows
  • 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:

  • In Advanced mode, quote string values with single quotes: 'Forest'
  • Use LIKE with % for partial matches: NAME LIKE 'Forest%'
  • Toggle case-ignore (Aa) for case-insensitive matching in Basic mode

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

Basic Filter Function

Advanced Filter Function

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