updated: 18-Jun-2009
Copan for Windows
Point Filters
At times you may wish to work with a specific subset of points from an open coordfile, rather than the whole file.
You can establish such a subset by specifying a filter. Typically, you would just identify ranges of required points.
You can, however, also identify ranges of coordinate values, as well as conditions for the three alphanumeric fields.
To Filter Points
- Choose Filter... from wherever appropriate.
(The exact button or menu item name may vary depending on the circumstances.)
- Optionally, select an existing filter from the Filter list box.
- Enter or edit the details of the filter (see Filter Criteria below).
- Optionally, enter a new name for the filter in the Filter list box.
- Click OK.
Filter Criteria
- A Point # expression lists individual and ranges of point numbers.
The syntax is just like the way page ranges in many print dialogs are specified:
- point-expression
- point-range
- point-range , point-expression
- point-range
- point-number
- point-number - point-number
For example, a Point # expression of
1-99, 110, 250-349, 900 means Points 1 to 99, 110, 250 to 349, and 900.
- The Min and Max Northing and Easting values are inclusive extremes. For example,
- A Min and Max Northing of
290 and 380 means 290 <= northing <=380.
- A Min Easting of
150.2 means easting >= 150.2.
- Because points can have null or missing elevations, there are three mutually exclusive Elevation options:
- If you only want 2D points, choose 2D only.
- If you only want 3D points, choose 3D only.
- If you want 2D and 3D points, choose Irrelevant.
- To enter Elevation extremes, you must choose the 3D only option.
- A Min and Max Elevation of
10 and 30 means
10 <= elevation <=30.
- Criteria based on Name, Code, or Note fields require text expressions.
Text Expressions
Syntax
In these quasi-formal syntax definitions, a defined term (outdented) is followed by its definition (indented), with alternative definitions separated by vertical lines or on separate lines. Puzzled? See the Examples.
- text-expression
- predicate
- text-expression logical-operator text-expression
- ( text-expression )
- predicate
- relational-operator value
- relational-operator
- = | ? | != | <> | < | > | <= | >=
- value
- any text |
" any text containing a special character "
- logical-operator
- & | ,
Relational and Logical Operators
| Operator |
Meaning |
|---|
= | equal to
|
? | containing
|
!= or <> | not equal to
|
< | alphabetically before
|
> | alphabetically after
|
<= | alphabetically before or equal to
|
>= | alphabetically after or equal to
|
& | logical and
|
, | logical or
|
( ) | logical group, required when logical or must be evaluated before logical and
|
Examples
| Expression |
Meaning |
|---|
="" | is null (blank)
|
<> "" | is not null (not blank)
|
= 13, =14 | equal to 13 or 14
|
<> 12 & <> 16 | equal to anything but 12 or 16
|
? O & ? P | containing O and P
|
>= G & < K | beginning with letters g to j
|
? BC & (? "?", ? "!") | containing BC and containing ? or !
|
Notes
- If criteria are entered for more than one attribute, the conjunction between them is assumed to be logical and.
Thus, for example, if both Point # and Code expressions are entered, the filter will allow only points simultaneously meeting both sets of criteria.
- There is currently no way of specifying a logical or between different field criteria.
- There is currently no way of saying
not containing
.
- There is currently no way of specifying criteria for other attributes (e.g., Locked, Modified, etc).
- The full syntax for the criteria expressions may evolve. Give us your suggestions.