Clipping data with polygons

Purpose:
  • Subset data with a polygon

  • Assign attribute data

  • Use PDAL pipeline

Clipping (Autzen)

_images/clipping-autzen-view.png

Clipping (setup)

  • Polygons as GeoJSON

  • Data in two coordinate system

  • First use of PDAL Pipeline

Clipping (polygon)

_images/clipping-view-polygons.png

Clipping (reproject)

  • GeoJSON in Geographic

  • LiDAR in State Plane

  • Use OGR VRT

Clipping (vrt)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
<OGRVRTDataSource>
    <OGRVRTWarpedLayer>
        <OGRVRTLayer name="OGRGeoJSON">
            <SrcDataSource>./exercises/analysis/clipping/attributes.json</SrcDataSource>
            <SrcLayer>attributes</SrcLayer>
            <LayerSRS>EPSG:4326</LayerSRS>
        </OGRVRTLayer>
        <TargetSRS>+proj=lcc +lat_1=43 +lat_2=45.5 +lat_0=41.75 +lon_0=-120.5 +x_0=399999.9999999999 +y_0=0 +ellps=GRS80 +units=ft +no_defs</TargetSRS>
    </OGRVRTWarpedLayer>
</OGRVRTDataSource>

Clipping (pipeline)

  • translate not expressive enough

  • Complex operations (merge, filter, write)

  • Repeatable operations with substitution

Clipping (pipeline)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
{
    "pipeline": [
        "./exercises/analysis/clipping/autzen.laz",
        {
            "column": "CLS",
            "datasource": "./exercises/analysis/clipping/attributes.vrt",
            "dimension": "Classification",
            "layer": "OGRGeoJSON",
            "type": "filters.overlay"
        },
        {
            "limits": "Classification[6:6]",
            "type": "filters.range"
        },
        "./exercises/analysis/clipping/stadium.las"
    ]
}

Attribute Filter

  • Assign point values

    • Polygon

    • Single value

Range Filter

  • Keep or reject values

Pipeline Strategy

  1. Assign with filters.overlay

  2. Filter with filters.range

Clipping (command)

1
pdal pipeline ./exercises/analysis/clipping/clipping.json --nostream

Clipping (verify)

_images/clipping-stadium-clipped.png

Other ways to clip