Skip to content
Commits on Source (6)
......@@ -32,13 +32,13 @@ list(APPEND CPACK_SOURCE_IGNORE_FILES "Makefile")
list(APPEND CPACK_SOURCE_IGNORE_FILES "CMakeFiles")
list(APPEND CPACK_SOURCE_IGNORE_FILES "CTestTestfile.cmake")
list(APPEND CPACK_SOURCE_IGNORE_FILES "/test/data/local/")
list(APPEND CPACK_SOURCE_IGNORE_FILES "/test/unit/TestConfig.hpp")
list(APPEND CPACK_SOURCE_IGNORE_FILES "/test/unit/TestConfig.hpp$")
list(APPEND CPACK_SOURCE_IGNORE_FILES "/doc/doxygen/")
list(APPEND CPACK_SOURCE_IGNORE_FILES "/doc/build/")
list(APPEND CPACK_SOURCE_IGNORE_FILES "/doc/presentations/")
list(APPEND CPACK_SOURCE_IGNORE_FILES "/doc/_static/logo/dongle/")
list(APPEND CPACK_SOURCE_IGNORE_FILES "/cmake/examples/")
list(APPEND CPACK_SOURCE_IGNORE_FILES "pdal_features.hpp")
list(APPEND CPACK_SOURCE_IGNORE_FILES "pdal_features.hpp$")
list(APPEND CPACK_SOURCE_IGNORE_FILES ".gz2")
list(APPEND CPACK_SOURCE_IGNORE_FILES ".bz2")
......
......@@ -29,6 +29,7 @@ function(pdal_target_compile_settings target)
-Wcast-align
-Wcast-qual
-Wno-error=cast-qual
-Wno-error=parentheses
-Wredundant-decls
-Wno-unused-parameter
......
pdal (1.7.2~rc2-1~exp1) experimental; urgency=medium
* New upstream release candidate.
* Drop missing-files.patch, fixed upstream.
* Update symbols for other architectures.
-- Bas Couwenberg <sebastic@debian.org> Thu, 10 May 2018 21:21:30 +0200
pdal (1.7.2~rc1-1~exp1) experimental; urgency=medium
* New upstream release candidate.
......
# SymbolsHelper-Confirmed: 1.7.2~rc1 amd64
# SymbolsHelper-Confirmed: 1.7.2~rc1 amd64 arm64 i386 ppc64 s390x sparc64
libpdal_base.so.6 #PACKAGE# #MINVER#
BoundaryNames@Base 1.6.0
(optional=templinst)_Z11loadOctTreeIdEiR6OctreeIT_ER8XForm4x4IS1_ER11PointSourceibPSt6vectorINS2_11PointSampleESaISA_EEPS9_I14ProjectiveDataI7Point3DIS1_ES1_ESaISH_EE@Base 1.6.0
......@@ -342,6 +342,7 @@ libpdal_base.so.6 #PACKAGE# #MINVER#
_ZN4pdal10GDALWriter9writeViewESt10shared_ptrINS_9PointViewEE@Base 1.5.0
_ZN4pdal10GDALWriterD0Ev@Base 1.4.0
_ZN4pdal10GDALWriterD1Ev@Base 1.4.0
(arch=i386)_ZN4pdal10GeotiffSrs17validateDirectoryEPKNS_5EntryEjjj@Base 1.7.2~rc1
_ZN4pdal10GeotiffSrs17validateDirectoryEPKNS_5EntryEmmm@Base 1.7.2~rc1
_ZN4pdal10GeotiffSrsC1ERKSt6vectorIhSaIhEES5_S5_St10shared_ptrINS_3LogEE@Base 1.7.2~rc1
_ZN4pdal10GeotiffSrsC2ERKSt6vectorIhSaIhEES5_S5_St10shared_ptrINS_3LogEE@Base 1.7.2~rc1
......@@ -825,13 +826,12 @@ libpdal_base.so.6 #PACKAGE# #MINVER#
(optional=templinst)_ZN4pdal13PluginManagerINS_5StageEE13l_loadDynamicERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 1.7.0
(optional=templinst)_ZN4pdal13PluginManagerINS_5StageEE13libraryLoadedERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 1.7.0
(optional=templinst)_ZN4pdal13PluginManagerINS_5StageEE14l_createObjectERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 1.7.0
(optional=templinst|arch=!amd64 !arm64 !hppa !mips64el !ppc64el !sh4 !sparc64)_ZN4pdal13PluginManagerINS_5StageEE16l_registerPluginINS_10CropFilterEEEbRKNS_10PluginInfoE@Base 1.7.1
(optional=templinst|arch=!amd64 !arm64 !hppa !mips64el !ppc64 !ppc64el !sh4 !sparc64)_ZN4pdal13PluginManagerINS_5StageEE16l_registerPluginINS_10CropFilterEEEbRKNS_10PluginInfoE@Base 1.7.1
(optional=templinst)_ZN4pdal13PluginManagerINS_5StageEE16l_registerPluginINS_13DividerFilterEEEbRKNS_10PluginInfoE@Base 1.7.0
(optional=templinst|arch=armel armhf mips mipsel powerpc)_ZN4pdal13PluginManagerINS_5StageEE16l_registerPluginINS_13OutlierFilterEEEbRKNS_10PluginInfoE@Base 1.7.1
(optional=templinst|arch=armel armhf i386 mips mipsel powerpc)_ZN4pdal13PluginManagerINS_5StageEE16l_registerPluginINS_13OutlierFilterEEEbRKNS_10PluginInfoE@Base 1.7.1
(optional=templinst)_ZN4pdal13PluginManagerINS_5StageEE16l_registerPluginINS_15KDistanceFilterEEEbRKNS_10PluginInfoE@Base 1.7.0
(optional=templinst)_ZN4pdal13PluginManagerINS_5StageEE16l_registerPluginINS_24NeighborClassifierFilterEEEbRKNS_10PluginInfoE@Base 1.7.0
(optional=templinst|arch=!amd64 !arm64 !hppa !mips64el !ppc64el !sh4 !sparc64)_ZN4pdal13PluginManagerINS_5StageEE16l_registerPluginINS_9LasReaderEEEbRKNS_10PluginInfoE@Base 1.7.1
(optional=templinst|arch=armel armhf hurd-i386 i386 mips mipsel powerpc s390x)_ZN4pdal13PluginManagerINS_5StageEE16l_registerPluginINS_9PMFFilterEEEbRKNS_10PluginInfoE@Base 1.7.1
(optional=templinst|arch=armhf hurd-i386 i386 mips mipsel powerpc ppc64 s390x)_ZN4pdal13PluginManagerINS_5StageEE16l_registerPluginINS_9PlyWriterEEEbRKNS_10PluginInfoE@Base 1.7.1
(optional=templinst)_ZN4pdal13PluginManagerINS_5StageEE3getEv@Base 1.7.0
(optional=templinst)_ZN4pdal13PluginManagerINS_5StageEE4linkERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 1.7.0
......@@ -1320,6 +1320,12 @@ libpdal_base.so.6 #PACKAGE# #MINVER#
(optional=templinst)_ZN4pdal4TArgINS_14LasCompressionEED0Ev@Base 1.7.2~rc1
(optional=templinst)_ZN4pdal4TArgINS_14LasCompressionEED1Ev@Base 1.7.2~rc1
(optional=templinst)_ZN4pdal4TArgINS_14LasCompressionEED2Ev@Base 1.7.2~rc1
(optional=templinst|arch=i386)_ZN4pdal4TArgINS_15StringHeaderValILj0EEEED0Ev@Base 1.7.2~rc1
(optional=templinst|arch=i386)_ZN4pdal4TArgINS_15StringHeaderValILj0EEEED1Ev@Base 1.7.2~rc1
(optional=templinst|arch=i386)_ZN4pdal4TArgINS_15StringHeaderValILj0EEEED2Ev@Base 1.7.2~rc1
(optional=templinst|arch=i386)_ZN4pdal4TArgINS_15StringHeaderValILj32EEEED0Ev@Base 1.7.2~rc1
(optional=templinst|arch=i386)_ZN4pdal4TArgINS_15StringHeaderValILj32EEEED1Ev@Base 1.7.2~rc1
(optional=templinst|arch=i386)_ZN4pdal4TArgINS_15StringHeaderValILj32EEEED2Ev@Base 1.7.2~rc1
(optional=templinst)_ZN4pdal4TArgINS_15StringHeaderValILm0EEEED0Ev@Base 1.7.2~rc1
(optional=templinst)_ZN4pdal4TArgINS_15StringHeaderValILm0EEEED1Ev@Base 1.7.2~rc1
(optional=templinst)_ZN4pdal4TArgINS_15StringHeaderValILm0EEEED2Ev@Base 1.7.2~rc1
......@@ -1439,6 +1445,9 @@ libpdal_base.so.6 #PACKAGE# #MINVER#
(optional=templinst)_ZN4pdal4TArgImED2Ev@Base 1.7.2~rc1
(optional=templinst|arch=armel armhf hppa hurd-i386 i386 kfreebsd-i386 m68k mips mipsel powerpc powerpcspe sh4 x32)_ZN4pdal4TArgIyE5resetEv@Base 1.2.0
(optional=templinst|arch=armel armhf hppa hurd-i386 i386 kfreebsd-i386 m68k mips mipsel powerpc powerpcspe sh4 x32)_ZN4pdal4TArgIyE8setValueERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 1.2.0
(optional=templinst|arch=i386)_ZN4pdal4TArgIyED0Ev@Base 1.7.2~rc1
(optional=templinst|arch=i386)_ZN4pdal4TArgIyED1Ev@Base 1.7.2~rc1
(optional=templinst|arch=i386)_ZN4pdal4TArgIyED2Ev@Base 1.7.2~rc1
(arch=armel armhf hppa hurd-i386 i386 kfreebsd-i386 m68k mips mipsel powerpc powerpcspe sh4 x32)_ZN4pdal4Tree8addPointEPKNS_12QuadPointRefEj@Base 1.5.0
(arch=!armel !armhf !hppa !hurd-i386 !i386 !kfreebsd-i386 !m68k !mips !mipsel !powerpc !powerpcspe !sh4 !x32)_ZN4pdal4Tree8addPointEPKNS_12QuadPointRefEm@Base 1.2.0
_ZN4pdal4Uuid5parseERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 1.2.0
......@@ -2050,6 +2059,7 @@ libpdal_base.so.6 #PACKAGE# #MINVER#
_ZN4pdal9BpfReader5readyERNS_14BasePointTableE@Base 1.1.0
_ZN4pdal9BpfReader7inflateEPcjS1_j@Base 1.7.2~rc1
_ZN4pdal9BpfReader7inspectEv@Base 1.1.0
(arch=i386)_ZN4pdal9BpfReader9readBlockERSt6vectorIcSaIcEEj@Base 1.7.2~rc1
_ZN4pdal9BpfReader9readBlockERSt6vectorIcSaIcEEm@Base 1.7.2~rc1
_ZN4pdal9BpfReaderD0Ev@Base 1.1.0
_ZN4pdal9BpfReaderD1Ev@Base 1.1.0
......@@ -5072,18 +5082,20 @@ libpdal_base.so.6 #PACKAGE# #MINVER#
_ZZN4pdal15PluginDirectory3getEvE8instance@Base 1.7.0
_ZZN4pdal16BpfMuellerMatrixC4EvE4vals@Base 1.1.0
_ZZN4pdal16MetadataNodeImpl8subnodesERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE1l@Base 1.1.0
(optional=templinst|arch=!armhf !hppa !kfreebsd-amd64 !m68k !ppc64el !s390x !sh4 !sparc64 !x32)_ZZN4pdal4gdal4BandIaE10writeBlockIPdEEviiT_NSt15iterator_traitsIS5_E10value_typeEENKUldE_clEd@Base 1.6.0
(optional=templinst|arch=amd64 mips mipsel powerpc sh4)_ZZN4pdal4gdal4BandIaE10writeBlockIPfEEviiT_NSt15iterator_traitsIS5_E10value_typeEENKUlfE_clEf@Base 1.7.1
(optional=templinst|arch=!amd64 !arm64 !hppa !hurd-i386 !i386 !kfreebsd-amd64 !mips64el !ppc64 !ppc64el !sh4)_ZZN4pdal4gdal4BandIhE10writeBlockIPdEEviiT_NSt15iterator_traitsIS5_E10value_typeEENKUldE_clEd@Base 1.6.0
(optional=templinst|arch=amd64 armel armhf hurd-i386 i386 m68k mips mips64el mipsel ppc64 ppc64el)_ZZN4pdal4gdal4BandIhE10writeBlockIPfEEviiT_NSt15iterator_traitsIS5_E10value_typeEENKUlfE_clEf@Base 1.6.0
(optional=templinst|arch=!amd64 !arm64 !ppc64 !sparc64)_ZZN4pdal4gdal4BandIiE10writeBlockIPdEEviiT_NSt15iterator_traitsIS5_E10value_typeEENKUldE_clEd@Base 1.7.1
(optional=templinst|arch=!amd64 !ppc64 !sh4)_ZZN4pdal4gdal4BandIiE10writeBlockIPfEEviiT_NSt15iterator_traitsIS5_E10value_typeEENKUlfE_clEf@Base 1.7.1
(optional=templinst|arch=amd64 arm64 armel armhf hppa hurd-i386 i386 ppc64 sh4)_ZZN4pdal4gdal4BandIjE10writeBlockIPfEEviiT_NSt15iterator_traitsIS5_E10value_typeEENKUlfE_clEf@Base 1.6.0
(optional=templinst|arch=!armhf !hppa !kfreebsd-amd64 !m68k !ppc64 !ppc64el !s390x !sh4 !x32)_ZZN4pdal4gdal4BandIaE10writeBlockIPdEEviiT_NSt15iterator_traitsIS5_E10value_typeEENKUldE_clEd@Base 1.6.0
(optional=templinst|arch=amd64 arm64 mips mipsel powerpc s390x sh4)_ZZN4pdal4gdal4BandIaE10writeBlockIPfEEviiT_NSt15iterator_traitsIS5_E10value_typeEENKUlfE_clEf@Base 1.7.1
(optional=templinst|arch=!amd64 !arm64 !hppa !hurd-i386 !kfreebsd-amd64 !mips64el !ppc64 !ppc64el !sh4)_ZZN4pdal4gdal4BandIhE10writeBlockIPdEEviiT_NSt15iterator_traitsIS5_E10value_typeEENKUldE_clEd@Base 1.6.0
(optional=templinst|arch=amd64 arm64 armel armhf hurd-i386 i386 m68k mips mips64el mipsel ppc64 ppc64el sparc64)_ZZN4pdal4gdal4BandIhE10writeBlockIPfEEviiT_NSt15iterator_traitsIS5_E10value_typeEENKUlfE_clEf@Base 1.6.0
(optional=templinst|arch=!amd64 !s390x !sparc64)_ZZN4pdal4gdal4BandIiE10writeBlockIPdEEviiT_NSt15iterator_traitsIS5_E10value_typeEENKUldE_clEd@Base 1.7.1
(optional=templinst|arch=!amd64 !arm64 !ppc64 !sh4 !sparc64)_ZZN4pdal4gdal4BandIiE10writeBlockIPfEEviiT_NSt15iterator_traitsIS5_E10value_typeEENKUlfE_clEf@Base 1.7.1
(optional=templinst|arch=arm64 i386 s390x)_ZZN4pdal4gdal4BandIjE10writeBlockIPdEEviiT_NSt15iterator_traitsIS5_E10value_typeEENKUldE_clEd@Base 1.7.2~rc1
(optional=templinst|arch=amd64 armel armhf hppa hurd-i386 i386 ppc64 sh4)_ZZN4pdal4gdal4BandIjE10writeBlockIPfEEviiT_NSt15iterator_traitsIS5_E10value_typeEENKUlfE_clEf@Base 1.6.0
(optional=templinst|arch=arm64)_ZZN4pdal4gdal4BandIlE10writeBlockIPfEEviiT_NSt15iterator_traitsIS5_E10value_typeEENKUlfE_clEf@Base 1.7.2~rc1
(optional=templinst|arch=amd64 ppc64 ppc64el)_ZZN4pdal4gdal4BandImE10writeBlockIPdEEviiT_NSt15iterator_traitsIS5_E10value_typeEENKUldE_clEd@Base 1.6.0
(optional=templinst|arch=s390x)_ZZN4pdal4gdal4BandImE10writeBlockIPfEEviiT_NSt15iterator_traitsIS5_E10value_typeEENKUlfE_clEf@Base 1.7.1
(optional=templinst|arch=!armel !hppa !mips !mips64el !mipsel !ppc64 !sparc64)_ZZN4pdal4gdal4BandIsE10writeBlockIPdEEviiT_NSt15iterator_traitsIS5_E10value_typeEENKUldE_clEd@Base 1.6.0
(optional=templinst|arch=!arm64 !kfreebsd-amd64 !mips64el !powerpc !x32)_ZZN4pdal4gdal4BandItE10writeBlockIPdEEviiT_NSt15iterator_traitsIS5_E10value_typeEENKUldE_clEd@Base 1.6.0
(optional=templinst|arch=armel armhf hppa hurd-i386 i386 kfreebsd-i386 m68k powerpc sh4 sparc64)_ZZN4pdal4gdal4BandItE10writeBlockIPfEEviiT_NSt15iterator_traitsIS5_E10value_typeEENKUlfE_clEf@Base 1.6.0
(optional=templinst|arch=ppc64 sparc64)_ZZN4pdal4gdal4BandImE10writeBlockIPfEEviiT_NSt15iterator_traitsIS5_E10value_typeEENKUlfE_clEf@Base 1.7.1
(optional=templinst)_ZZN4pdal4gdal4BandIsE10writeBlockIPdEEviiT_NSt15iterator_traitsIS5_E10value_typeEENKUldE_clEd@Base 1.6.0
(optional=templinst|arch=i386 s390x sparc64)_ZZN4pdal4gdal4BandIsE10writeBlockIPfEEviiT_NSt15iterator_traitsIS5_E10value_typeEENKUlfE_clEf@Base 1.7.2~rc1
(optional=templinst|arch=!arm64 !i386 !kfreebsd-amd64 !mips64el !powerpc !x32)_ZZN4pdal4gdal4BandItE10writeBlockIPdEEviiT_NSt15iterator_traitsIS5_E10value_typeEENKUldE_clEd@Base 1.6.0
(optional=templinst|arch=hppa)_ZZN4pdal4gdal4BandIxE10writeBlockIPdEEviiT_NSt15iterator_traitsIS5_E10value_typeEENKUldE_clEd@Base 1.6.0
(optional=templinst|arch=sh4)_ZZN4pdal4gdal4BandIyE10writeBlockIPdEEviiT_NSt15iterator_traitsIS5_E10value_typeEENKUldE_clEd@Base 1.6.0
(optional=templinst|arch=x32)_ZZN4pdal4gdal4BandIyE10writeBlockIPfEEviiT_NSt15iterator_traitsIS5_E10value_typeEENKUlfE_clEf@Base 1.6.0
......
# SymbolsHelper-Confirmed: 1.7.2~rc1 amd64
# SymbolsHelper-Confirmed: 1.7.2~rc1 amd64 arm64 ppc64 s390x sparc64
libpdal_util.so.6 #PACKAGE# #MINVER#
_ZN4pdal12georeference17georeferenceWgs84EddRKNS0_14RotationMatrixES3_RKNS0_3XyzE@Base 1.1.0
_ZN4pdal5BOX2D23getDefaultSpatialExtentEv@Base 1.1.0
......@@ -92,9 +92,11 @@ libpdal_util.so.6 #PACKAGE# #MINVER#
(arch=!amd64 !hurd-i386 !i386 !kfreebsd-amd64 !kfreebsd-i386 !x32)_ZN9pdalboost10filesystem16filesystem_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_6system10error_codeE@Base 1.2.0
_ZN9pdalboost10filesystem16filesystem_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_4pathENS_6system10error_codeE@Base 1.2.0
_ZN9pdalboost10filesystem16filesystem_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_4pathESC_NS_6system10error_codeE@Base 1.2.0
(arch=!amd64)_ZN9pdalboost10filesystem16filesystem_errorC1ERKS1_@Base 1.7.2~rc1
(arch=!amd64 !hurd-i386 !i386 !kfreebsd-amd64 !kfreebsd-i386 !x32)_ZN9pdalboost10filesystem16filesystem_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_6system10error_codeE@Base 1.2.0
_ZN9pdalboost10filesystem16filesystem_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_4pathENS_6system10error_codeE@Base 1.2.0
_ZN9pdalboost10filesystem16filesystem_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_4pathESC_NS_6system10error_codeE@Base 1.2.0
(arch=!amd64)_ZN9pdalboost10filesystem16filesystem_errorC2ERKS1_@Base 1.7.2~rc1
_ZN9pdalboost10filesystem16filesystem_errorD0Ev@Base 1.2.0
_ZN9pdalboost10filesystem16filesystem_errorD1Ev@Base 1.2.0
_ZN9pdalboost10filesystem16filesystem_errorD2Ev@Base 1.2.0
......
Description: Add files missing from upstream tarball.
Origin: https://github.com/PDAL/PDAL/master
Bug: https://github.com/PDAL/PDAL/issues/2011
--- /dev/null
+++ b/pdal_features.hpp.in
@@ -0,0 +1,44 @@
+/*
+ * pdal_features.hpp.in is used by cmake to generate pdal_features.hpp
+ *
+ * Do not edit pdal_features.hpp
+ *
+ */
+#pragma once
+
+/*
+ * version settings
+ */
+#define PDAL_VERSION_MAJOR @PDAL_VERSION_MAJOR@
+#define PDAL_VERSION_MINOR @PDAL_VERSION_MINOR@
+#define PDAL_VERSION_PATCH @PDAL_VERSION_PATCH@
+
+#define PDAL_VERSION_STRING "@PDAL_VERSION_STRING@"
+
+/* (note this will look yucky until we get to major>=1) */
+#define PDAL_VERSION_INTEGER ((PDAL_VERSION_MAJOR*100*100)+(PDAL_VERSION_MINOR*100)+PDAL_VERSION_PATCH)
+
+#cmakedefine PDAL_PLUGIN_INSTALL_PATH "@PDAL_PLUGIN_INSTALL_PATH@"
+/*
+ * availability of 3rd-party libraries
+ */
+#cmakedefine PDAL_HAVE_LASZIP
+#cmakedefine PDAL_HAVE_LAZPERF
+#cmakedefine PDAL_HAVE_HDF5
+#cmakedefine PDAL_HAVE_ZSTD
+#cmakedefine PDAL_HAVE_ZLIB
+#cmakedefine PDAL_HAVE_LZMA
+#cmakedefine PDAL_HAVE_LIBXML2
+#cmakedefine PDAL_HAVE_PYTHON
+#cmakedefine PDAL_ARBITER_ENABLED
+
+/*
+ * Debug or Release build?
+ */
+#define PDAL_BUILD_TYPE "@PDAL_BUILD_TYPE@"
+
+/*
+ * built pdal app as application bundle on OSX?
+ */
+#cmakedefine PDAL_APP_BUNDLE
+
--- /dev/null
+++ b/test/unit/TestConfig.hpp.in
@@ -0,0 +1,62 @@
+/******************************************************************************
+* Copyright (c) 2011, Michael P. Gerlek (mpg@flaxen.com)
+*
+* All rights reserved.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following
+* conditions are met:
+*
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in
+* the documentation and/or other materials provided
+* with the distribution.
+* * Neither the name of Hobu, Inc. or Flaxen Geo Consulting nor the
+* names of its contributors may be used to endorse or promote
+* products derived from this software without specific prior
+* written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
+* OF SUCH DAMAGE.
+****************************************************************************/
+
+#ifndef UNITTEST_TESTCONFIG_INCLUDED
+#define UNITTEST_TESTCONFIG_INCLUDED
+
+#define UNITTEST_TESTCONFIG_DATA_PATH "@CMAKE_SOURCE_DIR@/test/data/"
+#define UNITTEST_TESTCONFIG_CONFIGURED_PATH "@CMAKE_BINARY_DIR@/test/data/"
+#define UNITTEST_TESTCONFIG_BINARY_PATH "@CMAKE_RUNTIME_OUTPUT_DIRECTORY@/"
+#define UNITTEST_TESTCONFIG_OCI_CONNECTION "@OCI_CONNECTION@"
+
+#include <string>
+
+namespace TestConfig
+{
+
+inline std::string dataPath()
+ { return UNITTEST_TESTCONFIG_DATA_PATH; }
+
+inline std::string configuredPath()
+ { return UNITTEST_TESTCONFIG_CONFIGURED_PATH; }
+
+inline std::string binaryPath()
+ { return UNITTEST_TESTCONFIG_BINARY_PATH; }
+
+inline std::string oracleConnection()
+ { return UNITTEST_TESTCONFIG_OCI_CONNECTION; }
+
+}
+
+#endif
......@@ -2,4 +2,3 @@ privacy-breach.patch
disable-sphinxcontrib-bibtex.patch
use-mathjax-package.patch
sphinx-DOCUMENTATION_OPTIONS-does-not-define-SOURCELINK_SUFFIX.patch
missing-files.patch
......@@ -8,7 +8,7 @@ Finding the boundary
.. index:: boundary, QGIS, OGR
This exercise uses PDAL to find a tight-fighting boundary of an aerial scan.
This exercise uses PDAL to find a tight-fitting boundary of an aerial scan.
Printing the coordinates of the boundary for the file is quite simple using a
single ``pdal info`` call, but visualizing the boundary is more complicated. To
complete this exercise, we are going to use :ref:`qgis` to view the
......
......@@ -2,6 +2,7 @@
<OGRVRTWarpedLayer>
<OGRVRTLayer name="OGRGeoJSON">
<SrcDataSource>c:/Users/hobu/PDAL/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>
......
......@@ -44,7 +44,8 @@ capability to reproject the data for us on-the-fly:
<OGRVRTDataSource>
<OGRVRTWarpedLayer>
<OGRVRTLayer name="OGRGeoJSON">
<SrcDataSource>attributes.json</SrcDataSource>
<SrcDataSource>c:/Users/hobu/PDAL/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>
......@@ -54,7 +55,11 @@ capability to reproject the data for us on-the-fly:
.. note::
This VRT file is available in your workshop materials in the
``./exercises/analysis/clipping/attributes.json`` file. A GDAL or OGR VRT
``./exercises/analysis/clipping/attributes.vrt`` file. You will need to
open this file, go to line 4 and replace ``c:/Users/hobu/PDAL/`` with
the correct path for your machine.
A GDAL or OGR VRT
is a kind of "virtual" data source definition type that combines a
definition of data and a processing operation into a single, readable data
stream.
......@@ -80,7 +85,9 @@ Pipeline breakdown
.. note::
This pipeline is available in your workshop materials in the
``./exercises/analysis/clipping/clipping.json`` file.
``./exercises/analysis/clipping/clipping.json`` file. Remember
to replace each of the three occurrences of ``c:/Users/Hobu/PDAL/``
in this file with the correct location for your machine.
1. Reader
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
......@@ -103,10 +110,10 @@ The attributes in the ``attributes.json`` file include polygons with values
``2``, ``5``, and ``6``. We will use :ref:`filters.range` to keep points with
``Classification`` values in the range of ``6:6``.
3. Writer
4. Writer
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* We will write our content back out using an :ref:`writers.las`.
We will write our content back out using a :ref:`writers.las`.
Execution
................................................................................
......
......@@ -27,6 +27,13 @@ to define it.
.. literalinclude:: ./colorize.json
:linenos:
.. note::
This JSON file is available in your workshop materials in the
``./exercises/analysis/colorization/colorize.json`` file. Remember to
open this file and replace each occurrence of ``c:/Users/hobu/PDAL/``
with the correct path for your machine.
Pipeline breakdown
................................................................................
......@@ -99,8 +106,7 @@ add a few options to have finer control over what is written. These include:
Execution
................................................................................
Invoke the following command, substituting accordingly, in your `Docker
Quickstart Terminal`:
Invoke the following command, substituting accordingly, in your |Terminal|:
.. literalinclude:: ./colorization-run-command.txt
......
......@@ -6,13 +6,11 @@
},
{
"type":"writers.gdal",
"filename":"denmark-elevation.tif",
"dimension":"Z",
"data_type":"float",
"filename":"denmark-classification.tif",
"dimension":"Classification",
"data_type":"uint16_t",
"output_type":"mean",
"window_size":"20",
"resolution":5.0
"resolution":30.0
}
]
}
gdaldem hillshade ^
C:/Users/hobu/pdal/exercises/analysis/dtm/dtm.tif ^
C:/Users/hobu/pdal/exercises/analysis/dtm/hillshade.tif ^
-z 1.0 -s 1.0 -az 315.0 -alt 45.0 -of GTiff
pdal pipeline classification.json
pdal pipeline ^
c:/Users/hobu/PDAL/exercises/analysis/rasterize/classification.json
pdal pipeline classification.json ^
--writers.gdal.dimension="Intensity" ^
--writers.gdal.data_type="float" ^
--writers.gdal.filename="intensity.tif"
gdal_translate intensity.tif intensity.png -of PNG
......@@ -5,10 +5,10 @@ Rasterizing Attributes
.. include:: ../../../includes/substitutions.rst
.. index:: elevation model, DTM, DSM, classifications,
.. index:: classification, intensity, rasterization
This exercise uses PDAL to generate a raster surface using a fully classified
point cloud with PDAL's :ref:`writers.gdal` operation.
point cloud with PDAL's :ref:`writers.gdal`.
Exercise
......@@ -16,11 +16,10 @@ Exercise
.. note::
The exercise fetches its data from a `Greyhound`_ service that organizes the
point cloud collection for the entire country of Denmark. You can view the
data online at http://potree.entwine.io/data/denmark.html
The primary input for `Digital Terrain Model`_ generation is a point cloud
with ground classifications. We created this file, called
``denoised-ground-only.laz``, in the :ref:`ground` exercise. Please produce that
file by following that exercise before starting this one.
.. _`Digital Terrain Model`: https://en.wikipedia.org/wiki/Digital_elevation_model
......@@ -33,16 +32,17 @@ Command
Invoke the following command, substituting accordingly, in your `OSGeo4W Shell`:
PDAL capability to generate rasterized output is provided by the :ref:`writers.gdal`
stage. There is no :ref:`application <apps>` to drive this stage, and we
must use a pipeline.
PDAL capability to generate rasterized output is provided by the :ref:`writers.gdal` stage.
There is no :ref:`application <apps>` to drive this stage, and we must use a pipeline.
Pipeline breakdown
................................................................................
.. include:: ./gdal.json
:literal:
.. literalinclude:: ./classification.json
:highlight-lines: 3-7
.. note::
......@@ -54,87 +54,102 @@ Pipeline breakdown
1. Reader
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
``denoised-ground-only`` is the |LASzip| file we will clip. You should have
created this output as part of the :ref:`ground` exercise.
.. literalinclude:: ./classification.json
:lines: 3-7
The data is read from a readers.greyhound server that hosts the Denmark data.
We’re going to download a small patch of data by the Copenhagen airport that is
the “full depth” of the tree.
2. :ref:`writers.gdal`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The :ref:`writers.gdal` writer that bins the point cloud data into an elevation
surface.
The :ref:`writers.gdal` writer that bins the point cloud data with classification
values.
.. literalinclude:: ./classification.json
:lines: 7-14
Execution
................................................................................
.. literalinclude:: ./dtm-run-command.txt
:linenos:
Issue the :ref:`pipeline <pipeline>` operation to execute the interpolation:
.. image:: ../../../images/dtm-run-command.png
:target: ../../../../_images/dtm-run-command.png
.. literalinclude:: ./classify-command.txt
Visualization
................................................................................
.. literalinclude:: ./classification.json
Something happened, and some files were written, but we cannot really
see what was produced. Let us use :ref:`qgis` to visualize the output.
.. image:: ../../../images/rasterization-classification-run-command.png
:target: ../../../../_images/rasterization-classification-run-command.png
1. Open :ref:`qgis` and `Add Raster Layer`:
Visualization
................................................................................
.. image:: ../../../images/dtm-add-raster-layer.png
:target: ../../../../_images/dtm-add-raster-layer.png
.. figure:: ../../../images/rasterization-denmark-no-ramp.png
:target: ../../../../_images/rasterization-denmark-no-ramp.png
:scale: 200%
2. Add the `dtm.tif` file from your ``./PDAL/exercises/analysis/dtm``
directory.
Basic interpolation of data with :ref:`writers.gdal` will output raw
classification values into the resulting raster file. We will need to add a
color ramp to the data for a satisfactory preview.
.. image:: ../../../images/dtm-add-raster-mean.png
:target: ../../../../_images/dtm-add-raster-mean.png
.. image:: ../../../images/dtm-qgis-added.png
:target: ../../../../_images/dtm-qgis-added.png
Unfortunately, this doesn’t give us a very satisfactory image to view. The
reason is there is no color ramp associated with the file, and we’re looking at
pixel values with values from 0-31 according to the ASPRS LAS specification.
3. Classify the DTM by right-clicking on the `dtm.tif` and choosing
`Properties`. Pick the pseudocolor rendering type, and then
choose a color ramp and click `Classify`.
We want colors that correspond to the classification values a bit more
directly. We can use a color ramp to assign explicit values. :ref:`qgis` allows us to
create a text file color ramp that gdaldem can consume to apply colors to the
data.
.. image:: ../../../images/dtm-qgis-classify.png
:target: ../../../../_images/dtm-qgis-classify.png
.. literalinclude:: ./ramp.txt
:linenos:
.. image:: ../../../images/dtm-qgis-colorize-dtm.png
:target: ../../../../_images/dtm-qgis-colorize-dtm.png
With the ramp, we can use `gdaldem`_ to apply it to a new image:
.. literalinclude:: ./gdaldem-run-command.txt
:linenos:
4. :ref:`qgis` provides access to |GDAL| processing tools, and we
are going to use that to create a hillshade of our surface.
Choose `Raster-->Analysis-->Dem`:
.. image:: ../../../images/dtm-qgis-select-hillshade.png
:target: ../../../../_images/dtm-qgis-select-hillshade.png
.. figure:: ../../../images/rasterization-colored-classification.png
:target: ../../../../_images/rasterization-colored-classification.png
:scale: 200%
5. Click the window for the `Output file` and select a location
to save the ``hillshade.tif`` file.
The use of ``-exact_color_entry`` for gdaldem ensures that specific
classification values are given the requested color. For categorical
data such as a classification surface, interpolated output would look
poor.
.. image:: ../../../images/dtm-qgis-gdaldem.png
:target: ../../../../_images/dtm-qgis-gdaldem.png
Intensity
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
With PDAL’s ability to override pipeline via commands, we can generate a
relative intensity image:
.. literalinclude:: ./dtm-hillshade-command.txt
.. literalinclude:: ./intensity-run-command.txt
:linenos:
.. figure:: ../../../images/rasterization-colored-intensity.png
:target: ../../../../_images/rasterization-colored-intensity.png
:scale: 200%
The same pipeline can be used to generate a preview image of the Intensity
channel of the data by overriding pipeline arguments at the command line.
6. Click `OK` and the hillshade of your DTM is now available
.. image:: ../../../images/dtm-qgis-hillshade-done.png
:target: ../../../../_images/dtm-qgis-hillshade-done.png
Notes
--------------------------------------------------------------------------------
1. `gdaldem`_, which powers the :ref:`qgis` DEM tools, is a very powerful
command line utility you can use for processing data.
1. :ref:`writers.gdal` can output any dimension PDAL can provide, but it is is
up to the user to interpolate the values. For categorical data, neighborhood
smoothing might produce undesirable results, for example.
2. :ref:`pipeline` contains more information about overrides and organizing complex pipelines.
2. :ref:`writers.gdal` can be used for large data, but it does not interpolate a
typical `TIN`_ surface model.
.. _`TIN`: https://en.wikipedia.org/wiki/Triangulated_irregular_network
.. _`gdaldem`: http://www.gdal.org/gdaldem.html
.. _`Greyhound`: https://greyhound.io
......@@ -45,8 +45,8 @@ Analysis
analysis/thinning/thinning
analysis/ground/ground
analysis/dtm/dtm
batch_processing/batch-processing.rst
analysis/rasterize/rasterize
batch_processing/batch-processing.rst
Python
--------------------------------------------------------------------------------
......
cd C:\Users\hobu\PDAL\exercises\translation
\ No newline at end of file
pdal info just-ground.las | ^
jq .stats.bbox.native
pdal info just-ground.laz | jq .stats.bbox.native
......@@ -22,7 +22,14 @@ http://potree.entwine.io/data/dublin.html
.. index:: Potree
1. View the ``greyhound.json`` file in your editor
1. In your |Terminal|, navigate to the ``C:\Users\hobu\PDAL\exercises\translation``
folder.
.. literalinclude:: ./greyhound-cd-command.txt
2. View the ``greyhound.json`` file in your editor. If the file does not exist, create
it and paste the following JSON into it:
.. literalinclude:: ./greyhound.json
......@@ -34,7 +41,7 @@ http://potree.entwine.io/data/dublin.html
browser making requests against the Greyhound server at
http://data.greyhound.io
2. Issue the following command in your |Terminal|.
3. Issue the following command in your |Terminal|.
.. literalinclude:: ./greyhound-command.txt
......@@ -44,7 +51,7 @@ http://potree.entwine.io/data/dublin.html
.. _`Developer Console`: https://developers.google.com/web/tools/chrome-devtools/console/
3. Verify that the data look ok:
4. Verify that the data look ok:
.. literalinclude:: ./greyhound-info-command.txt
......@@ -52,7 +59,7 @@ http://potree.entwine.io/data/dublin.html
:target: ../../../_images/greyhound-info-verify.png
4. Visualize the data in http://plas.io
5. Visualize the data in http://plas.io
.. image:: ../../images/greyhound-view.png
:target: ../../../_images/greyhound-view.png
......
pdal translate ^
pdal translate c:/Users/hobu/PDAL/exercises/analysis/ground/CSite1_orig-utm.laz ^
c:/Users/hobu/PDAL/exercises/translation/csite-dd.laz ^
reprojection ^
--filters.reprojection.out_srs="EPSG:4326"