Skip to content

Commit d8d0104

Browse files
authored
Doc updates in preparation for 2.9 release (PDAL#4732)
* Fix PDAL#4662 * add include note for the three ways to describe bounds * spread 'bounds' note option description * add synonym for layer <-> lyr_name * add synonym for expression => limits * sanitize as many usages of filters.range => filters.expression as we can * unset release date
1 parent f45219f commit d8d0104

34 files changed

+199
-94
lines changed

doc/apps/translate.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -81,12 +81,12 @@ $ pdal translate \
8181

8282
Given these tools, we can now construct a custom pipeline on-the-fly. The
8383
example below uses a simple LAS reader and writer, but stages a voxel
84-
grid filter, followed by the SMRF filter and a range filter. We can even set
84+
grid filter, followed by the SMRF filter and a {ref}`filters.expression` filter. We can even set
8585
stage-specific parameters as shown.
8686

8787
```
88-
$ pdal translate input.las output.las voxelcenternearestneighbor smrf range \
89-
--filters.range.limits="Classification[2:2]"
88+
$ pdal translate input.las output.las voxelcenternearestneighbor smrf expression \
89+
--filters.expression.expression="Classification == 2"
9090
```
9191

9292
## Example 3:

doc/download.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
## Current Release(s)
66

7-
- **2025-05-22** [PDAL-2.9.0-src.tar.bz2] [Release Notes] ([md5])
7+
- **2025-XX-XX** [PDAL-2.9.0-src.tar.bz2] [Release Notes] ([md5])
88

99
## Past Releases
1010

doc/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ The entire website is available as a single PDF at <http://pdal.io/_/downloads/e
2626

2727
## News
2828

29-
### **05-22-2025**
29+
### **XX-XX-2025**
3030

3131
PDAL 2.9.0 was released. Visit {ref}`download` to grab a copy.
3232

doc/pipeline.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -122,8 +122,8 @@ files from a single pipeline. The crop filter creates two output point views
122122

123123
### Multiple Writers and Output Types
124124

125-
A pipeline can have multiple writers, but they must operate sequentially.
126-
If tags and inputs create seperate end points (multiple leaf nodes), not
125+
A pipeline can have multiple writers, but they must operate sequentially.
126+
If tags and inputs create seperate end points (multiple leaf nodes), not
127127
all stages will be executed. For example, you can have something like:
128128

129129
`Reader -> Filter -> Writer -> Filter -> Writer`
@@ -136,7 +136,7 @@ But you can not split the pipeline and write to multiple end points:
136136

137137
```
138138
Reader -> Filter -> Filter -> Filter -> Writer
139-
| |
139+
| |
140140
v v
141141
Writer Writer
142142
```
@@ -337,7 +337,7 @@ this job in more detail.
337337
A common task is to create a digital terrain model (DTM) from the input point
338338
cloud. This pipeline infers the reader type, applies an approximate ground
339339
segmentation filter using {ref}`filters.smrf`, filters out all points but the
340-
ground returns (classification value of 2) using the {ref}`filters.range`, and
340+
ground returns (classification value of 2) using the {ref}`filters.expression`, and
341341
then creates the DTM using the {ref}`writers.gdal`.
342342

343343
```json
@@ -351,8 +351,8 @@ then creates the DTM using the {ref}`writers.gdal`.
351351
"cell":1.0
352352
},
353353
{
354-
"type":"filters.range",
355-
"limits":"Classification[2:2]"
354+
"type":"filters.expression",
355+
"expression":"Classification == 2"
356356
},
357357
{
358358
"type":"writers.gdal",

doc/stages/bounds_opts.md

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
```{note}
2+
3+
Bounds can be expressed in multiple forms:
4+
5+
* Classical PDAL style
6+
7+
* 3D – `([xmin, xmax], [ymin, ymax], [zmin, zmax])`
8+
* 2D – `([xmin, xmax], [ymin, ymax])`
9+
10+
* [GeoJSON BBOX](https://datatracker.ietf.org/doc/html/rfc7946#section-5)
11+
12+
* 3D – `[xmin, ymin, zmin, xmax, ymax, zmax]`
13+
* 2D – `[xmin, ymin, xmax, ymax]`
14+
15+
* JSON Object
16+
17+
* 3D
18+
19+
```
20+
{
21+
"minx": 1,
22+
"miny": 2,
23+
"minz": 3,
24+
"maxx": 101,
25+
"maxy": 102,
26+
"maxz": 103
27+
}
28+
```
29+
30+
* 2D
31+
32+
```
33+
{
34+
"minx": 1,
35+
"miny": 2,
36+
"maxx": 101,
37+
"maxy": 102
38+
}
39+
```
40+
41+
* CRS
42+
43+
The JSON Object style form is the only one that can also include a
44+
definition using the `crs` member. It can be any valid PROJ-compatible
45+
CRS definition (WKT, WKT2, PROJJSON, PROJ.4 codes).
46+
47+
48+
```
49+
{
50+
"minx": 1,
51+
"miny": 2,
52+
"minz": 3,
53+
"maxx": 101,
54+
"maxy": 102,
55+
"maxz": 103,
56+
"crs": "EPSG:4326"
57+
}
58+
```
59+
```
60+

doc/stages/filters.approximatecoplanar.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ coplanar (1) or not (0).
2929

3030
The sample pipeline presented below estimates the planarity of a point based on
3131
its eight nearest neighbors using the approximate coplanar filter. A
32-
{ref}`filters.range` stage then filters out any points that were not
32+
{ref}`filters.expression` stage then filters out any points that were not
3333
deemed to be coplanar before writing the result in compressed LAZ.
3434

3535
```json
@@ -42,8 +42,8 @@ deemed to be coplanar before writing the result in compressed LAZ.
4242
"thresh2":6
4343
},
4444
{
45-
"type":"filters.range",
46-
"limits":"Coplanar[1:1]"
45+
"type":"filters.expression",
46+
"expression":"Coplanar == 1"
4747
},
4848
"output.laz"
4949
]

doc/stages/filters.crop.md

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -65,12 +65,10 @@ This example crops all points more than 500 units in any direction from a point.
6565

6666
bounds
6767

68-
: The extent of the clipping rectangle in the format
69-
`"([xmin, xmax], [ymin, ymax])"`. This option can be specified more than
70-
once by placing values in an array.
68+
: The extent of the clipping rectangle in the format. This option can be
69+
specified more than once by placing values in an array.
7170

72-
```{note}
73-
3D bounds can be given in the form `([xmin, xmax], [ymin, ymax], [zmin, zmax])`.
71+
```{include} bounds_opts.md
7472
```
7573

7674
```{warning}
@@ -119,4 +117,4 @@ a_srs
119117

120118
## Notes
121119

122-
1. See {ref}`workshop-clipping`: and {ref}`clipping` for example usage scenarios for {ref}`filters.crop`.
120+
1. See {ref}`workshop-clipping`: and {ref}`clipping` for example usage scenarios for {ref}`filters.overlay`.

doc/stages/filters.csf.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ using default options, and writing only the ground returns to the output file.
2121
"type":"filters.csf"
2222
},
2323
{
24-
"type":"filters.range",
25-
"limits":"Classification[2:2]"
24+
"type":"filters.expression",
25+
"expression":"Classification == 2"
2626
},
2727
"output.laz"
2828
]

doc/stages/filters.elm.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@ returns that are not marked as noise.
5757
"threshold":2.0
5858
},
5959
{
60-
"type":"filters.range",
61-
"limits":"Classification![7:7]"
60+
"type":"filters.expression",
61+
"expression":"Classification != 7"
6262
},
6363
"output.las"
6464
]

doc/stages/filters.estimaterank.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ and then filters out those points where the rank is three using
4242
"thresh":0.01
4343
},
4444
{
45-
"type":"filters.range",
46-
"limits":"Rank![3:3]"
45+
"type":"filters.expression",
46+
"expression":"Rank != 3"
4747
},
4848
"output.laz"
4949
]

0 commit comments

Comments
 (0)