Bot releases are visible (Hide)
Published by abellgithub about 5 years ago
filters.icp
is no longer a plugin and provides options not previously available.filters.icp
is now natively supported. The PCL filters have been moved to the unsupported-plugins repository for those that might need functionality they provided.filters.covariancefeatures
computes statistics about features of points in a neighborhood. (#2455 - Thanks Helix.re!)readers.e57
reads the E57 format. (#2442 - Thanks Helix.re!)writers.e57
writes the E57 format. (#2442 - Thanks Helix.re!)writers.gltf
provides simple glTF mesh output support. (#2643)filters.reciprocity
computes the percentage of points that are considered uni-directional. (#2504 - @chambbj)filters.miniball
computes a criterion for neighbors based on the miniball algorithm. (#2504 - @chambbj)filters.planefit
computes a deviation of a point from a manifold approximating its neighbors. (#2504 - @chambbj)readers.memoryview
provides an API interface for direct reading of row-oriented point data. (#2620)filters.projpipeline
processes point through a PROJ pipeline. (#2626 - Thanks @vilaa!)filters.mongus
filters.kdistance
readers.greyhound
readers.mrsid
now supports more recent versions of the Mr. Sid SDK. (#2460)readers.tiledb
and writers.tiledb
now support stream mode processing. It also supports an append
option.readers.ept
now accepts an optional \<spatial reference>
after the bounds specification in the bounds
option to indicate the SRS of the provided boundary. (#2295)filters.hag
now supports interpolation from a TIN (triangulated network) of points. (#2520 - Thanks James McClain!)filters.poisson
now properly applies an inverse transform to points it creates. (#1840)pdal --drivers
now shows the file extensions associated with each driver. It also shows when stages are streamable. (#2571, #2528)readers.ept
.filters.colorization
to eliminate the possibility of writing invalid data. (#2487)filter.hexbin
. (#2507)readers.bpf
if the specified file didn't exist. (#2515)writers.gdal
where interpolation would terminate if the process hit the raster edge. (#2545)filters.ept
have been fixed. (#2585)pdal
now errors if an option is provided that wasn't expected. (#2574)Published by abellgithub over 5 years ago
Version 1.9.1 is a bug fix release.
writers.gdal
that could overflow with very largepdal density
has been fixed.filters.chipper
when processing multiplereaders.ept
overwriting temporary files before theyfilters.icp
would create data that appearedPublished by abellgithub over 5 years ago
precision
option for filters.hexbin
for WKT output has changed from "digits after the decimal point" to "total digits of precision". If you need text output as precise as possible, you should set the value to 17. This change is most obvious when using the boundary
option with the pdal info
command.filters.delaunay
now uses the delaunator library instead of geogram.readers.sbet
now reads angles as degrees rather than radians. (#2354)tindex
command now requires one of the subcommands create
or merge
. It no longer accepts the merge
option, which has been replaced by the merge
subcommand.PipelineManager::executeStream
is now of type StreamPointTable&
instead of FixedPointTable&
.default_srs
and override_srs
options. override_srs
is an alias for the existing spatialreference
option. default_srs
applies only if no spatial reference exists in the source file. (#2194, #2195)readers.pts
. (#2317)writers.las
for points with data format 6 and above and set the extended_point_type variable. (#2320, #2329)libgeotiff
path suffix when searching for the geotiff library with cmake.resolution
option to readers.ept
to limit the number of points read. (#2331)readers.rxp
now supports stream mode.invert
option to filters.head
and filters.tail
.filters.mongo
- Filtering of points using the mongo expression language.readers.tiledb
- Reads points from the tileDB database.writers.tiledb
- Writes points to the tileDB database.writers.ept_addon
- Adds sidecar data to an existing EPT dataset.filters.kdistance
- Replaced by filters.nndistance
. filters.kdistance
will be removed in the next PDAL release.filters.mongus
- Replaces by filters.pmf
and filters.smrf
fast_boundary
option (#2271)filters.smrf
and filters.pmf
now process all points if the NumberOfReturns
or ReturnNumber
dimension is missing. This fixes a regression introduced with PDAL 1.8. (#2275)scale=auto
and offset=auto
options now work with writers.bpf
in stream mode. (#1983)filters.crop
now uses the correct logic when the outside
option is used in standard mode. (#2305)writers.gdal
with streaming mode that caused an improper location shift in some instances has been fixed. (#2292)filters.icp
introduced by a change in PCL (see: https://github.com/PointCloudLibrary/pcl/issues/2724) that improperly removed a function call. (#2319)readers.tindex
now provides a default of "EPSG:4326" for the filter_srs
option. (#2316)filters.splitter
. (#2372)filters.python
that might have caused a crash in some circumstances.writers.gdal
that might access invalid memory in some situations. (#2448)Published by abellgithub almost 6 years ago
filters.hexbin
is now a built-in stage, rather than a plugin. (#2001)ght
compression in writers.pgpointcloud
. (#2148)@rpath
rather than @loader_path/../lib
StreamPointTable::StreamPointTable()
now requires the capacity of the table to be passed as an argument.denoise
and reset
options to pdal ground
. (#1579)readers.gdal
now supports stream mode and provides the header
option to map dimensions. It also supports fetching bounds without reading the entire file. (#1819)readers.mbio
added datatype
option to support reading sidescan data. (#1852)filters.stats
was computing expensive kurtosis and skewness statistics by default. These statistics are now available with the advanced
option. (#1878)condition
option for filters.assign
to limit assignment. (#1956)writers.pgpointcloud
(#2050)last
option with returns
to support more flexible segmentation in filters.smrf
and filters.pmf
. (#2053)writers.text
now supports stream mode. (#2064)pdal tile
kernel with streaming support to conveniently tile data. (#2065)writers.ply
now has a precision
option to specify output precision. (#2144)filters.smrf
and filters.pmf
supports complete range syntax for the ignore
option. (#2157)filters.hexbin
now supports stream mode. (#2170)readers.numpy
now has the order
option, which replaces the previous x
, y
and z
options. It also supports structured numpy arrays and maps values to the X, Y and Z dimensions accordingly.spatialreference
option.readers.numpy
.readers.rdb
- Support reading RIEGL RDB data.readers.i3s
- Support reading of web service-style Esri I3S point clouds.readers.slpk
- Support reading of file-based I3S-style point clouds.writers.fbx
- Experimental Unity engine (SDK required) support. (#2127)filters.nndistance
- Replaces filters.kdistance
and adds average distance support. (#2071)filters.dem
- Filter data based on bounds relative to a raster value. (#2090)filters.delaunay
- Create a delauany triangulation of a point cloud. (#1855)filters.info
- Generate metadata about an input point set. Used by pdal info
.filters.kdistance
- Replaced by filters.nndistance
.filters.reprojection
in stream mode that would improperly reproject when there were multiple input sources with differing SRSs. (#2058)writers.gdal
where output would be aggregated if multiple inputs were provided. (#2074)count
option was not respected in stream mode. It now properly limits the number of points read. (#2086)writers.gdal
. Most data differences were small and not usually problematic. (#2095)filters.returns
that could cause more point views to be returned than requested. (#2115)count
option isn't set for readers.faux
. (#2128)filters.crop
in streaming mode with multiple crop areas that could return too few points. (#2198)minimal
option for readers.rxp
that was documented but not fully implemented. (#2225)readers.rxp
exposed with a newer SDK. (#2226)Published by hobu over 6 years ago
-Werror
-related warnings (#1915)writers.las
in stream mode (#1940)readers.text
(#1939 )pdal-config
owner writeable for Conda packaging (#1964)filters.ferry
would create dimensions with bad types (#1930)Published by abellgithub over 6 years ago
filter.ferry
now creates output dimensions with the same type as the input dimension. It also takes an arrow '=>' in addition to '=' in the --dimension
specification.filters.hexbin
now falls back to slow boundary creation if no bounds information exists to do fast boundary creation.readers.gdal
and filters.colorization
now attempt to create dimensions with the type of the associated raster.pdal pipeline
and pdal translate
now use stream mode if the operation being performed is streamable. An option --nostream
has been added to both commands to prevent the use of stream mode. The --stream
option of pdal pipeline
is now obsolete and ignored.--timegap
and --speedmin
to readers.mbio
to allow configuration of which points should be read.writers.bpf
now supports the option auto
for the coord_id
option to allow the UTM zone to be set from the spatial reference if possible (#1723).--option_file
option (#1641).filters.crop
.--reverse
option to filters.mortonorder
to provide a point ordering for good dispersal.readers.bpf
now supports the TCR (ECEF - earth centered, earth fixed) coordinate system.--use_eb_vlr
to allow readers.las
to interpret an extra bytes VLR as if the file were version 1.4 even if it's using an earlier LAS version.readers.text
added options --header
and --skip
to provide an alternative header line and to allow skipping lines before reading the header, respectively.writers.text
now supports the ability to specify individual dimension precision using a colon (':') and integer following the dimension name in the --order
option.readers.numpy
adds support for reading from Numpy (.npy) save files.pdal info
now provides the --enumerate
option. See the documentation for filters.stats for details.--logtiming
to cause log output to contain the elapsed time from the start of the program. (#1882)filters.hexbin
.readers.greyhound
- Allows reading points from a source using the greyhound protocol.filters.neighborclassifier
- Re-classifies points based on the classification of neighboring points.filters.computerange
- Use filters.python
to simulate the functionality.filters.range
now always rejects NaN values as out of range.--timegap
value in readers.mbio
from 0 to 1 second.pdal translate
where overriding a reader or writer from a pipeline wouldn't create the proper pipeline.writers.tindex
that could cause a crash if the output file wasn't LAS.filters.hexbin
when density/area can't be calculated.filters.reprojection
in stream mode. (#1877)readers.las
.filters.poisson
.readers.ply
.--stdin
option for kernels.tindex
didn't work. Now it does. Various other fixes were made.writers.gdal
now throws an error if an attempt is made to write an output file with no points available.readers.pcd
and writers.pcd
could get confused with dimensions from readers.sbet
and writers.sbet
.filters.voxelcentroidnearestneighbor
and filters.voxelcenternearestneighbor
#1901Published by abellgithub about 7 years ago
filters.programmable
and filters.predicate
with the more general filters.python
.filters.matlab
(#1661).approximate
option from filters.pmf
and add an exponential
option.preaders.text
was expanded from 255 to 4095 (#1657).filters.cpd
.filters.splitter
can now create buffered tiles with the buffer
option.writers.ply
can now be made to write faces of an existing mesh (created with filters.greedyprojection
or filters.poisson
) if the faces
option is used. An option dims
has also been added that allows specification of the dimensions to be written as PLY elements. The writer also now supports streaming mode.readers.text
is now automatically invoked for .csv files.filters.randomize
can now be created by the stage factory (#1598).filters.normal
(#1638).readers.las
now provides the ignore_vlr
option to allow named VLRs to be dropped when read (#1651).writers.gdal
to write output rasters of type other than double (#1497).filters.sqlite
is now invoked automatically for .gpkg files.filters.colorinterp
can now be used in streaming mode in some cases (#1675).filters.ferry
can now create new dimensions without copying data (#1694).classify
and extract
options that were removed from filters.ground
in the last release.filters.greedyprojection
- Performs triangulation of points (surface reconstruction) based on the greedy projection algorithm.filters.poisson
- Performs triangulation of points (surface reconstruction) based on the algorithm of Kazhdan.filters.head
- Passes through only the first N points.filters.tail
- Passes through only the last N points.filters.cpd
- Calculates and applies a transformation to align two datasets using the Coherent Point Drift registration algorithm.filters.icp
- Calculates and applies a transformation to align two datasets using the Iterative Closest Point registration algorithm.filters.voxelcenternearestneighbor
- Finds points closest to the center of a voxel (#1597).filters.voxelcentroidnearestneighbor
- Finds points closest to the controid of points in a voxel (#1597).filters.python
- Replaces filters.predicate
and filters.programmable
.filters.matlab
- Provides support for matlab manipulation of PDAL points and metadata (#1661).readers.osg
to support Open Scene Graph format.readers.matlab
to support reading data from a user-defined Matlab array struct. The same structure is written by writers.matlab
.kernels.tindex
would unconditionally set the spatial reference on a feature from the a_srs
option. The spatial reference stored in a_srs
is now only used if explicitly set or no spatial reference was present.writers.gdal
could fail to check for an out-of-bounds point, potentially leading to a crash.filters.cluster
where the points wouldn't properly be placed in the first cluster because the starting cluster number was incorrect.global_encoding
option is initialized to 0 in writers.las
(#1595).filters.crop
would attempt to treat a 2D bounding box as 3D, yeilding a NULL bounding box and an error in behavior (#1626).compression
option was provided.Published by hobu over 7 years ago
--visualize
capability of the pdal
command line application has been removed.writer.derivative
has been removed. Use gdaldem for faster and more featureful equivalent functionality.writers.p2g
has been removed. It was replaced by writers.gdal
in 1.4, but the P2G writer was essentially unmaintained and we will be using the GDAL one going forward.filters.attribute
was split into filters.assign
and filters.overlay
to separate their functionalitiesfilters.pmf
and filters.outlier
have dropped the classify
and extract
options. They now only classify points and leave it downstream filters to ignore/extract classifications as needed.filters.outlier
has changed the default classification for noise points from 18
to 7
to match the LAS classification code for "Low point (noise)".pdal pipeline
now supports a --stream
option which will default to one-at-a-time or chunk-at-a-time point processing when all stages in the pipeline support it. You can use this option to control memory consumption -- for example when interpolating a very large file with writers.gdal
filters.crop
was enhanced to support transformed filter polygons, streaming, and radius cropping.readers.greyhound
updated to support greyhound.io 1.0 release, with the most significant enhancement being support for passing downstream JSON filters.user_data
JSON object can be applied to any PDAL pipeline object and it will be carried through processing. You can use this mechanism for carrying your own information in PDAL pipelines without having to sidecar data. #1427writers.las
now can write pdal_metadata
and pdal_pipeline
VLRs for processing history tracking. #1509 #1525metadata
, schema
, and spatialreference
objects added to global module for filters.programmable
and filters.predicate
Python filters.pdalargs
option for filters.programmable
and filters.predicate
allow you to pass in a JSON dictionary to your Python module for override or modification of your scriptwriters.las
#1542filters.sort
now supports descending order and uses std::stable_sort
#1530 (Thanks to new contributor @wrenoud )pdal tindex
will now use data bounds if filters.hexbin
cannot be loaded for boundaries #1533filters.pmf
and filters.smrf
improved performance #1531 and #1541filters.assign
now supports Range-based filtersfilters.outlier
now accepts a user-specified class
to override the default value of 7
for points deemed outliers. #1545filters.pmf
and filters.smrf
now accept a Range via the ignore
option to specify values that should be excluded from ground segmentation. #1545filters.pmf
and filters.smrf
now consider only last returns (when return information is available) as the default behavior. The last
option can be set to false
to consider all returns. #1545filters.cluster
- Perform Euclidean cluster extraction, and label each point by its cluster ID. By @chambbj.filters.groupby
- Split incoming PointView into individual PointViews categorically, e.g., by Classification. By @chambbj.filters.locate
- Locate and return the point with the minimum or maximum value for a given dimension. By @chambbj.filters.emf
- Extended Local Maximum filter. By @chambbj.readers.mbio
Bathymetric point cloud support for formats supported by the MB-System software librarywriters.pgpointcloud
needed to treat table schema correctly https://github.com/PDAL/PDAL/pull/1540 (thanks @elemoine)pdal density
kernel now supports overriding filters.hexbin
options #1487radius
in writers.gdal
#1475writers.ply
broken for non-standard dimensions #1556writers.las
for files < LAS 1.4 #1551Published by hobu almost 8 years ago
--scale
and --offset
kernel options are no longer supported. Specify using stage-specific options as needed.--validate
option of the pdal pipeline
command now invokes the preparation portion of the pipeline to force validation of options.--verbose
option to pdal
now accepts log level names ("Error", "Warning", "Info", "Debug", "Debug1", "Debug2", "Debug3", "Debug4" and "Debug5") in addition to the corresponding numeric values (0 - 8).filters.colorinterp
- Ramp RGB colors based on a specified dimension. By @hobufilters.mad
- Filter outliers in a given dimension by computing Median Absolute Deviation (MAD). By @chambbjfilters.lof
-Filters outliers by Local Outlier Factor (LOF). By @chambbjfilters.estimaterank
- Estimate rank of each neighborhood of k-nearest neighbors. By @chambbjfilters.eigenvalues
- Compute pointwise Eigenvalues. By @chambbjfilters.iqr
- Filter outliers in a given dimension by computing Interquartile Range (IQR). By @chambbjfilters.kdistance
- Compute pointwise K-distance. By @chambbjfilters.radialdensity
- Compute pointwise radial density. By @chambbjfilters.outlier
- Radius and statistical outliers. By @chambbjwriters.gdal
- points2grid replacement. By @abellgithubkernels.hausdorff
- Compute Hausdorff distance between two point clouds. By @chambbjtarget_include_directory
and target_link_libraries
.pdal --showjson --drivers
and pdal --showjson --options
to support application builders being able to fetch active lists of stages, kernels, and options. https://github.com/PDAL/PDAL/issues/1315
kernels.density
- Density kernel now supports writing into an existing OGR datasource https://github.com/PDAL/PDAL/pull/1396
readers.greyhound
- Greyhound reader refactor.
writers.derivative
- Derivative writer refactor.
slope_d8
slope_fd
aspect_d8
aspect_fd
contour_curvature
profile_curvature
tangential_curvature
hillshade
total_curvature
filters.crop
- Radial cropping https://github.com/PDAL/PDAL/issues/1387
filters.stats
- Optional per-dimension median and MAD computationwriters.p2g
now uses the InCoreInterp method of the points2grid code. This uses more memory but runs faster and doesn't crash."." "./lib", "../lib", "./bin", "../bin"
. Use PDAL_DRIVER_PATH
to explicitly override the plugin search location.--smooth
option to filters.hexbin
to allow user control of boundary smoothing.filters.hexbin
now returns MULTIPOLYGON EMPTY
when it is unable to compute a boundary.--compression
option for writers.pcd
has been fixed so that the writer actually compresses as requested.readers.text
.readers.text
now detects the case when a dimension has been specified more than once in an input file.filters.splitter
could create cells larger than requested about the X and Y axes.writers.nitf
now errors if it attempts to write an FTITLE field that exceeds the allowable length.filters.sort
could fail to properly order points depending on the implementation of the C++ sort algorithm.Published by hobu about 8 years ago
Changes of Note:
Enhancements:
Fixes:
1.2.0:
Changes of Note:
Enhancements:
Fixes:
Published by abellgithub almost 9 years ago
1.1.0:
Enhancements:
Fixes: