[Git][debian-gis-team/pdal][upstream] New upstream version 1.9.0+ds
Bas Couwenberg
gitlab at salsa.debian.org
Tue Apr 9 18:18:47 BST 2019
Bas Couwenberg pushed to branch upstream at Debian GIS Project / pdal
Commits:
4dc2836b by Bas Couwenberg at 2019-04-09T16:08:05Z
New upstream version 1.9.0+ds
- - - - -
10 changed files:
- .travis.yml
- RELEASENOTES.txt
- doc/development/compilation/dependencies.rst
- doc/development/compilation/index.rst
- doc/development/compilation/unix.rst
- doc/development/metadata.rst
- doc/development/release-notes/1.9.0.md
- doc/download.rst
- pdal/GDALUtils.hpp
- scripts/conda/osx.sh
Changes:
=====================================
.travis.yml
=====================================
@@ -15,7 +15,7 @@ script:
after_success: |
if [[ "$TRAVIS_SECURE_ENV_VARS" == "true" &&
- "$TRAVIS_BRANCH" == "1.8-maintenance" &&
+ "$TRAVIS_BRANCH" == "1.9-maintenance" &&
-n "$encrypted_6a5172b96922_key" ]]
then
cd scripts/ci
=====================================
RELEASENOTES.txt
=====================================
@@ -33,6 +33,46 @@ Enhancements
``spatialreference`` option. ``default_srs`` applies only if no
spatial reference exists in the source file. (#2194, #2195)
- Added some dimension detection capability to ``readers.pts``. (#2317)
+- Hardened API use of LASzip in ``writers.las`` for points with data
+ format 6 and above and set the extended_point_type variable. (#2320,
+ #2329)
+- .. rubric:: Changes of Note
+ :name: changes-of-note-1
+
+- PDAL now requires at least version 2.2 of GDAL.
+- Pipelines can optionally be specified as an array of stages (without
+ an encapsulating “pipeline” object).
+- The location of installed cmake files has been changed to match the
+ cmake convention.
+- ``filters.delaunay`` now uses the delaunator library instead of
+ geogram.
+- PDAL no longer depends on the GEOS library. However, some polygon
+ functions will not work if PDAL isn’t built with a version of the
+ GDAL library that has GEOS support.
+- PDAL now uses the standard cmake script to locate the necessary GDAL
+ files when building.
+- ``readers.sbet`` now reads angles as degrees rather than radians.
+ (#2354)
+- The ``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.
+- The argument for the function ``PipelineManager::executeStream`` is
+ now of type ``StreamPointTable&`` instead of ``FixedPointTable&``.
+
+.. _enhancements-1:
+
+Enhancements
+============
+
+- All readers now accept the ``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)
+- Added some dimension detection capability to ``readers.pts``. (#2317)
+- The build system now has enhanced conflict detection of mixed python
+ 2/3 installations. Make sure that you have header
+ files/libraries/interpreter/numpy support for either python 2 or
+ python 3.
- Hardened API use of LASzip in ``writers.las`` for points with data
format 6 and above and set the extended_point_type variable. (#2320,
#2329)
@@ -91,7 +131,69 @@ Bug fixes
a crash in some circumstances.
- Generalized the python library re-loaded by PDAL when being used as a
python extension. This is only relevant on some Unix distributions.
+- Support the ``libgeotiff`` path suffix when searching for the geotiff
+ library with cmake.
+- Added a ``resolution`` option to ``readers.ept`` to limit the number
+ of points read. (#2331)
+- ``readers.rxp`` now supports stream mode.
+- Added the ``invert`` option to ``filters.head`` and ``filters.tail``.
+- Added support for subcommands in kernels. (#2293)
+- Fixed a bug in ``writers.gdal`` that might access invalid memory in
+ some situations. (#2448)
+
+.. _new-stages-1:
+
+New stages
+==========
+
+- ``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.
+
+.. _deprecated-stages-1:
+Deprecated stages
+=================
+
+- ``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``
+
+.. _bug-fixes-1:
+
+Bug fixes
+=========
+
+- The tindex command now uses sufficient precision when using the
+ ``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)
+- The density command is now found by pdal. This fixes a regression
+ introduced with PDAL 1.8. (#2378)
+- The ``scale=auto`` and ``offset=auto`` options now work with
+ ``writers.bpf`` in stream mode. (#1983)
+- Pipelines with diamond shapes now properly re-execute ancestor
+ stages. This fixes a regression introduced with PDAL 1.8. (#2290)
+- ``filters.crop`` now uses the correct logic when the ``outside``
+ option is used in standard mode. (#2305)
+- A bug in ``writers.gdal`` with streaming mode that caused an improper
+ location shift in some instances has been fixed. (#2292)
+- Added an explicit dependency on the arbiter library for curl. This
+ fixes build issues on some Unix platforms. (#1822)
+- Fixed a bug in ``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)
+- Points in buffer corners are now properly placed in tiles in
+ ``filters.splitter``. (#2372)
+- Fixed reference counting in ``filters.python`` that might have caused
+ a crash in some circumstances.
+- Generalized the python library re-loaded by PDAL when being used as a
+ python extension. This is only relevant on some Unix distributions.
================================================================================
1.8.0
================================================================================
=====================================
doc/development/compilation/dependencies.rst
=====================================
@@ -4,43 +4,38 @@
Dependencies
==============================================================================
-:Author: Howard Butler
-:Contact: howard at hobu.co
-:Date: 11/03/2015
-
-PDAL explicitly stands on the shoulders of giants that have come before it.
-Specifically, PDAL depends on a number of libraries to do its work. Most are
-not required. For optional dependencies, PDAL utilizes a dynamically-linked
-plugin architecture that loads them at runtime.
+PDAL depends on a number of libraries to do its work. You should make sure
+those dependencies are installed on your system before installing PDAL
+or use a packaging system that will automatically ensure that prerequisites
+are satisified. Packaging system such as `apt`_ or `Conda`_ can
+be used to install dependencies on your system.
+.. _`apt`: https://help.ubuntu.com/lts/serverguide/apt.html
+.. _`Conda`: https://conda.io/en/latest/
Required Dependencies
------------------------------------------------------------------------------
-GDAL
+GDAL (2.2+)
..............................................................................
PDAL uses GDAL for spatial reference system description manipulation, and image
reading supporting for the NITF driver, and :ref:`writers.oci` support. In
conjunction with GeoTIFF_, GDAL is used to convert GeoTIFF keys and OGC WKT SRS
-description strings into formats required by specific drivers. While PDAL can
-be built without GDAL support, if you want SRS manipulation and description
-ability, you must have GDAL (and GeoTIFF_) linked in at compile time.
-
-Obtain `GDAL`_ via whatever method is convenient. Linux platforms such as
-`Debian`_ have `DebianGIS`_, Mac OS X has the `KyngChaos`_ software frameworks,
-and Windows has the `Conda Forge`_ platform.
-
-* GDAL 2.2+ is required.
+description strings into formats required by specific drivers. ::
+ Source: https://github.com/OSGeo/gdal
+ Conda: https://anaconda.org/conda-forge/gdal
-GeoTIFF
+GeoTIFF (1.3+)
..............................................................................
PDAL uses GeoTIFF in conjunction with GDAL for GeoTIFF key support in the
-LAS driver. Obtain `GeoTIFF`_ from the same place you got `GDAL`_.
+LAS driver. GeoTIFF is typically a dependency of GDAL, so installing GDAL
+from a package will generally install GeoTIFF as well. ::
-* libgeotiff 1.3.0+ is required
+ Source: https://github.com/OSGeo/libgeotiff
+ Conda: https://anaconda.org/conda-forge/geotiff
.. note::
`GDAL` surreptitiously embeds a copy of `GeoTIFF`_ in its library build
@@ -53,33 +48,49 @@ LAS driver. Obtain `GeoTIFF`_ from the same place you got `GDAL`_.
those using that platform to link and build PDAL themselves, do
not need to worry about this issue.
-Proj.4
+Optional Dependencies
+------------------------------------------------------------------------------
+
+LASzip (Latest package/source recommended)
..............................................................................
-Proj.4_ is the projection engine that PDAL uses for the
-:ref:`filters.reprojection` filter. It is used by GDAL.
+`LASzip`_ is a library with a `CMake`-based build system that
+provides periodic compression of `ASPRS LAS`_ data. It is used by the
+:ref:`writers.las` and :ref:`readers.las` to provide
+compressed LAS support.::
-.. note::
+ Source: https://github.com/LASzip/LASzip
+ Conda: https://anaconda.org/conda-forge/laszip
- Proj.4 4.9.0+ is required if you need vertical datum
- transformation support. Otherwise, older versions should be
- sufficient.
+laz-perf (Latest package/source recommended)
+..............................................................................
-Optional Dependencies
-------------------------------------------------------------------------------
+laz-perf provides an alternative LAS compression/decompression engine that
+may be slightly faster in some circumstances. laz-perf supports fewer LAS
+point types and versions than does LASzip. It is also used as a
+compression type for :ref:`writers.oci` and :ref:`writers.sqlite`::
-libxml2
+ Source: https://github.com/verma/laz-perf/
+ Conda: https://anaconda.org/conda-forge/laz-perf
+
+libxml2 (2.7+)
..............................................................................
libxml2_ is used to serialize PDAL dimension descriptions into XML for the
database drivers such as :ref:`writers.oci`, :ref:`readers.sqlite`, or
-:ref:`readers.pgpointcloud`
+:ref:`readers.pgpointcloud`.::
-.. note::
+ Source: http://www.xmlsoft.org/
+ Conda: https://anaconda.org/conda-forge/libxml2
- libxml 2.7.0+ is required. Older versions may also work but are untested.
+Plugin Dependencies
+------------------------------------------------------------------------------
+
+PDAL comes with optional plugin stages that require other libraries in order
+to run. Many of these libraries are licensed in a way incompatible with
+the PDAL license or they may be commercial products that require purchase.
-`OCI`_
+OCI (10g+)
..............................................................................
Obtain the `Oracle Instant Client`_ and install in a location on your system.
@@ -87,82 +98,41 @@ Be sure to install both the "Basic" and the "SDK" modules. Set your
``ORACLE_HOME`` environment variable system- or user-wide to point to this
location so the CMake configuration can find your install. OCI is used by
both :ref:`writers.oci` and :ref:`readers.oci` for Oracle
-Point Cloud read/write support.
-
-.. warning::
- `OCI`_'s libraries are inconsistently named. You may need to create
- symbolic links for some library names in order for the `CMake`_ to find
- them::
-
- cd $ORACLE_HOME
- ln -s libocci.so.11.1 libocci.so
- ln -s libclntsh.so.11.1 libclntsh.so
- ln -s libociei.so.11.1 libociei.so
+Point Cloud read/write support. In order to obtain the OCI libraries
+you must register with Oracle.::
-* OCI 10g+ is required.
+ Libraries: https://www.oracle.com/technetwork/database/database-technologies/instant-client/downloads/index.html
-.. note::
- MSVC should only require the oci.lib and oci.dll library and dlls.
-
-Nitro
+Nitro (Requires specific source package)
..............................................................................
Nitro is a library that provides `NITF`_ support for PDAL to write LAS-in-NITF
-files for :ref:`writers.nitf`. PDAL can only use a fork of Nitro located at
-http://github.com/hobu/nitro instead of the mainline tree for two reasons:
-
-1) The fork contains a simple `CMake`-based build system
-2) The fork properly dynamically links on Windows to maintain LGPL compliance.
-
-It is expected that the fork will go away once these items are incorporated into
-the main source tree.
-
-
-LASzip
-..............................................................................
-
-`LASzip`_ is a library with a simple `CMake`-based build system that
-provides periodic compression of `ASPRS LAS`_ data. It is used by the
-:ref:`writers.las` and :ref:`readers.las` to provide
-compressed LAS support.
-
-laz-perf
-..............................................................................
+files for :ref:`writers.nitf`. You must use the specific version of Nitro
+referenced below for licensing and compatibility reasons.::
-In addition to `LASzip`_, you can use the alternative `laz-perf`_ library.
-`laz-perf`_ provides slightly faster decompression capability for typical
-LAS files. It is also used as a compression type for :ref:`writers.oci` and
-:ref:`writers.sqlite`
+ Source: http://github.com/hobu/nitro
-.. _`laz-perf`: https://github.com/verma/laz-perf/
-
-PCL
+PCL (1.7.2+)
..............................................................................
The `Point Cloud Library (PCL)`_ is used by the :ref:`pcl_command`,
:ref:`writers.pcd`, :ref:`readers.pcd`, and :ref:`filters.pclblock` to provide
-support for various PCL-related operations.
+support for various PCL-related operations.::
-PCL must be 1.7.2+. We do our best to keep this up-to-date with PCL master.
+ Source: https://github.com/PointCloudLibrary/pcl
+ Conda: https://anaconda.org/conda-forge/pcl
-.. note::
- `Homebrew`_-based OSX builds use PCL 1.7.2, but you may need to switch
- off `VTK`_ support depending on the configuration.
-
-TileDB
+TileDB (1.4.1+)
..............................................................................
`TileDB`_ is an efficient multi-dimensional array management system which
introduces a novel on-disk format that can effectively store dense and sparse
array data with support for fast updates and reads. It features excellent
compression, and an efficient parallel I/O system with high scalability. It is
-used by :ref:`writers.tiledb` and :ref:`readers.tiledb`.
-
-.. note::
- `TileDB`_ must be 1.4.1+.
+used by :ref:`writers.tiledb` and :ref:`readers.tiledb`.::
-.. _`Homebrew`: http://brew.sh
-.. _`VTK`: http://vtk.org
+ Source: https://github.com/TileDB-Inc/TileDB
+ Conda: https://anaconda.org/conda-forge/tiledb
.. _`ASPRS LAS`: http://www.asprs.org/Committee-General/LASer-LAS-File-Format-Exchange-Activities.html
.. _`LASzip`: http://laszip.org
@@ -174,15 +144,11 @@ used by :ref:`writers.tiledb` and :ref:`readers.tiledb`.
.. _`Oracle Point Cloud`: http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28400/sdo_pc_pkg_ref.htm
.. _`DebianGIS`: http://wiki.debian.org/DebianGis
.. _`Debian`: http://www.debian.org
-.. _`KyngChaos`: http://www.kyngchaos.com/software/unixport
.. _`Conda Forge`: https://anaconda.org/conda-forge/pdal
.. _GDAL: http://www.gdal.org
-.. _Proj.4: http://trac.osgeo.org/proj
.. _GeoTIFF: http://trac.osgeo.org/geotiff
.. _libxml2: http://xmlsoft.org
.. _CMake: http://www.cmake.org
-.. _`libpq`: http://www.postgresql.org/docs/9.3/static/libpq.html
-
.. _`Point Cloud Library (PCL)`: http://pointclouds.org
.. _`TileDB`: https://www.tiledb.io
=====================================
doc/development/compilation/index.rst
=====================================
@@ -4,9 +4,8 @@
Compilation
******************************************************************************
-This section describes how to build and install PDAL under Windows, Linux, and Mac.
-PDAL's numerous :ref:`dependencies` can make it a challenge to build a fully-featured
-build.
+This section describes how to build and install PDAL under Windows, Linux,
+and Mac.
.. seealso::
:ref:`download` contains links to installable binaries for Windows, OSX, and
=====================================
doc/development/compilation/unix.rst
=====================================
@@ -4,308 +4,204 @@
Unix Compilation
******************************************************************************
-:Author: Howard Butler
-:Contact: howard at hobu.co
-:Date: 10/27/2015
-
-`CMake`_ 2.8.11+ is the prescribed tool for building from source, with `CMake`_
-3.0+ being desired. `CMake`_ is a cross-platform build system that provides a
-number of benefits, and its usage ensures a single, up-to-date build system for
-all PDAL-supported operating systems and compiler platforms.
-
-Like a combination of autoconf/autotools, except that it works on Windows with
-minimal eye-stabbing pain, `CMake`_ is somewhat of a meta-building tool. It can
-be used to generate MSVC project files, GNU Makefiles, NMake files for MSVC,
-XCode projects on Mac OS X, and Eclipse projects (as well as many others).
-This functionality allows the PDAL project to avoid maintaining these build
-options by hand and target a single configuration and build platform.
-
-This tutorial will describe how to build PDAL using CMake on a Unix platform.
-PDAL is known to compile on Linux 2.6's of various flavors and OSX with XCode.
-
-.. note::
-
- :ref:`dependencies` contains more information about specific library
- version requirements and notes about building or acquiring them.
-
-Using "Unix Makefiles" on Linux
-..............................................................................
-
-Get the source code
+PDAL comes with support for building with `CMake`_. PDAL requires at
+least version 3.5 of CMake.
+CMake is a cross-platform meta-build system that provides a unified system
+for building applications on multiple platforms with various build tools.
+CMake has `generators`_ for many build tools, though PDAL has been tested
+only with `Ninja`_ and `GNU Makefiles`_ on Unix/OSX. Ninja builds PDAL faster,
+so the following instructions use that build tool, though building with
+GNU Makefiles works similarly (simply replace "ninja" with "make" when
+running the build tool).
+
+.. _`generators`: https://cmake.org/cmake/help/v3.5/manual/cmake-generators.7.html
+.. _`Ninja`: https://ninja-build.org/
+.. _`GNU Makefiles`: https://www.gnu.org/software/make/manual/make.html
+
+Dependencies
------------------------------------------------------------------------------
-See :ref:`source` for how to obtain the latest development version or visit
-:ref:`download` to get the latest released version.
-
-Prepare a build directory
-------------------------------------------------------------------------------
-
-CMake allows you to generate different builders for a project, and in this
-example, we are going to generate a "Unix Makefiles" builder
-for PDAL on Mac OS X.
+Building PDAL successfully depends on having other libraries configured
+and installed. These :ref:`dependencies <dependencies>` can be built
+from source or
+can be installed via a packaging system (`apt`_ works well on Ubuntu and
+Debian-based Linux systems. `Conda`_ works well on most systems. Some have
+had success with `brew`_ on OSX systems.)
+Often, the only package that
+needs to be installed prior to building PDAL is GDAL. Installing a GDAL
+package will normally install other PDAL dependencies automatically.
::
- $ cd PDAL
- $ mkdir makefiles
- $ cd makefiles
+ $ apt install libgdal-dev
-Configure base library
-------------------------------------------------------------------------------
+ OR
-Configure the basic core library for the "Unix Makefiles" target:
+ $ conda install gdal
-::
-
- $ cmake -G "Unix Makefiles" ../
- -- The C compiler identification is GNU
- -- The CXX compiler identification is GNU
- -- Checking whether C compiler has -isysroot
- -- Checking whether C compiler has -isysroot - yes
- -- Check for working C compiler: /usr/bin/gcc
- -- Check for working C compiler: /usr/bin/gcc -- works
- -- Detecting C compiler ABI info
- -- Detecting C compiler ABI info - done
- -- Checking whether CXX compiler has -isysroot
- -- Checking whether CXX compiler has -isysroot - yes
- -- Check for working CXX compiler: /usr/bin/c++
- -- Check for working CXX compiler: /usr/bin/c++ -- works
- -- Detecting CXX compiler ABI info
- -- Detecting CXX compiler ABI info - done
- -- Enable PDAL utilities to build - done
- -- Configuring done
- -- Generating done
- -- Build files have been written to: /Users/hobu/dev/git/PDAL-cmake/makefiles
+ OR
+ $ brew install gdal
-.. note::
+.. _`apt`: https://help.ubuntu.com/lts/serverguide/apt.html
+.. _`Conda`: https://conda.io/en/latest/
+.. _`brew`: https://brew.sh/
- The ``./cmake/examples/hobu-config.sh`` shell script contains a number of common
- settings that I use to configure my `Homebrew`-based Macintosh
- system.
-
-.. _`Homebrew`: http://brew.sh/
-
-Issue the `make` command
-------------------------------------------------------------------------------
-
-This will build a base build of the library, with no extra libraries being
-configured.
-
-
-.. _make_install:
-
-Run ``make install`` and test your installation with a :ref:`pdal_test` command
--------------------------------------------------------------------------------
-
-``make install`` will install the :ref:`utilities <apps>` in the location that
-was specified for 'CMAKE_INSTALL_PREFIX'. Once installed, ensure that you can
-run `pdal info`.
-
-
-.. _configure_optional_libraries:
-
-Configure your :ref:`Optional Libraries <dependencies>`.
+Using Ninja on Linux or OSX
------------------------------------------------------------------------------
-By checking the "on" button for each, CMake may find your installations of
-these libraries, but in case it does not, set the following variables,
-substituting accordingly, to values that match your system layout.
-
-.. csv-table::
-
- "`GDAL`_","GDAL_CONFIG", "/usr/local/bin/gdal-config"
- "","GDAL_INCLUDE_DIR", "/usr/local/include"
- "","GDAL_LIBRARY", "/usr/local/lib/libgdal.so"
- "`GeoTIFF`_","GEOTIFF_INCLUDE_DIR","/usr/local/include"
- "","GEOTIFF_LIBRARY","/usr/local/lib/libgeotiff.so"
- "`OCI`_","ORACLE_INCLUDE_DIR","/home/oracle/sdk/include"
- "","ORACLE_NNZ_LIBRARY","/home/oracle/libnnz10.so"
- "","ORACLE_OCCI_LIBRARY","/home/oracle/libocci.so"
- "","ORACLE_OCIEI_LIBRARY","/home/oracle/libociei.so"
- "","ORACLE_OCI_LIBRARY","/home/oracle/libclntsh.so"
-
-.. _GDAL: http://www.gdal.org
-.. _Proj.4: http://trac.osgeo.org/proj
-.. _GeoTIFF: http://trac.osgeo.org/geotiff
-.. _libxml2: http://xmlsoft.org
-.. _`OCI`: http://www.oracle.com/technology/tech/oci/index.html
-.. _`Oracle Instant Client`: http://www.oracle.com/technology/tech/oci/instantclient/index.html
-.. _`Oracle Point Cloud`: http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28400/sdo_pc_pkg_ref.htm
-.. _`DebianGIS`: http://wiki.debian.org/DebianGis
-.. _`Debian`: http://www.debian.org
-.. _`KyngChaos`: http://www.kyngchaos.com/software/unixport
-
-
-CCMake and cmake-gui
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-.. warning::
-
- The following was just swiped from the libLAS compilation document
- and it has not been updated for PDAL. The basics should be the same, however.
- Please ask on the :ref:`mailing list<community>` if you run into any issues.
-
-While `CMake`_ can be run from the command-line, and this is the preferred
-way for many individuals, it can be much easier to run CMake from a GUI.
-Now that we have a basic library building, we will use CMake's GUIs to
-help us configure the rest of the optional components of the library. Run
-``ccmake ../`` for the `Curses`_ interface or ``cmake-gui ../`` for a GUI
-version.
-
-
-.. figure:: media/ccmake-osx-start.png
- :alt: Running CCMake in OS X
-
- Running the `Curses`_ `CMake`_ interface. This interface is available to
- all unix-like operating systems.
-
-.. note::
-
- If your arrow keys are not working with in CCMake, use CTRL-N and
- CTRL-P to move back and forth between the options.
-
-.. figure:: media/cmake-gui-osx-start.png
- :alt: Running cmake-gui in OS X
+Get the source code
+..............................................................................
- Running the cmake-gui `CMake`_ interface. This interface is available
- on Linux, Windows, and Mac OS X.
+PDAL can be cloned from :ref:`GitHub <source>` or you can download a
+:ref:`release bundle <download>`
-Build and install
-------------------------------------------------------------------------------
-
-Once you have configured your additional libraries, you can install the
-software. The main pieces that will be installed are:
+Prepare a build directory
+..............................................................................
-* PDAL headers (typically in a location ./include/pdal/...)
-* PDAL C++ (PDAL.a or PDAL.so) library
-* PDAL C (PDAL_c.a or PDAL_c.so) library
-* :ref:`Utility <apps>` programs
+CMake allows you to generate different builders for a project. Here we're
+using Mac OSX, but the procedure and output are nearly identical on Linux
+distributions.
::
- make install
+ $ cd PDAL
+ $ mkdir build
+ $ cd build
-Using "XCode" on OS X
+Run CMake
..............................................................................
+Running CMake uses the specified generator to create
+an environment suitable for building PDAL with the requested tool.
+(Ninja in this case).
-Get the source code
-------------------------------------------------------------------------------
+::
-See :ref:`source` for how to obtain the latest development version or visit
-:ref:`download` to get the latest released version.
+ $ cmake -G Ninja ..
+ -- Could NOT find JSONCPP (missing: JSONCPP_LIBRARY JSONCPP_INCLUDE_DIR) (Required is at least version "1.6.2")
+ -- Numpy output: /usr/lib/python2.7/dist-packages/numpy/core/include
+ 1.13.3
-Prepare a build directory
-------------------------------------------------------------------------------
+ -- Could NOT find LIBEXECINFO (missing: LIBEXECINFO_LIBRARY)
+ -- Could NOT find LIBUNWIND (missing: LIBUNWIND_LIBRARY LIBUNWIND_INCLUDE_DIR)
+ -- The following features have been enabled:
-CMake allows you to generate different builders for a project, and in this
-example, we are going to generate an "Xcode" builder for PDAL on Mac OS X.
-Additionally, we're going to use an alternative compiler -- `LLVM`_ -- which
-under certain situations can produce much faster code on Mac OS X.
+ * PostgreSQL PointCloud plugin, read/write PostgreSQL PointCloud objects
+ * Python plugin, add features that depend on python
+ * Unit tests, PDAL unit tests
-::
+ -- The following OPTIONAL packages have been found:
- $ export CC=/usr/bin/llvm-gcc
- $ export CXX=/usr/bin/llvm-g++
- $ cd PDAL
- $ mkdir xcode
- $ cd xcode/
+ * PkgConfig
+ * LibXml2
+ * Curl
-Configure base library
-------------------------------------------------------------------------------
+ -- The following REQUIRED packages have been found:
-Configure the basic core library for the Xcode build:
+ * GDAL (required version >= 2.2.0)
+ Provides general purpose raster, vector, and reference system support
+ ...
+ -- The following RECOMMENDED packages have not been found:
-::
+ * LASzip (required version >= 3.1)
+ Provides LASzip compression
- $ cmake -G "Xcode" ..
- -- The C compiler identification is GNU
- -- The CXX compiler identification is GNU
- -- Checking whether C compiler has -isysroot
- -- Checking whether C compiler has -isysroot - yes
- -- Check for working C compiler: /usr/bin/llvm-gcc
- -- Check for working C compiler: /usr/bin/llvm-gcc -- works
- -- Detecting C compiler ABI info
- -- Detecting C compiler ABI info - done
- -- Checking whether CXX compiler has -isysroot
- -- Checking whether CXX compiler has -isysroot - yes
- -- Check for working CXX compiler: /usr/bin/llvm-g++
- -- Check for working CXX compiler: /usr/bin/llvm-g++ -- works
- -- Detecting CXX compiler ABI info
- -- Detecting CXX compiler ABI info - done
- -- Enable PDAL utilities to build - done
- -- Enable PDAL unit tests to build - done
-- Configuring done
-- Generating done
- -- Build files have been written to: /Users/hobu/hg/PDAL-cmake/xcode
+ -- Build files have been written to: /home/foo/pdal/build
+Issue the `ninja` command
+..............................................................................
-Alternatively, if you have `KyngChaos`_ frameworks for `GDAL`_ and `GeoTIFF`_
-installed, you can provide locations for those as part of your ``cmake``
-invocation:
+If cmake runs to completion (reports that build files have been written),
+you can run Ninja to build PDAL.
::
- $ cmake -G "Xcode" \
- -D GDAL_CONFIG=/Library/Frameworks/GDAL.framework/Programs/gdal-config \
- -D GEOTIFF_INCLUDE_DIR=/Library/Frameworks/UnixImageIO.framework/unix/include \
- -D GEOTIFF_LIBRARY=/Library/Frameworks/UnixImageIO.framework/unix/lib/libgeotiff.dylib \
- ..
+ $ ninja
-.. note::
-
- I recommend that you use in `Homebrew`_ for `GDAL`_ and friends. Its configuration
- is featureful and up-to-date.
+If no errors are reported, Ninja will have created the ``pdal`` program
+in the ``bin`` directory. A set of necessary support libraries will have
+been created in the ``lib`` directory.
::
- $ open PDAL.xcodeproj/
-
-.. figure:: media/xcode-start.png
- :alt: Building PDAL using the XCode project
-
-Set default command for XCode
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Set the default executable for the project to be ``lasinfo`` by opening the
-"Executables" tree, choosing "lasinfo," and clicking the bubble next to
-the "Executable name" in the right-hand panel.
+ $ ls bin/pdal
+ bin/pdal
-.. figure:: media/xcode-set-default-executable.png
- :alt: Setting the default executable
-
-Set arguments for :ref:`pdal_test`
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Set the arguments for :ref:`pdal_test` so it can be run from within XCode. We
-use the ${PROJECT_DIR} environment variable to be able to tell pdal_test the
-location of our test file. This is similar to the :ref:`same command
-<make_install>` above in the "Unix Makefiles" section.
-
-.. figure:: media/xcode-lasinfo-arguments.png
- :alt: Setting the arguments for lasinfo
+ $ ls lib/libpdalcpp*
+ lib/libpdalcpp.8.dylib
+ lib/libpdalcpp.dylib
+ lib/libpdalcpp.9.0.0.dylib
+Checking the build and running PDAL tests
+..............................................................................
+You can quickly check that PDAL has built properly by running the `pdal info`
+command.
-Configure :ref:`Optional Libraries <dependencies>`
-------------------------------------------------------------------------------
+::
-As :ref:`before <configure_optional_libraries>`, use ``ccmake ../`` or ``cmake-gui ../`` to
-configure your :ref:`dependencies`.
+ $ bin/pdal info ../test/data/las/autzen_trim.las
+ {
+ "filename": "../test/data/las/autzen_trim.las",
+ "pdal_version": "1.8.0 (git-version: c39e62)",
+ "stats":
+ {
+ "bbox":
+ {
+ "EPSG:4326":
+ {
+ "bbox":
+ {
+ "maxx": -123.0689038,
+ "maxy": 44.0515451,
+ "maxz": 158.651448,
+ "minx": -123.0734481,
+ "miny": 44.04990077,
+ "minz": 123.828048
+ },
+ ...
+
+CMake will normally build a set of tests that can be used to verify that PDAL
+executes most functions properly. You can run these tests yourself if
+desired, though it's not typically necessary.
+::
-.. figure:: media/cmake-gui-osx-configured.png
- :alt: Configuring optional libraries with CMake GUI
+ $ ctest
+ Test project /Users/foo/pdal.master/build
+ Start 1: pdal_filters_pcl_block_test
+ 1/97 Test #1: pdal_filters_pcl_block_test ............ Passed 0.23 sec
+ Start 2: pdal_filters_icp_test
+ 2/97 Test #2: pdal_filters_icp_test .................. Passed 0.12 sec
+ Start 3: pdal_filters_python_test
+ 3/97 Test #3: pdal_filters_python_test ............... Passed 3.52 sec
+ Start 4: pdal_io_numpy_test
+ 4/97 Test #4: pdal_io_numpy_test ..................... Passed 0.31 sec
+ ...
+ 93/96 Test #93: pdal_io_ilvis2_metadata_test ........... Passed 0.03 sec
+ Start 94: pdal_io_ilvis2_reader_metadata_test
+ 94/96 Test #94: pdal_io_ilvis2_reader_metadata_test .... Passed 0.05 sec
+ Start 95: xml_schema_test
+ 95/96 Test #95: xml_schema_test ........................ Passed 0.04 sec
+ Start 96: pdal_io_ilvis2_test
+ 96/96 Test #96: pdal_io_ilvis2_test .................... Passed 0.04 sec
+
+ 100% tests passed, 0 tests failed out of 96
+
+ Total Test time (real) = 39.54 sec
+
+Failed tests may not indicate problems other than a lack of support for some
+feature on your system. For example, tests for database drivers will fail if
+the database isn't installed or configured properly.
+
+Install PDAL
+..............................................................................
+PDAL can be installed to the default location (usually subdirectories of
+/usr/local) using Ninja.
-.. _`CMake`: http://www.cmake.org/
-.. _`CTest`: http://cmake.org/cmake/help/ctest-2-8-docs.html
-.. _`CMake 2.8.0+`: http://www.cmake.org/cmake/help/cmake-2-8-docs.html
-.. _`CDash`: http://www.cdash.org/
-.. _`continuous integration`: http://en.wikipedia.org/wiki/Continuous_integration
-.. _`PDAL CDash`: http://my.cdash.org/index.php?project=PDAL
-.. _`Curses`: http://en.wikipedia.org/wiki/Curses_%28programming_library%29
-.. _`Autoconf`: http://www.gnu.org/software/autoconf/
-.. _`LLVM`: http://llvm.org/
+::
=====================================
doc/development/metadata.rst
=====================================
@@ -19,7 +19,7 @@ the JSON-formatted metadata created by PDAL to be written to a file.
Metadata Nodes
------------------------------------------------------------------------------
-Each item of metadata is stored in an object known as a MetadataNode.
+Each item of metadata is stored in an object known as a ``MetadataNode``.
Metadata nodes are reference types that can be copied cheaply. Metadata nodes
are annotated with the original data type to allow better interpretation of
the data.
=====================================
doc/development/release-notes/1.9.0.md
=====================================
@@ -1,4 +1,21 @@
+# Changes of Note
+
+- PDAL now requires at least version 2.2 of GDAL.
+- Pipelines can optionally be specified as an array of stages (without an encapsulating "pipeline" object).
+- The location of installed cmake files has been changed to match the cmake convention.
+- `filters.delaunay` now uses the delaunator library instead of geogram.
+- PDAL no longer depends on the GEOS library. However, some polygon functions will not work if PDAL isn't built with a version of the GDAL library that has GEOS support.
+- PDAL now uses the standard cmake script to locate the necessary GDAL files when building.
+- `readers.sbet` now reads angles as degrees rather than radians. (#2354)
+- The `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.
+- The argument for the function `PipelineManager::executeStream` is now of type `StreamPointTable&` instead of `FixedPointTable&`.
+
+# Enhancements
+- All readers now accept the `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)
+- Added some dimension detection capability to `readers.pts`. (#2317)
+- Hardened API use of LASzip in `writers.las` for points with data format 6 and above and set the extended_point_type variable. (#2320, #2329)
+-
# Changes of Note
- PDAL now requires at least version 2.2 of GDAL.
@@ -15,6 +32,7 @@
- All readers now accept the `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)
- Added some dimension detection capability to `readers.pts`. (#2317)
+- The build system now has enhanced conflict detection of mixed python 2/3 installations. Make sure that you have header files/libraries/interpreter/numpy support for either python 2 or python 3.
- Hardened API use of LASzip in `writers.las` for points with data format 6 and above and set the extended_point_type variable. (#2320, #2329)
- Support the `libgeotiff` path suffix when searching for the geotiff library with cmake.
- Added a `resolution` option to `readers.ept` to limit the number of points read. (#2331)
@@ -49,3 +67,37 @@
- Points in buffer corners are now properly placed in tiles in `filters.splitter`. (#2372)
- Fixed reference counting in `filters.python` that might have caused a crash in some circumstances.
- Generalized the python library re-loaded by PDAL when being used as a python extension. This is only relevant on some Unix distributions.
+- Support the `libgeotiff` path suffix when searching for the geotiff library with cmake.
+- Added a `resolution` option to `readers.ept` to limit the number of points read. (#2331)
+- `readers.rxp` now supports stream mode.
+- Added the `invert` option to `filters.head` and `filters.tail`.
+- Added support for subcommands in kernels. (#2293)
+- Fixed a bug in `writers.gdal` that might access invalid memory in some situations. (#2448)
+
+# New stages
+
+- `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.
+
+# Deprecated stages
+
+- `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`
+
+# Bug fixes
+
+- The tindex command now uses sufficient precision when using the `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)
+- The density command is now found by pdal. This fixes a regression introduced with PDAL 1.8. (#2378)
+- The `scale=auto` and `offset=auto` options now work with `writers.bpf` in stream mode. (#1983)
+- Pipelines with diamond shapes now properly re-execute ancestor stages. This fixes a regression introduced with PDAL 1.8. (#2290)
+- `filters.crop` now uses the correct logic when the `outside` option is used in standard mode. (#2305)
+- A bug in `writers.gdal` with streaming mode that caused an improper location shift in some instances has been fixed. (#2292)
+- Added an explicit dependency on the arbiter library for curl. This fixes build issues on some Unix platforms. (#1822)
+- Fixed a bug in `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)
+- Points in buffer corners are now properly placed in tiles in `filters.splitter`. (#2372)
+- Fixed reference counting in `filters.python` that might have caused a crash in some circumstances.
+- Generalized the python library re-loaded by PDAL when being used as a python extension. This is only relevant on some Unix distributions.
=====================================
doc/download.rst
=====================================
@@ -48,7 +48,7 @@ command
::
- git clone https://github.com/PDAL/PDAL.git pdal
+ git clone https://github.com/PDAL/PDAL.git
Binaries
=====================================
pdal/GDALUtils.hpp
=====================================
@@ -487,7 +487,7 @@ private:
int partialRowElts = m_xBlockSize * x;
auto si = sourceBegin + (wholeRowElts + partialRowElts);
- std::transform(si, si + m_xBlockSize, di,
+ std::transform(si, si + xWidth, di,
[srcNoData, dstNoData](ITER_VAL<SOURCE_ITER> s){
T t;
=====================================
scripts/conda/osx.sh
=====================================
@@ -50,6 +50,8 @@ cd $BUILDDIR
CC=$CC CXX=$CXX cmake -G "$CONFIG" \
-DCMAKE_LIBRARY_PATH:FILEPATH="$CONDA_PREFIX/lib" \
-DCMAKE_INCLUDE_PATH:FILEPATH="$CONDA_PREFIX/include" \
+ -DPython3_ROOT_DIR:FILEPATH="$CONDA_PREFIX" \
+ -DCMAKE_FIND_FRAMEWORK="NEVER" \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_INSTALL_PREFIX=${CONDA_PREFIX} \
-DBUILD_PLUGIN_SQLITE=ON \
View it on GitLab: https://salsa.debian.org/debian-gis-team/pdal/commit/4dc2836bf5461d665e4547d6eddb710c3614c5ca
--
View it on GitLab: https://salsa.debian.org/debian-gis-team/pdal/commit/4dc2836bf5461d665e4547d6eddb710c3614c5ca
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-grass-devel/attachments/20190409/10859ed6/attachment-0001.html>
More information about the Pkg-grass-devel
mailing list