The condition filter can be set on the connecting line between two tools. It allows operations to be performed based on different conditions, thereby receiving data input that meets the criteria. This enables differentiated processing of various data types in business workflows.
Parameters
The condition filter supports multiple data types, including String, Dataset (Dataset and FeatureRDD), and Numeric. Different conditional functions are available depending on the data type, as shown below:
- String
| Conditional Function | Description | Parameter Type |
|---|---|---|
| String Matching | Determines whether a string matches the specified condition. | Matching Method: Supports regular expression and wildcard. - Regular Expression: Uses predefined specific characters and their combinations to form a rule string for filtering the target string. - Wildcard: Commonly used for fuzzy file search, where (*) can replace one or more characters. For example, entering AEW* finds all file types starting with AEW. Invert: If checked, indicates the string does NOT match the specified condition. |
| If File Name | Determines whether a file name meets the specified condition. | File Name: Supports wildcards. Invert: If checked, indicates the file name does NOT meet the specified condition. |
| Connection Info Matching | Determines whether a data source or dataset with the specified connection information exists. | Type: Optional data source or dataset. Exists: Determines if the data source or dataset meeting the condition exists. Checked indicates it exists. |
| If Object | Determines whether an object is empty. | If "Is Empty" is checked, when the object is empty, it will continue to the subsequent connected tool; when the object is not empty, it will not execute the subsequent connected tool. |
| Else | Used to cover cases that do not meet any of the multiple filters, typically used when a tool has three or more filters. |
- Dataset
| Conditional Function | Description | Parameter Type |
|---|---|---|
| If Field Exists | Determines whether a specified field exists in the dataset. | Field Existence Condition: Match at least one, Match all, or Match none. Field: The field name(s) to check. Multiple fields can be set, supporting wildcards. Invert: If checked, indicates the specified field(s) do NOT exist in the dataset. |
| If Coordinate System Is | Determines whether the dataset has the specified coordinate system. | EPSG Code. Invert: If checked, indicates the dataset does NOT have the specified coordinate system. |
| If Dataset Name Is | Determines whether the dataset name meets the specified condition. | Matching Method: The method to judge if the dataset name meets the condition, supports wildcard and regular expression. Dataset Name. Invert: If checked, indicates the dataset name does NOT meet the specified condition. |
| If Record Count Is | Determines whether the record count of the dataset meets the specified condition. | Comparison Method: Greater than, Less than, Equal to, Greater than or equal to, Less than or equal to, Not equal. Comparison Value: Record count. Setting this to 0 can be used to determine if the dataset is empty. |
| If Object | Determines whether the dataset is empty. | If "Is Empty" is checked, when the dataset is empty, it will continue to the subsequent connected tool; when the dataset is not empty, it will not execute the subsequent connected tool. |
| Else | Used to cover cases that do not meet any of the multiple filters, typically used when a tool has three or more filters. |
- FeatureRDD
| Conditional Function | Description | Parameter Type |
|---|---|---|
| If Field Exists | Determines whether the specified field exists. | Field Existence Condition: Match at least one, Match all, or Match none. Field: The field name(s) to check if they meet the condition. Multiple fields can be set, supporting wildcards. Invert: If checked, indicates the specified field(s) do NOT exist. |
| If Object | Determines whether the feature dataset is empty. | If "Is Empty" is checked, when the feature dataset is empty, it will continue to the subsequent connected tool; when the feature dataset is not empty, it will not execute the subsequent connected tool. |
| Else | Used to cover cases that do not meet any of the multiple filters, typically used when a tool has three or more filters. |
- Numeric
| Conditional Function | Description | Parameter Type |
|---|---|---|
| If Value Is | Determines whether the input numeric value meets the condition. | Comparison Method: Supports 6 methods including Greater than, Less than, Greater than or equal to, Less than or equal to, Equal to, Not equal. Comparison Value. Invert: If checked, inverts the condition setting during runtime. |
| Else | Used to cover cases that do not meet any of the multiple filters, typically used when a tool has three or more filters. |
Use Cases
Use Case 1: Batch Data Import
The following model implements batch data import by appending similar feature data from different paths and tiling large batch data to improve application efficiency. Since data is saved in multiple subfolders with a unified naming format, a condition filter can be used to filter similar feature data. The specific operation is as follows:
First, click the connecting line between the 【Iterate File】 and 【Residential Area (Point)】 tools. Then, set a filter in the parameter panel, select the condition type "If File Name Is" to determine if the file name meets the specified condition. If it does, perform the append operation. For example, entering *resp* checks if "resp" is in the data file name. If present, append it as residential point data.

Use Case 2: Batch Data Projection Check
During batch data preprocessing, a condition filter can be used to check if the data projections are consistent. In the model below, the dataset's coordinate system needs to be transformed to WGS_1984.
We click the connecting line between the 【Image Dataset】 and 【Dataset Projection Transformation】 tools and set a filter. Select the condition type "If Coordinate System Is", enter EPSG code 4326 to check if the input data's coordinate system is WGS_1984. Checking "Invert" means if the coordinate system is NOT WGS_1984, then execute 【Dataset Projection Transformation】 to transform the dataset projection to WGS_1984.

Use Case 3: Used with Iterate File
The following model requires batch classification and import of diverse data types, importing CSV, SHP, and TIF data separately. A conditional function can be used to filter data of the same type. Select the condition type "String Matching" to determine if the data type matches. If it matches, execute the subsequent data import. For example, entering the expression *.csv will only filter data with the .csv extension, executing the import of CSV type data.

Use Case 4: Used with Conditional Group
When using the condition filter in iServer, it can be combined with a conditional group to bring different conditional filter branches together into the same subsequent processing flow. Taking batch CSV data import as an example, you need to create a datasource and then import the CSV data into it. However, when repeatedly executing this model, it might fail because the datasource already exists, requiring modification of the datasource name each time. This problem can be solved using a condition filter.
First, add a string variable of type Connection Info, connect it to both the 【Create a Datasource】 and 【Iterate Datasets】 tools, and set a filter on the connecting line. Determine if the specified datasource exists. If it exists, delete the datasets within the datasource and then open the datasource; if the specified datasource does not exist, create a new datasource.

The parameters for the condition filter are as follows:
