Releases: PDAL/PDAL
2.7.1
Bug Fixes
- Add more logging to
readers.stac
#4353 - Don't break strict aliasing rules #4361
- Don't do
readers.las
ready()
processing if there are no points #4363 readers.arrow
andwriters.arrow
do not require GDAL CMake dependency #4365- Add
writers.tiledb
duplicate points config #4370 - use
CONFIG
CMakefind_package
forfilters.arrow
andreaders.draco
/writers.draco
#4369 - Don't attempt tree isolation for isolated point in
filters.litree
#4373
Changelog since 2.7.0: 2.7.0...2.7.1
Changelog between 2.7.0 and 2.7.1: 2.7.1...2.7-maintenance
2.7.0
New Stages
- Add
filters.sparsesurface
sparse surface filter by @chambbj in #4330 - Add
filters.h3
to add H3 index values to points by @hobu in #4345 - Add
filters.griddecimation
grid decimation filter by @alavenant in #4223
Enhancements
- implement
filters.hexbin.density
by @hobu in #4244 - add
ogr
block to filters.geomdistance by @hobu in #4236 - Threaded
readers.las
by @abellgithub in #4219 - Add math unary functions to AssignmentStatement in
filters.expression
andfilters.assign
by @hobu in #4288 filters.assign
can now create dimensions by @hobu in #4282- Add
readers.las.ignore_missing_vlrs
by @wintal in #4299 - Add extra dim support to
writers.copc
by @abellgithub in #4309 - Added threading functionality to
filters.overlay
by @bramton in #4307 filters.expression
multiple expressions evaluation by @hobu in #4328- Add random filename support to Writers by @hobu in #4342
- update embedded Eigen to 3.4.0 by @hobu in #4335
Bug Fixes
Build
- update gitignore for xcode compilation by @alavenant in #4224
- Allow pdal to link with CURL target by @Faroito in #4235
- add OWNER_WRITE permissions to installs by @hobu in #4259
- Fix convention error with
xmlErrorPtr
caused bylibxml2
API change by @aimixsaka in #4257 - Remove remaining pdal_util library references by @abellgithub in #4267
- Use standard CMake installation locations by @hobu in #4291
- add osx arm runner by @hobu in #4312
- Use correct location for bash completion files by @bramton in #4314
- WITH_GCS option by @hobu in #4323
General
- Fix
readers.stac
doing head requests before necessary by @kylemann16 in #4220 - Set while condition for
filters.litree
to be larger than min points by @fnands in #4218 readers.copc.bounds
produces different results thanfilters.crop.bounds
by @abellgithub in #4246- Fix position calculation when parsing bounds. by @abellgithub in #4240
- StacReader::addDimensions implementation by @hobu in #4222
- Zero out point count fields when creating a LAS file that has no points. by @connormanning in #4249
- Correct metadata point counts for remote-las-file optimization by @connormanning in #4251
- Fixing seg fault referencing bounding box array entry. by @kylemann16 in #4266
- Fix classification mask for LAS V10 loader utility by @connormanning in #4269
- Fix getting/setting the pointFormat of LAZ-files via LasHeader by @AlexBass05 in #4286
- Added the height difference threshold as parameter to the CSF filter. by @bramton in #4289
- Fix LAS DOY calculation. by @abellgithub in #4296
- skip AutoIdentifyEPSG() call for identifyVerticalEPSG by @hobu in #4347
filters.decimation
non-integer step by @rcoup in #4348- Fixed logic for adding srs to bounds filtering by @kylemann16 in #4300
- Threading rework by @bramton in #4320
- Make sure transform is valid before use by @abellgithub in #4326
- Control
readers.ept
thread queue more carefully to prevent it from filling too fast and using too much memory #4359 - Provide a better warning for classifications being written into PDRFs in
writers.las
that will not fit #4358 - Warning noise cleanup #4354
- Memoize a few things in
writers.arrow
for better perfomrance #4349
Arbiter
- Update arbiter bundle by @connormanning in #4253
- Arbiter updates for S3 endpoints.json handling by @connormanning in #4254
- Update arbiter bundle for AWS_ENDPOINT_URL env setting by @connormanning in #4325
- Update arbiter bundle to remove public crypto macros by @connormanning in #4334
TileDB
- Add and fix TileDB filter options by @jp-dark in #4233
- Add cell_order and tile_order options to TileDB writer by @jp-dark in #4274
- Fix time tile check for missing tile warning by @jp-dark in #4276
- Update how TileDB domain is set when not provided by user by @jp-dark in #4277
- Added tiledb metadata fields to easily tag array type by @normanb in #4293
- Update minimum TileDB version to 2.18.0 by @jp-dark in #4336
Docs
- Update ground.rst by @wiringa in #4213
- Update denoising.rst by @wiringa in #4212
- Add streaming tutorial by @oleg-alexandrov in #4238
- Use current PDAL for workshop by @j9ac9k in #4283
- Update hausdorff.rst by @jf-geo in #4285
- Fixed 'Edit on GitHub' link. by @bramton in #4290
- Update filters.groupby documentation. by @bramton in #4303
- Update LasWriter.compression documentation by @AlexBass05 in #4305
- Fixed anchor location of
Processing Modes
by @bramton in #4306 - Update writers documentation about LAZ support by @AlexBass05 in #4311
- fixed spelling error in filters.rst -> filters.litree documentation. by @Keenan-Nicholson in #4316
- Add reading streamer example by @oleg-alexandrov in #4247
- Add an example of a standalone program for applying a filter by @oleg-alexandrov in #4250
- Add Workshop Setup Instructions for ArcGIS Users by @j9ac9k in #4344
New Contributors
- @n4z4m3 made their first contribution in #3952
- @mmuetzel made their first contribution in #3957
- @jshrake made their first contribution in #3958
- @andre-schulz made their first contribution in #3987
- @jp-dark made their first contribution in #4021
- @jgrocha made their first contribution in #4030
- @Faroito made their first contribution in #4032
- @cbrl made their first contribution in #4039
- @dg0yt made their first contribution in #4044
- @GannonGuess made their first contribution in #4054
- @kannes made their first contribution in #4087
- @fq made their first contribution in #4088
- @ibell13 made their first contribution in #4096
- @zdila made their first contribution in #4114
- @leavauchier made their first contribution in #4133
- @lukekas made their first contribution in #4152
- @dependabot made their first contribution in #4164
- @nilason made their first contribution in #4198
Full Changelog: 2.6.0...2.7.0
2.6.3
Bug Fixes
- Fix LAS day of year calculation #4296 #4295
- Add tiledb metadata fields #4293
- Fix 'Edit on Github' link #4290 (thanks @bramton!)
- Use correct location for bash completion files #4314 (thanks @bramton!)
- Update
filters.groupby
documentation #4303 (thanks @bramton!) - Fixed speling error in
filters.litree
documentation #4316 (thanks @Keenan-Nicholson!) - Fix getting/setting PDRF in LasHeader #4286 (thanks @AlexBass05!)
- Update hausdorff.rst #4285 (thanks @jf-geo!)
- Update PDAL workshop #4283 (thanks @j9ac9k!)
- Fixed logic of srs bounds filtering for
readers.stac
#4300 (thanks @kylemann16!)
Changelog since 2.6.2: 2.6.2...2.6.3
Changelog between 2.6.0 and 2.6.3: 2.6.3...2.6-maintenance
2.6.2
Bug Fixes
- Fix
xmlErrorPtr
by new libxml2 API (thanks @aimixsaka!) #4257 - Add OWNER_WRITE permissions to installs #4259
- default to WITH_BACKTRACE=OFF #4262
- Fix segfault in
readers.stac
in some situations #4266 - Remove remaining
pdal_util
library refrences #4267 - Add
cell_order
andtile_order
options towriters.tiledb
#4274 - Fix time tile check for missing tile warning in
writers.tiledb
#4276 - Update TileDB domain in
writers.tiledb
#4277
Changelog since 2.6.1: 2.6.1...2.6.2
Changelog between 2.6.0 and 2.6.2: 2.6.2...2.6-maintenance
2.6.1
Bug Fixes
- Arbiter S3 endpoints #4254
- Arbiter cout lint #4253
- Correct counts for
readers.las
remote files #4251 #4249 writers.copc
missing node metadata for very small files #4246- Fix position calculation for bounds parsing #4240
- Add a streaming tutorial #4238 (Thanks @oleg-alexandrov!)
- Allow PDAL to link curl target #4235
- Add and fix TileDB options #4233
readers.stac
AddDimensions support #4222- Fix significant
readers.stac
performance regression #4220 - Set while condition in
filters.litree
#4218 (thanks @fnands!)
Changelog since 2.6.0: 2.6.0...2.6.1
Changelog between 2.6.0 and 2.6.1: 2.6.0...2.6-maintenance
2.6.0
Changes of Note
chamfer
,delta
,density
,eval
,ground
,hausdorff
, andrandom
kernels are deprecated. These can now be implemented in Python. See #4209 for deprecation schedule.readers.las
andreaders.copc
now supportsrs_vlr_order
, which allows users to explicitly control which CRS definition is used #4205- GDAL 3.4+ is now required by @hobu in #3997
- Alternative GeoJSON and object
pdal::Bounds
spellings by @hobu in #4042 - Implement
-DSTANDALONE=ON
plugin building for common plugins by @hobu in #4103 - Implement Gnuinstalldirs support by @hobu in #4052
- Add optional WKTv2 VLRs to LAS by @jjimenezshaw in #3998
- CMake 3.13 is now the minimum supported CMake version by @hobu in #4137
- pdal_util into pdalcpp are no longer separately installed libraries. Just use
pdalcpp.{dylib|so|dll}
by @hobu in #4139 - Split out ClassFlags into its bitfields for
readers.las
,readers.copc
,writers.las
andwriters.copc
by @connormanning in #4186
New Stages
filters.georeference
filter by @gui2dev in #4109filters.straighten
filter by @gui2dev in #4108writers.arrow
for GeoParquet and Arrow IPC write support by @hobu in #4115readers.arrow
for GeoParquet and Arrow IPC read support by @hobu in #4115
Enhancements
- Add optional debug argument to
filters.csf
by @n4z4m3 in #3952 - add allow_empty option to
writers.gdal
to support writing empty GDAL output by @hobu in #3984 readers.stac
now streamable by @hobu in #3989readers.tindex
now streamable by @hobu in #3992readers.gdal
performance enhancements by @hobu in #3991pdal info
now outputs PROJJSON as actual JSON for pdal info by @hobu in #4003- Add spherical coordinates support to
readers.e57
readers by @Faroito in #4032 - Implement in and out coordinate epoch support in SRS transformations by @hobu in #4049
- Add
Roll
andPitch
toreaders.rxp
by @hobu in #4067 - remote
readers.bpf
andwriters.bpf
stage-n-push support by @hobu in #4066 - Support remote files for
readers.nitf
#4025 by @hobu in #4062 - Update TileDB compression filter support by @jp-dark in #4056
- Update S3 driver for IMDSv2 instance profile flow by @connormanning in #4063
- add
.vpc
to recognized extensions forreaders.stac
and QGIS #4072 by @hobu in #4073 - add
filters.stats.commonsrs
to allow user to override the default coordinate system for bounds computation by @hobu in #4150 - add 'normal x', 'normal y', 'normal z', and 'height above ground' as dimension name aliases @hobu in #4188
- Add tolerance in barycentric interpolation by @leavauchier in #4155
readers.i3s
andreaders.slpk
are now always-on readers by @hobu in #4145- Update arbiter bundle by @connormanning in #4089
readers.tindex.reader_args
by @hobu in #4098- Enhancements/fixes related to coordinate system epochs by @rouault in #4154
- Support GeoJSON with 'srs' override as 'polygon' parameters in pipelines by @hobu in #4101
Bug Fixes
- Fix building with MinGW by @mmuetzel in #3957
- Fix case where endpoint lies exactly on a grid intersection. by @abellgithub in #3959
- Fix S3 HEAD requests by @connormanning in #3961
- Remove redundant header include in EsriReader.hpp by @andre-schulz in #3987
- Fix UB when casting negative doubles by in
filters.voxelcentroidnearestneighbor
@pierotofy in #4015 - Fix MinGW builds by @dg0yt in #4044
- Don't use const_cast by @dg0yt in #4043
- Don't open
readers.nitf
stream multiple times if already open by @hobu in #4017 - Check that the userId of the first VLR is 'copc' by @hobu in #4006
- rethrow arbiter::ArbiterError in situations where we can't open a file by @hobu in #4033
- Include to fix GCC 13 compatibility by @cbrl in #4039
- Update TileDB array timestamp handling by @jp-dark in #4038
- TileDB deprecated function clean-up by @jp-dark in #4037
- Allows mixing user set and auto-generate domains for the TileDB writer by @jp-dark in #4040
- Fix handling of string
readers.las
header items containing spaces by @abellgithub in #3967 - Handle 0 points in
filters.greedyprojection
by @hobu in #4022 - prevent invalid conversion from const compile error by @jgrocha in #4030
- Point view sorting not working on newer OSX compilers by @connormanning in #4058
- Make EPT reader origin query more robust by @connormanning in #4075
- Write las header bounding box using the converted coordinates by @fq in #4088
- Fix legacy return count in
writers.las
by @leavauchier in #4133 - COPC/LAS: properly set legacy return counts for LAS1.4/PDRF>=6 by @rcoup in #4183
- fix crashing for non-sql OGR filters in
readers.ept
andreaders.copc
by @hobu in #4181 - Terminate when input is smaller than requested output size or radius has grown too small in
filters.relaxationdartthrowing
by @chambbj in #4184 - Fix edge cases in EPT origin query by @connormanning in #4141
- Fix
readers.pcd
reading of 64bit values by @hobu in #4158 - Fix OB1 error in
pdal tile
by @abellgithub in #4122 writers.copc
: round X/Y/Z values to matchwriters.las
by @rcoup in #4180- Always read COPC file VLRs and add to metadata by @hobu in #4136
TileDB
- Fix FindTileDB.cmake to check version by @jp-dark in #4077
- Refactor internal TileDB plugin by @jp-dark in #4082
- Fix TileDBWriter argument types by @jp-dark in #4100
- Create updated filter profiles for TileDB writer by @jp-dark in #4107
- Add bit field packing to TileDB reader/writer by @jp-dark in #4134
- Set default chunk_size to be larger than capacity by @jp-dark in #4135
Docs
- PDAL Workshop updated to use COPC by @GannonGuess @ibell13 @TomTheTonk in #4054
- Update docs for TileDB stages by @jp-dark in #4079
- Additional example for filter.assign by @kannes in #4087
- Update filters.chipper.rst by @lukekas in #4152
- Add workshop instructions for offline/USB install + small fixes by @j9ac9k in #4167
New Contributors
- @n4z4m3 made their first contribution in #3952
- @mmuetzel made their first contribution in #3957
- @jshrake made their first contribution in #3958
- @andre-schulz made their first contribution in #3987
- @jp-dark made their first contribution in #4021
- @jgrocha made their first contribution in #4030
- @Faroito made their first contribution in #4032
- @cbrl made their first contribution in #4039
- @dg0yt made their first contribution in #4044
- @GannonGuess made their first contribution in #4054
- @kannes made their first contribution in #4087
- @fq made their first contribution in #4088
- @ibell13 made their first contribution in #4096
- @zdila made their first contribution in #4114
- @leavauchier made their first contribution in #4133
- @lukekas made their first contribution in #4152
- @dependabot made their first c...
2.5.6
Bug Fixes
- Address header scaling issues in
writers.copc
andwriters.las
#4088 #4099 - Fix gcc12 eigen warnings #4102
- Update arbiter bundle for IMDSv2 AWS improvements #4089
- More workshop instruction improvements #4096 (Thanks @ibell13 !)
Changelog since 2.5.5: 2.5.5...2.5.6
Changelog between 2.5.6 and 2.5.0: 2.5.0...2.5-maintenance
2.5.5
Bug Fixes
- Add
.vpc
to recognized extensions forreaders.stac
#4072 #4073 - Provide S3 IMDS V2 auth fallback #4070
- Add Roll and Pitch per-point output to
readers.rxp
- Support remote
readers.bpf
andwriters.bpf
with stage-n-push support - Significant PDAL Workshop documentation updates #4061 (Thanks @GannonGuess and @TomTheTonk!)
Changelog since 2.5.4: 2.5.4...2.5.5
Changelog between 2.5.5 and 2.5.0: 2.5.0...2.5-maintenance
2.5.4
Bug Fixes
- Random shuffling of
pdal::PointRef
does not work correctly on some compilers. For PDAL the impact was limited tostd::stable_sort
. It has been addressed by #4065 and #4058 with possibly breaking changes coming in 2.6.0 readers.ntif
didn't support remote files #4025- standalone builds of
readers.rxp
did not work #4060 Utils::trimLeading
andUtils:trimTrailing
might not have worked correctly on some compilers #4055- Remove unneeded
readers.icebridge
heap allocation that was being improperly freed #4050 - Fixup mingw builds #4044 (thanks @dg0yt!)
<cstdint>
now needed for E57 library (thanks @cbrl!) #4039- Rethrow
arbiter::ArbiterError
which was being swallowed inopenFile
#4033 - Prevent invalid const_cast so GDAL 3.7.0 works (thanks @jgrocha and @dg0yt!) #4030
- Arbiter S3 driver IMDSv2 support did not work #4063
Changelog since 2.5.3: 2.5.3...2.5.4
Changelog between 2.5.4 and 2.5.0: 2.5.0...2.5-maintenance
2.5.3
Bug Fixes
pdal info --metadata
was ill-formed #4004 #4002- Check that the first VLR userId is
copc
#4006 - Check if directory exists before listing it #4007
- Check for out of bounds for VoxelCentroidNearestNeighborFilter #4015
- Don't open
readers.nitf
streams multiple times if already open #4017 - Harden
pdal::Geometry
from invalid references #4018 - Handle 0 points in
filters.greedyprojection
#4022
Changelog since 2.5.2: 2.5.2...2.5.3
Changelog between 2.5.3 and 2.5.0: 2.5.0...2.5-maintenance