Select - Tiles

Select templates for raster data fields, of type tile, as used in raster images.  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 comparing the source field value Use option  using the given Condition 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 numeric data type.  A Channel option allows choosing the source channel to use from a multi channel image.

 

Use options:

 

  • channel average - Use the average value for the given Channel for pixels in the tile. For example, if the image has a single channel with pixel values giving terrain elevation, this will be the average terrain elevation in the tile.
  • channel maximum -  Use the maximum value for the given Channel for pixels in the tile.  For example, if the image has a single channel with pixel values giving terrain elevation, this will be the maximum terrain elevation in the tile.
  • channel minimum - Use the minimum value for the given Channel for pixels in the tile.  For example, if the image has a single channel with pixel values giving terrain elevation, this will be the minimum terrain elevation in the tile.
  • channel std deviation - Use the standard deviation of values for the given Channel for pixels in the tile.
  • channel std deviation pop - Use the square root of the population variance of values for the given Channel for pixels in the tile.
  • channel sum - Use the sum of values for the given Channel for pixels in the tile.
  • channel variance - Use the sample variance of values for the given Channel for pixels in the tile.
  • channel variance pop - Use the population variance of values for the given Channel for pixels in the tile.
  • number of channels - Use the number of channels in the tile.
  • number of missing pixels - Use the number of NULL pixels in the tile.
  • number of pixels - Use the number of non-NULL pixels in the tile.
  • x size - Use the x size of the tile in number of pixels.  A 128x128 tile will have an x size of 128.
  • y size - Use the y size of the tile in number of pixels.  A 128x128 tile will have a y size of 128.

 

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.

 

 

 

Notes

Virtual images and selections in the image - Operations on tiles use a table with a tile field, a pair of X and Y fields, and a spatial index connecting these fields together. Images on some data sources, for example, web images, use a slightly different structure with a non-spatial index on X and Y fields, sometimes also including a level field, instead of the spatial index. Such images have to be converted to images with a spatial index prior to the operations.  A query function that operates on tiles can accept either a physical image component stored in a database, or a virtual image created on a tile field (using the ComponentFieldImage function) of a table or of a query component . A virtual image supports all functions available for regular components.

 

Both physical and virtual images can be limited to using only selected records but the result will not be accepted as an image by query functions and will only work as a plain table with no spatial context.  Planes are to extend selections in images to be per-pixel and after that is accomplished, the result of limiting an image to only selected pixels also will work as an image.

 

Rectangles ignored - The rectangle value stored in an image component is used solely for display purposes and is ignored for both selects and transforms. Previously, some selects and transforms ignored the rectangle and others used it. Starting with this build, the system treats the rectangle as a strictly visual display frame that limits what part of the data is shown on the screen, similar to how a table window can limit which records are shown in the list by filtering field values, and ignore it for selects and transforms. Operations that do not depend on tile placement and which treat pixels independently from each other may operate either on all or on selected records. Operations that depend on tile placement always operate on all records. After per-pixel selections are implemented, all operations on images will be able to operate on only selected pixels.

 

Legacy rectangle issues - There is a potential issue with ignoring image rectangles for data analysis. Since some transforms previously used the rectangle value to limit queried data, it might have been possible for an image to contain garbage outside of the rectangle without this being noticed. It is also possible that some of the older dataports created such images during the import.  Preliminary checks on archived test files that were created with old builds have found no such images existing de-facto, but it is possible that they exist.

 

If any such images exist in the wild, running a transform on it will read data outside of the image rectangle that might not have been read in prior builds, and the results of the current transform may differ from the results from previous builds, likely to the worse. To understand whether an image contains data in pixels outside of the image rectangle, one can force the image rectangle to the extent of visible pixels. This currently requires using a query (see the changes to the ComponentBounds function).   

 

Upcoming builds will allow changing the image rectangle to cover all visible pixels via the UI. Upcoming builds likely will also allow cropping the image to the current rectangle, throwing away all data outside of the rectangle. Any instances indicating that a particular dataport or a UI tool may create an image with data in pixels outside of the image rectangle should be reported as a bug, to allow investigation and an immediate fix.

 

See Also

Select - Tiles: Expression

 

Select - Tiles: Null

 

Select - Tiles: Search

 

Select Reference

 

Select - Expression

 

Select - Binary

 

Select - Boolean

 

Select - Datetime

 

Select - Geometry

 

Select - Numbers

 

Select - Numeric Vectors

 

Select - Text

 

Select - UUID