Non-Spatial Filtering

In addition to restricting data load based on geometric filtering, you can restrict data load based on non-spatial expressions.

A Non-Spatial filter is configured within an open data task, with the filter having to be entered manually. Non-spatial filtering can also be applied to a Schema transform task, for more see Schema Transform.

Some examples of possible filters and further syntax information can be found below.

Note: The Non-Spatial filter works much like a SQL WHERE clause, though is syntactically different.

Note: Both {} and () can be used for filters. {} are recommended as it will allow differentiation between the filters and functions with the same name. e.g. NUMBER{} and NUMBER().

ClosedExample filters

Non-spatial filtering can be used to filter and restrict data using a number of syntax options, some examples of filters that can be defined are as follows:

Example: Class Filters

To find all features in the classes called BUILDING and ROAD with an ID of 500, and all features in a class called FIRE_STATION with an ID of 750:

BUILDING|ROAD{ID==500},FIRE_STATION{ID==750}

 

Example: Filtering a common attribute

In the following example the attribute HEIGHT is shared across all classes.

HEIGHT == 50 || HEIGHT == 60

All HEIGHT attributes with the value 50 or 60 will be filtered across all Classes.

 

Example: Excluding classes from filter

In this example the filter checks for all ID attributes with a value of 50. This filter is applied to each class, except for BUILDING.

!BUILDING{ID==50}

Note: For this example, all classes except BUILDING require an ID field or it will not work.

 

Example: Session Parameter Values

If you have defined a session parameter value you can use these as part of a filter.

{ORGANISATION==$ORG_SESSION_PARAM}

In this instance you are filtering ORGANISATION values that are equal to the defined session parameter value {ORG_SESSION_PARAM}.

Note: You must prefix your session parameter reference with "$".

Note: Spaces in the name of the Session Parameter reference will need to be converted to underscores in the filter. It is also case sensitive.

 

Example: Date

To find the features across all classes that have a date value after February 2012. The 'yyyy-MM' string supplied represents the date format pattern 1integrate should use to interpret the given date.

DATE_CREATED > date{'2012-02', 'yyyy-MM'}

Filter Syntax

The following tables contain the syntax that can be used to create the non-spatial filters.

ClosedClass Filter syntax

Note: Class filters are optional and if omitted the filters will run on all classes.

Class Filter Description
No class provided If no class is preceding values or operators then the filter will run on all classes.
| Separated list of classes.
! Run on all classed except for a specific example.

ClosedConstant Values

ClosedVariables

ClosedOperators

ClosedFunctions