Select - Geometry

Transforms which appear in the template list when a geometry field, of type geom, geommfd, or geomwkb, has been picked in the Select pane.   Click on a template's link to jump to that template's topic.

 

Expression

Select using the given expression.

 

Null

Select for null values in the source field.

 

  • null - Select records with NULL values.
  • not null - Select records with non-NULL values.

 

Search

Select by making comparisons against the desired extraction from the geometry field specified in the Use parameter, using the given Condition,  compared to the given value or values,  which can be values from a field, a specified value, or the result of an expression that evaluates to a data type corresponding to the specified Use parameter.

 

The combination of thirteen different Use options with seven different Condition options results in over 90 different Select operations.

 

Units of measure are the usual choice of Arc Minute, Arc Second, Degree, and Radian for angular units, and any of the very long list of linear units for linear or square units.

 

Measurements can be auto for automatic use of geodetic measurements (over the surface of the ellipsoid) for coordinate systems using angular degrees and projected coordinate system (Euclidean) otherwise, or geodetic to force use of geodetic measurements always.

 

Use options:

 

  • area -  Use the areal size of a polygonal area object in the specified square units of measure.
  • bearing - Use the bearing direction from the first coordinate of the object to the last coordinate of the object in the specified angular units of measure.
  • length - Use the length of the object in the specified units of measure.
  • number of branches - Use the number of branches in the object.
  • number of coordinates - Use the number or coordinates in the object.
  • number of curves - Use the number of curvilinear segments in the object.
  • type - Use the type of the object compared to values of area, line, or point, with condition options of equal or not equal.
  • x max - Use the largest x coordinate value in the object.
  • x min - Use the smallest x coordinate value in the object.
  • y max - Use the largest y coordinate value in the object.
  • y min - Use the smallest y coordinate value in the object.
  • z max - Use the largest z coordinate value in the object.
  • z min - Use the smallest z coordinate value in the object.

 

 

Condition options:

 

  • between - Select records with values between the At least and At most values, inclusive.
  • equal (=) - Select records with values equal to the given value.
  • greater (>) - Select records with values greater than the given value.
  • greater or equal (>=) - Select records with values greater than or equal to the given value.
  • less (<) - Select records with values less than the given value.
  • less or equal (<=) - Select records with values less than or equal to the given value.
  • not equal (<>) - Select records with values not equal to the given value.

 

If we would like to select records that are NOT variations of the above, for example not between, select on the basis of one of the above and press Ctrl-I or Edit - Select Inverse to invert the selection.   Selecting using between and then pressing Ctrl-I is the equivalent of "not between" the given values.

 

Spatial

Select by making spatial comparisons between objects in the designated drawing (also called the source drawing) and objects in the Overlay drawing.  For example, we can select all objects in the designated drawing which are touching any object in the overlay drawing.

 

Operation options:

 

  • adjacent -  Select all objects in the designated drawing that are adjacent to any object in the overlay drawing.
  • contained - Select all objects in the designated drawing that are contained by any object in the overlay drawing.
  • containing - Select all objects in the designated drawing that are containing any object in the overlay drawing.
  • intersecting - Select all objects in the designated drawing intersecting any object in the overlay drawing.   In this template, an object only intersects another object if some part of the object is outside the other object and some part is within the other object.  
  • touching - Select all objects in the designated drawing touching any object in the overlay drawing.

 

 

 

Notes

Spatial relationships - The Select pane and Join dialog both use the following definitions for spatial relationships:

 

adjacent

An object is adjacent to another object if both objects have at least one boundary location in common but have no interior locations in common.  Any locations in common between the objects are only on the boundaries of the objects, and nowhere else.

 

An object that is adjacent to another object also touches that other object, but it does not intersect the other object.  Objects that are contained by or which contain another object are not adjacent.

 

contained

An object is contained in another object only if all locations in the object are entirely within the other object.

 

An object that is contained in another object also touches that other object but it is not adjacent to and it does not intersect that other object.

 

containing

An object contains another object if all locations in the other object are entirely within the object.

 

An object that contains another object also touches that other object but it is not adjacent to and it does not intersect that other object.

 

intersecting

An object  intersects another object if both objects have at least one interior location in common and also at least one exterior location not in common.

 

An object that intersects another object also touches that other object, but it is not adjacent to, is not contained in, and does not contain the other object.

 

touching

An object touches another object if there is any location in common between the two.

 

One object that touches another object may or may not be intersecting, and it may or may not be adjacent to the other object.  Objects that are contained by or which contain another object are also touching.

 

 

Two meanings of "intersect" - There are two notions of what "intersect" should mean, both of which are used by Manifold.   Topology overlays, as discussed in the Topology Overlays topic, use the classic set-theoretic meaning of "intersect," in which objects that are entirely contained by other objects are said to intersect as well.   A different meaning is used in Select pane templates and spatial joins in Join, where an object that is entirely contained within another object does not "intersect" that object but is contained by that object.  In the Join dialog and in Select pane templates, an object only intersects another object if some part of the object is outside the other object and some part is within the other object.   This allows the use of contained and containing to provide different selection criteria instead of simply duplicating what intersect does in a selection.

 

Virtual drawings - Operations on geometry can use any table with a geometry field. The geometry field does not have to be part of a spatial index, although having such an index will frequently help performance. A query function that operates on geometry can accept either a physical drawing component stored in a database, or a virtual drawing created on a geometry field (using the ComponentFieldDrawing function) of a table or of a query component.  A virtual drawing supports all functions available for regular components:  for example, it can report its coordinate system or the name of the underlying component.  Both physical and virtual drawings can be limited to using only selected records with the result being accepted as a drawing by query functions.

 

See Also

Select - Geometry: Expression

 

Select - Geometry: Null

 

Select - Geometry: Search

 

Select - Geometry: Spatial

 

Select Reference

 

Select - Expression

 

Select - Binary

 

Select - Boolean

 

Select - Datetime

 

Select - Numbers

 

Select - Numeric Vectors

 

Select - Text

 

Select - Tiles

 

Select - UUID