# filters.overlay

The overlay filter allows you to set the values of a selected dimension based on an OGR-readable polygon or multi-polygon.

Default Embedded Stage

This stage is enabled by default

## OGR SQL support

You can limit your queries based on OGR’s SQL support. If the filter has both a datasource and a query option, those will be used instead of the entire OGR data source. At this time it is not possible to further filter the OGR query based on a geometry but that may be added in the future.

Note

The OGR SQL support follows the rules specified in ExecuteSQL documentation, and it will pass SQL down to the underlying datasource if it can do so.

## Example 1

In this scenario, we are altering the attributes of the dimension `Classification`. Points from autzen-dd.las that lie within a feature will have their classification to match the `CLS` field associated with that feature.

    [
        "autzen-dd.las",
        {
            "type":"filters.overlay",
            "dimension":"Classification",
            "datasource":"attributes.shp",
            "layer":"attributes",
            "column":"CLS"
        },
        {
            "filename":"attributed.las",
            "scale_x":0.0000001,
            "scale_y":0.0000001
        }
    ]

## Example 2

This example sets the Intensity attribute to `CLS` values read from the OGR SQL query.

    [
        "autzen-dd.las",
        {
            "type":"filters.overlay",
            "dimension":"Intensity",
            "datasource":"attributes.shp",
            "query":"SELECT CLS FROM attributes where cls!=6",
            "column":"CLS"
        },
        "attributed.las"
    ]

## Options

dimension

  Name of the dimension whose value should be altered. [Required]

datasource

  OGR-readable datasource for Polygon or MultiPolygon data. [Required]

column

  The OGR datasource column from which to read the attribute. [Default: first column]

query

  OGR SQL query to execute on the datasource to fetch geometry and attributes. The entire layer is fetched if no query is provided. [Default: none]

layer

  The data source’s layer to use. [Default: first layer]

where

  An expression that limits points passed to a filter. Points that don’t pass the expression skip the stage but are available to subsequent stages in a pipeline. [Default: no filtering]

where_merge

  A strategy for merging points skipped by a ‘where’ option when running in standard mode. If `true`, the skipped points are added to the first point view returned by the skipped filter. If `false`, skipped points are placed in their own point view. If `auto`, skipped points are merged into the returned point view provided that only one point view is returned and it has the same point count as it did when the filter was run. [Default: `auto`]