[Git][debian-gis-team/pdal][experimental] 5 commits: Update symbols for amd64.

Bas Couwenberg gitlab at salsa.debian.org
Sat Sep 5 06:18:32 BST 2020



Bas Couwenberg pushed to branch experimental at Debian GIS Project / pdal


Commits:
dc73e9e2 by Bas Couwenberg at 2020-09-02T06:32:18+02:00
Update symbols for amd64.

- - - - -
6c68f077 by Bas Couwenberg at 2020-09-05T06:36:49+02:00
New upstream version 2.2.0~rc3+ds
- - - - -
588e3aac by Bas Couwenberg at 2020-09-05T06:38:30+02:00
Update upstream source from tag 'upstream/2.2.0_rc3+ds'

Update to upstream version '2.2.0~rc3+ds'
with Debian dir f9f81028424957e61e3171c867dda3fe1eb59033
- - - - -
4282b4a0 by Bas Couwenberg at 2020-09-05T06:41:45+02:00
New upstream release candidate.

- - - - -
d9d98740 by Bas Couwenberg at 2020-09-05T06:42:46+02:00
Set distribution to experimental.

- - - - -


15 changed files:

- RELEASENOTES.txt
- debian/changelog
- debian/libpdal-base12.symbols
- doc/development/release-notes/2.2.0.md
- plugins/tiledb/io/TileDBReader.cpp
- plugins/tiledb/io/TileDBWriter.cpp
- plugins/tiledb/io/TileDBWriter.hpp
- plugins/tiledb/test/TileDBReaderTest.cpp
- plugins/tiledb/test/TileDBWriterTest.cpp
- − test/data/tiledb/array/__20c2cf6f2bf546adbc7fe83cb44f180b_1554218258459/OffsetTime.tdb
- − test/data/tiledb/array/__20c2cf6f2bf546adbc7fe83cb44f180b_1554218258459/__coords.tdb
- − test/data/tiledb/array/__20c2cf6f2bf546adbc7fe83cb44f180b_1554218258459/__fragment_metadata.tdb
- − test/data/tiledb/array/__array_schema.tdb
- − test/data/tiledb/array/__lock.tdb
- − test/data/tiledb/array/pdal.json


Changes:

=====================================
RELEASENOTES.txt
=====================================
@@ -97,6 +97,8 @@ Enhancements
    directory.
 -  ``filters.assign`` added the ``value`` option to allow standard
    expression-based conditional assignment of values.(#1468)
+- ``readers.tiledb`` and ``writers.tiledb`` now support TileDB version
+  2 and duplicate points when using version 2 of TileDB. (#3030, #3047)
 
 Bug Fixes
 =========


=====================================
debian/changelog
=====================================
@@ -1,3 +1,10 @@
+pdal (2.2.0~rc3+ds-1~exp1) experimental; urgency=medium
+
+  * New upstream release candidate.
+  * Update symbols for amd64.
+
+ -- Bas Couwenberg <sebastic at debian.org>  Sat, 05 Sep 2020 06:42:31 +0200
+
 pdal (2.2.0~rc2+ds-1~exp1) experimental; urgency=medium
 
   * New upstream release candidate.


=====================================
debian/libpdal-base12.symbols
=====================================
@@ -1,4 +1,4 @@
-# SymbolsHelper-Confirmed: 2.2.0~rc1 amd64
+# SymbolsHelper-Confirmed: 2.2.0~rc2 amd64
 libpdal_base.so.12 #PACKAGE# #MINVER#
 * Build-Depends-Package: libpdal-dev
  BoundaryNames at Base 1.6.0
@@ -354,10 +354,8 @@ libpdal_base.so.12 #PACKAGE# #MINVER#
  _ZN4pdal10GDALReaderD1Ev at Base 1.1.0
  _ZN4pdal10GDALReaderD2Ev at Base 1.8.0
  _ZN4pdal10GDALWriter10createGridENS_5BOX2DE at Base 1.5.0
- _ZN4pdal10GDALWriter10expandGridENS_5BOX2DE at Base 1.5.0
  _ZN4pdal10GDALWriter10initializeEv at Base 1.4.0
  _ZN4pdal10GDALWriter10processOneERNS_8PointRefE at Base 1.5.0
- _ZN4pdal10GDALWriter4cellEdd at Base 1.9.0
  _ZN4pdal10GDALWriter7addArgsERNS_11ProgramArgsE at Base 1.4.0
  _ZN4pdal10GDALWriter8doneFileEv at Base 1.5.0
  _ZN4pdal10GDALWriter8preparedERNS_14BasePointTableE at Base 1.4.0
@@ -878,6 +876,14 @@ libpdal_base.so.12 #PACKAGE# #MINVER#
  _ZN4pdal12RandomKernelD1Ev at Base 1.1.0
  _ZN4pdal12RandomKernelD2Ev at Base 1.1.0
  _ZN4pdal12RasterLimits7addArgsERNS_11ProgramArgsE at Base 2.2.0~rc1
+ _ZN4pdal12RasterWriter4doneERNS_14BasePointTableE at Base 2.2.0~rc2
+ _ZN4pdal12RasterWriter5writeESt10shared_ptrINS_9PointViewEE at Base 2.2.0~rc2
+ _ZN4pdal12RasterWriter7addArgsERNS_11ProgramArgsE at Base 2.2.0~rc2
+ _ZN4pdal12RasterWriterC1Ev at Base 2.2.0~rc2
+ _ZN4pdal12RasterWriterC2Ev at Base 2.2.0~rc2
+ _ZN4pdal12RasterWriterD0Ev at Base 2.2.0~rc2
+ _ZN4pdal12RasterWriterD1Ev at Base 2.2.0~rc2
+ _ZN4pdal12RasterWriterD2Ev at Base 2.2.0~rc2
  _ZN4pdal12SampleFilter13addDimensionsEPNS_11PointLayoutE at Base 1.3.0
  _ZN4pdal12SampleFilter3runESt10shared_ptrINS_9PointViewEE at Base 1.3.0
  _ZN4pdal12SampleFilter7addArgsERNS_11ProgramArgsE at Base 1.3.0
@@ -2196,39 +2202,48 @@ libpdal_base.so.12 #PACKAGE# #MINVER#
  _ZN4pdal4gdal21ErrorHandlerSuspenderC2Ev at Base 2.2.0~rc1
  _ZN4pdal4gdal21ErrorHandlerSuspenderD1Ev at Base 2.2.0~rc1
  _ZN4pdal4gdal21ErrorHandlerSuspenderD2Ev at Base 2.2.0~rc1
+ (optional=templinst)_ZN4pdal4gdal4BandIaE5writeIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEEEEvT_NSt15iterator_traitsISB_E10value_typeE at Base 2.2.0~rc2
  (optional=templinst|arch=amd64 armel armhf i386 m68k mipsel powerpc)_ZN4pdal4gdal4BandIaE5writeIPdEEvT_NSt15iterator_traitsIS5_E10value_typeE at Base 2.0.1
  (optional=templinst|arch=amd64 mipsel)_ZN4pdal4gdal4BandIaE5writeIPfEEvT_NSt15iterator_traitsIS5_E10value_typeE at Base 2.0.1
  (optional=templinst|arch=alpha ia64 mips64el ppc64 ppc64el riscv64 s390x sh4 sparc64)_ZN4pdal4gdal4BandIaED1Ev at Base 2.0.1
  (optional=templinst|arch=alpha ia64 mips64el ppc64 ppc64el riscv64 s390x sh4 sparc64)_ZN4pdal4gdal4BandIaED2Ev at Base 2.0.1
  (optional=templinst|arch=alpha ia64 mips64el ppc64 ppc64el riscv64 s390x sh4 sparc64)_ZN4pdal4gdal4BandIdED1Ev at Base 2.0.1
  (optional=templinst|arch=alpha ia64 mips64el ppc64 ppc64el riscv64 s390x sh4 sparc64)_ZN4pdal4gdal4BandIdED2Ev at Base 2.0.1
+ (optional=templinst)_ZN4pdal4gdal4BandIfE5writeIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEEEEvT_NSt15iterator_traitsISB_E10value_typeE at Base 2.2.0~rc2
  (optional=templinst)_ZN4pdal4gdal4BandIfE5writeIPdEEvT_NSt15iterator_traitsIS5_E10value_typeE at Base 2.2.0~rc1
  (optional=templinst|arch=alpha ia64 mips64el ppc64 ppc64el riscv64 s390x sh4 sparc64)_ZN4pdal4gdal4BandIfED1Ev at Base 1.9.0
  (optional=templinst|arch=alpha ia64 mips64el ppc64 ppc64el riscv64 s390x sh4 sparc64)_ZN4pdal4gdal4BandIfED2Ev at Base 1.9.0
+ (optional=templinst)_ZN4pdal4gdal4BandIhE5writeIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEEEEvT_NSt15iterator_traitsISB_E10value_typeE at Base 2.2.0~rc2
  (optional=templinst|arch=amd64 armel armhf i386 m68k mipsel powerpc)_ZN4pdal4gdal4BandIhE5writeIPdEEvT_NSt15iterator_traitsIS5_E10value_typeE at Base 2.0.1
  (optional=templinst|arch=amd64 mipsel)_ZN4pdal4gdal4BandIhE5writeIPfEEvT_NSt15iterator_traitsIS5_E10value_typeE at Base 2.0.1
  (optional=templinst|arch=alpha ia64 mips64el ppc64 ppc64el riscv64 s390x sh4 sparc64)_ZN4pdal4gdal4BandIhED1Ev at Base 2.0.1
  (optional=templinst|arch=alpha ia64 mips64el ppc64 ppc64el riscv64 s390x sh4 sparc64)_ZN4pdal4gdal4BandIhED2Ev at Base 2.0.1
+ (optional=templinst)_ZN4pdal4gdal4BandIiE5writeIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEEEEvT_NSt15iterator_traitsISB_E10value_typeE at Base 2.2.0~rc2
  (optional=templinst|arch=amd64 armel armhf i386 m68k mipsel powerpc)_ZN4pdal4gdal4BandIiE5writeIPdEEvT_NSt15iterator_traitsIS5_E10value_typeE at Base 2.0.1
  (optional=templinst|arch=amd64 mipsel)_ZN4pdal4gdal4BandIiE5writeIPfEEvT_NSt15iterator_traitsIS5_E10value_typeE at Base 1.9.1
  (optional=templinst|arch=alpha ia64 mips64el ppc64 ppc64el riscv64 s390x sh4 sparc64)_ZN4pdal4gdal4BandIiED1Ev at Base 2.0.1
  (optional=templinst|arch=alpha ia64 mips64el ppc64 ppc64el riscv64 s390x sh4 sparc64)_ZN4pdal4gdal4BandIiED2Ev at Base 2.0.1
+ (optional=templinst)_ZN4pdal4gdal4BandIjE5writeIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEEEEvT_NSt15iterator_traitsISB_E10value_typeE at Base 2.2.0~rc2
  (optional=templinst|arch=amd64 armel armhf i386 m68k mipsel powerpc)_ZN4pdal4gdal4BandIjE5writeIPdEEvT_NSt15iterator_traitsIS5_E10value_typeE at Base 2.0.1
  (optional=templinst|arch=amd64 mipsel)_ZN4pdal4gdal4BandIjE5writeIPfEEvT_NSt15iterator_traitsIS5_E10value_typeE at Base 2.0.1
  (optional=templinst|arch=alpha ia64 mips64el ppc64 ppc64el riscv64 s390x sh4 sparc64)_ZN4pdal4gdal4BandIjED1Ev at Base 2.0.1
  (optional=templinst|arch=alpha ia64 mips64el ppc64 ppc64el riscv64 s390x sh4 sparc64)_ZN4pdal4gdal4BandIjED2Ev at Base 2.0.1
+ (optional=templinst)_ZN4pdal4gdal4BandIlE5writeIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEEEEvT_NSt15iterator_traitsISB_E10value_typeE at Base 2.2.0~rc2
  (optional=templinst)_ZN4pdal4gdal4BandIlE5writeIPdEEvT_NSt15iterator_traitsIS5_E10value_typeE at Base 2.2.0~rc1
  (optional=templinst)_ZN4pdal4gdal4BandIlE5writeIPfEEvT_NSt15iterator_traitsIS5_E10value_typeE at Base 2.2.0~rc1
  (optional=templinst|arch=alpha ia64 mips64el ppc64 ppc64el riscv64 s390x sparc64)_ZN4pdal4gdal4BandIlED1Ev at Base 1.9.0
  (optional=templinst|arch=alpha ia64 mips64el ppc64 ppc64el riscv64 s390x sparc64)_ZN4pdal4gdal4BandIlED2Ev at Base 1.9.0
+ (optional=templinst)_ZN4pdal4gdal4BandImE5writeIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEEEEvT_NSt15iterator_traitsISB_E10value_typeE at Base 2.2.0~rc2
  (optional=templinst)_ZN4pdal4gdal4BandImE5writeIPdEEvT_NSt15iterator_traitsIS5_E10value_typeE at Base 2.2.0~rc1
  (optional=templinst)_ZN4pdal4gdal4BandImE5writeIPfEEvT_NSt15iterator_traitsIS5_E10value_typeE at Base 2.2.0~rc1
  (optional=templinst|arch=alpha ia64 mips64el ppc64 ppc64el riscv64 s390x sparc64)_ZN4pdal4gdal4BandImED1Ev at Base 1.9.0
  (optional=templinst|arch=alpha ia64 mips64el ppc64 ppc64el riscv64 s390x sparc64)_ZN4pdal4gdal4BandImED2Ev at Base 1.9.0
+ (optional=templinst)_ZN4pdal4gdal4BandIsE5writeIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEEEEvT_NSt15iterator_traitsISB_E10value_typeE at Base 2.2.0~rc2
  (optional=templinst|arch=!alpha !arm64 !ia64 !mips64el !ppc64 !ppc64el !riscv64 !s390x !sh4 !sparc64 !x32)_ZN4pdal4gdal4BandIsE5writeIPdEEvT_NSt15iterator_traitsIS5_E10value_typeE at Base 1.9.1
  (optional=templinst|arch=amd64 mipsel)_ZN4pdal4gdal4BandIsE5writeIPfEEvT_NSt15iterator_traitsIS5_E10value_typeE at Base 1.9.1
  (optional=templinst|arch=alpha ia64 mips64el ppc64 ppc64el riscv64 s390x sh4 sparc64)_ZN4pdal4gdal4BandIsED1Ev at Base 2.0.1
  (optional=templinst|arch=alpha ia64 mips64el ppc64 ppc64el riscv64 s390x sh4 sparc64)_ZN4pdal4gdal4BandIsED2Ev at Base 2.0.1
+ (optional=templinst)_ZN4pdal4gdal4BandItE5writeIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEEEEvT_NSt15iterator_traitsISB_E10value_typeE at Base 2.2.0~rc2
  (optional=templinst|arch=!alpha !arm64 !ia64 !mips64el !ppc64 !ppc64el !riscv64 !s390x !sh4 !sparc64 !x32)_ZN4pdal4gdal4BandItE5writeIPdEEvT_NSt15iterator_traitsIS5_E10value_typeE at Base 1.9.1
  (optional=templinst|arch=!alpha !arm64 !armel !armhf !i386 !ia64 !m68k !mips !mips64el !powerpc !ppc64 !ppc64el !riscv64 !s390x !sh4 !sparc64 !x32)_ZN4pdal4gdal4BandItE5writeIPfEEvT_NSt15iterator_traitsIS5_E10value_typeE at Base 1.9.0
  (optional=templinst|arch=alpha ia64 mips64el ppc64 ppc64el riscv64 s390x sh4 sparc64)_ZN4pdal4gdal4BandItED1Ev at Base 2.0.1
@@ -2254,6 +2269,7 @@ libpdal_base.so.12 #PACKAGE# #MINVER#
  _ZN4pdal4gdal6Raster4wakeEv at Base 1.8.0
  _ZN4pdal4gdal6Raster5closeEv at Base 1.1.0
  (optional=templinst)_ZN4pdal4gdal6Raster8readBandIhEENS0_9GDALErrorERSt6vectorIT_SaIS5_EEi at Base 1.6.0
+ (optional=templinst)_ZN4pdal4gdal6Raster9writeBandIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEEEENS0_9GDALErrorET_NSt15iterator_traitsISB_E10value_typeEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE at Base 2.2.0~rc2
  (optional=templinst)_ZN4pdal4gdal6Raster9writeBandIPdEENS0_9GDALErrorET_NSt15iterator_traitsIS5_E10value_typeEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE at Base 1.6.0
  _ZN4pdal4gdal6RasterC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_ at Base 1.4.0
  (arch=!alpha !amd64 !arm64 !ia64 !kfreebsd-amd64 !mips64el !ppc64 !ppc64el !riscv64 !s390x !sparc64)_ZN4pdal4gdal6RasterC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_RKNS_16SpatialReferenceESt5arrayIdLj6EE at Base 1.4.0
@@ -2529,9 +2545,13 @@ libpdal_base.so.12 #PACKAGE# #MINVER#
  (optional=templinst)_ZN4pdal6RasterIdE5beginEv at Base 2.2.0~rc1
  (optional=templinst)_ZN4pdal6RasterIdE6expandEiiii at Base 2.2.0~rc1
  (optional=templinst)_ZN4pdal6RasterIdE9setLimitsERKNS_12RasterLimitsE at Base 2.2.0~rc1
+ (optional=templinst)_ZN4pdal6RasterIdEC1ERKNS_12RasterLimitsERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKd at Base 2.2.0~rc2
  (optional=templinst)_ZN4pdal6RasterIdEC1ERKNS_12RasterLimitsERKd at Base 2.2.0~rc1
+ (optional=templinst)_ZN4pdal6RasterIdEC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKd at Base 2.2.0~rc2
  (optional=templinst)_ZN4pdal6RasterIdEC1ERKd at Base 2.2.0~rc1
+ (optional=templinst)_ZN4pdal6RasterIdEC2ERKNS_12RasterLimitsERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKd at Base 2.2.0~rc2
  (optional=templinst)_ZN4pdal6RasterIdEC2ERKNS_12RasterLimitsERKd at Base 2.2.0~rc1
+ (optional=templinst)_ZN4pdal6RasterIdEC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKd at Base 2.2.0~rc2
  (optional=templinst)_ZN4pdal6RasterIdEC2ERKd at Base 2.2.0~rc1
  (optional=templinst)_ZN4pdal6RasterIdEixEm at Base 2.2.0~rc1
  _ZN4pdal6Reader10l_preparedERNS_14BasePointTableE at Base 2.2.0~rc1
@@ -2797,12 +2817,14 @@ libpdal_base.so.12 #PACKAGE# #MINVER#
  _ZN4pdal8DimRange5errorD2Ev at Base 1.5.0
  _ZN4pdal8DimRange5parseERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE at Base 1.5.0
  _ZN4pdal8DimRange8subParseERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE at Base 1.5.0
+ _ZN4pdal8GDALGrid10fillNodataEii at Base 2.2.0~rc2
  (arch=!alpha !amd64 !arm64 !ia64 !kfreebsd-amd64 !mips64el !ppc64 !ppc64el !riscv64 !s390x !sparc64)_ZN4pdal8GDALGrid10fillNodataEj at Base 1.4.0
- (arch=alpha amd64 arm64 ia64 kfreebsd-amd64 mips64el ppc64 ppc64el riscv64 s390x sparc64)_ZN4pdal8GDALGrid10fillNodataEm at Base 1.9.1
+ _ZN4pdal8GDALGrid10windowFillEii at Base 2.2.0~rc2
  (arch=!alpha !amd64 !arm64 !ia64 !kfreebsd-amd64 !mips64el !ppc64 !ppc64el !riscv64 !s390x !sparc64)_ZN4pdal8GDALGrid10windowFillEjj at Base 1.4.0
- (arch=alpha amd64 arm64 ia64 kfreebsd-amd64 mips64el ppc64 ppc64el riscv64 s390x sparc64)_ZN4pdal8GDALGrid10windowFillEmm at Base 1.9.1
+ _ZN4pdal8GDALGrid10windowFillEv at Base 2.2.0~rc2
+ _ZN4pdal8GDALGrid14windowFillCellEiiiid at Base 2.2.0~rc2
  (arch=!alpha !amd64 !arm64 !ia64 !kfreebsd-amd64 !mips64el !ppc64 !ppc64el !riscv64 !s390x !sparc64)_ZN4pdal8GDALGrid14windowFillCellEjjd at Base 1.4.0
- (arch=alpha amd64 arm64 ia64 kfreebsd-amd64 mips64el ppc64 ppc64el riscv64 s390x sparc64)_ZN4pdal8GDALGrid14windowFillCellEmmd at Base 1.9.1
+ _ZN4pdal8GDALGrid15expandToIncludeEdd at Base 2.2.0~rc2
  _ZN4pdal8GDALGrid19updateFirstQuadrantEddd at Base 2.0.0
  _ZN4pdal8GDALGrid19updateThirdQuadrantEddd at Base 2.0.0
  _ZN4pdal8GDALGrid20updateFourthQuadrantEddd at Base 2.0.0
@@ -2811,14 +2833,13 @@ libpdal_base.so.12 #PACKAGE# #MINVER#
  _ZN4pdal8GDALGrid5errorD0Ev at Base 1.5.0
  _ZN4pdal8GDALGrid5errorD1Ev at Base 1.5.0
  _ZN4pdal8GDALGrid5errorD2Ev at Base 1.5.0
- (subst)_ZN4pdal8GDALGrid6expandE{size_t}{size_t}{size_t}{size_t}@Base 1.5.0
  (subst)_ZN4pdal8GDALGrid6updateE{size_t}{size_t}dd at Base 1.7.0
  _ZN4pdal8GDALGrid8addPointEddd at Base 1.4.0
  _ZN4pdal8GDALGrid8finalizeEv at Base 1.4.0
+ _ZN4pdal8GDALGridC1Eddmmddimd at Base 2.2.0~rc2
  (arch=armel armhf i386 m68k mipsel powerpc)_ZN4pdal8GDALGridC1Ejjddijd at Base 2.1.0
- _ZN4pdal8GDALGridC1Emmddimd at Base 2.1.0
+ _ZN4pdal8GDALGridC2Eddmmddimd at Base 2.2.0~rc2
  (arch=armel armhf i386 m68k mipsel powerpc)_ZN4pdal8GDALGridC2Ejjddijd at Base 2.1.0
- _ZN4pdal8GDALGridC2Emmddimd at Base 2.1.0
  _ZN4pdal8Geometry11throwNoGeosEv at Base 1.9.0
  _ZN4pdal8Geometry19setSpatialReferenceERKNS_16SpatialReferenceE at Base 1.9.0
  _ZN4pdal8Geometry6updateERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE at Base 1.5.0
@@ -3226,7 +3247,7 @@ libpdal_base.so.12 #PACKAGE# #MINVER#
  _ZN4pdal9PointView11appendPointERKS0_m at Base 2.2.0~rc1
  _ZN4pdal9PointView12build2dIndexEv at Base 1.6.0
  _ZN4pdal9PointView12build3dIndexEv at Base 1.6.0
- _ZN4pdal9PointView12createRasterERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_12RasterLimitsE at Base 2.2.0~rc1
+ _ZN4pdal9PointView12createRasterERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_12RasterLimitsEd at Base 2.2.0~rc2
  (subst)_ZN4pdal9PointView16setFieldInternalENS_9Dimension2IdE{uint64_t}PKv at Base 1.3.0
  _ZN4pdal9PointView18invalidateProductsEv at Base 1.7.0
  _ZN4pdal9PointView3endEv at Base 1.1.0
@@ -3938,6 +3959,7 @@ libpdal_base.so.12 #PACKAGE# #MINVER#
  _ZNK4pdal12OptechReader7getNameB5cxx11Ev at Base 1.1.0
  _ZNK4pdal12OptechReader9getHeaderEv at Base 1.1.0
  _ZNK4pdal12RandomKernel7getNameB5cxx11Ev at Base 1.1.0
+ _ZNK4pdal12RasterWriter7getNameB5cxx11Ev at Base 2.2.0~rc2
  _ZNK4pdal12SampleFilter7getNameB5cxx11Ev at Base 1.3.0
  _ZNK4pdal12SrsTransform3getEv at Base 2.0.0
  _ZNK4pdal12SrsTransform9transformERSt6vectorIdSaIdEES4_S4_ at Base 2.2.0~rc1
@@ -4259,10 +4281,12 @@ libpdal_base.so.12 #PACKAGE# #MINVER#
  _ZNK4pdal6Option10toMetadataERNS_12MetadataNodeE at Base 1.1.0
  _ZNK4pdal6Option5toArgB5cxx11Ev at Base 1.3.0
  (optional=templinst)_ZNK4pdal6RasterIdE10edgeLengthEv at Base 2.2.0~rc1
+ (optional=templinst)_ZNK4pdal6RasterIdE11initializerEv at Base 2.2.0~rc2
  (optional=templinst)_ZNK4pdal6RasterIdE2atEii at Base 2.2.0~rc1
  (optional=templinst)_ZNK4pdal6RasterIdE2atEm at Base 2.2.0~rc1
  (optional=templinst)_ZNK4pdal6RasterIdE3endEv at Base 2.2.0~rc1
  (optional=templinst)_ZNK4pdal6RasterIdE4dataEv at Base 2.2.0~rc1
+ (optional=templinst)_ZNK4pdal6RasterIdE4nameB5cxx11Ev at Base 2.2.0~rc2
  (optional=templinst)_ZNK4pdal6RasterIdE4sizeEv at Base 2.2.0~rc1
  (optional=templinst)_ZNK4pdal6RasterIdE5beginEv at Base 2.2.0~rc1
  (optional=templinst)_ZNK4pdal6RasterIdE5indexEii at Base 2.2.0~rc1
@@ -4449,6 +4473,11 @@ libpdal_base.so.12 #PACKAGE# #MINVER#
  _ZNK4pdal8DbReader10dbDimTypesEv at Base 1.1.0
  _ZNK4pdal8DbReader9dimOffsetENS_9Dimension2IdE at Base 1.3.0
  _ZNK4pdal8DimRange11valuePassesEd at Base 1.5.0
+ _ZNK4pdal8GDALGrid5widthEv at Base 2.2.0~rc2
+ _ZNK4pdal8GDALGrid6heightEv at Base 2.2.0~rc2
+ _ZNK4pdal8GDALGrid7xOriginEv at Base 2.2.0~rc2
+ _ZNK4pdal8GDALGrid7yOriginEv at Base 2.2.0~rc2
+ _ZNK4pdal8GDALGrid8distanceEiidd at Base 2.2.0~rc2
  _ZNK4pdal8GDALGrid8numBandsEv at Base 1.4.0
  _ZNK4pdal8Geometry19getSpatialReferenceEv at Base 1.9.0
  _ZNK4pdal8Geometry3wktB5cxx11Edb at Base 1.4.0
@@ -4751,8 +4780,6 @@ libpdal_base.so.12 #PACKAGE# #MINVER#
  (optional=templinst)_ZNSt10unique_ptrINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt14default_deleteIS5_EED2Ev at Base 2.2.0~rc1
  (optional=templinst)_ZNSt10unique_ptrISt6vectorIcSaIcEESt14default_deleteIS2_EED1Ev at Base 2.2.0~rc1
  (optional=templinst)_ZNSt10unique_ptrISt6vectorIcSaIcEESt14default_deleteIS2_EED2Ev at Base 2.2.0~rc1
- (optional=templinst)_ZNSt10unique_ptrISt6vectorIdSaIdEESt14default_deleteIS2_EED1Ev at Base 2.2.0~rc1
- (optional=templinst)_ZNSt10unique_ptrISt6vectorIdSaIdEESt14default_deleteIS2_EED2Ev at Base 2.2.0~rc1
  (optional=templinst)_ZNSt11_Deque_baseIN4pdal12TileContentsESaIS1_EE17_M_initialize_mapEm at Base 2.2.0~rc1
  (optional=templinst|arch=!alpha !amd64 !arm64 !ia64 !kfreebsd-amd64 !mips64el !ppc64 !ppc64el !riscv64 !s390x !sparc64)_ZNSt11_Deque_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_initialize_mapEj at Base 1.4.0
  (optional=templinst|arch=alpha amd64 arm64 ia64 kfreebsd-amd64 mips64el ppc64 ppc64el riscv64 s390x sparc64)_ZNSt11_Deque_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_initialize_mapEm at Base 1.4.0
@@ -4802,6 +4829,7 @@ libpdal_base.so.12 #PACKAGE# #MINVER#
  (optional=templinst)_ZNSt15_Sp_counted_ptrIPN4pdal11EptArtifactELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info at Base 2.2.0~rc1
  (optional=templinst)_ZNSt15_Sp_counted_ptrIPN4pdal11EptArtifactELN9__gnu_cxx12_Lock_policyE2EED0Ev at Base 2.2.0~rc1
  (optional=templinst)_ZNSt15_Sp_counted_ptrIPN4pdal11EptArtifactELN9__gnu_cxx12_Lock_policyE2EED1Ev at Base 2.2.0~rc1
+ (optional=templinst)_ZNSt15_Sp_counted_ptrIPN4pdal11EptArtifactELN9__gnu_cxx12_Lock_policyE2EED2Ev at Base 2.2.0~rc2
  (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal11StageRunnerELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv at Base 1.1.0
  (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal11StageRunnerELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv at Base 1.1.0
  (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal11StageRunnerELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info at Base 1.1.0
@@ -4813,6 +4841,7 @@ libpdal_base.so.12 #PACKAGE# #MINVER#
  (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal11StageRunnerELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info at Base 1.1.0
  (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal11StageRunnerELN9__gnu_cxx12_Lock_policyE2EED0Ev at Base 1.1.0
  (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal11StageRunnerELN9__gnu_cxx12_Lock_policyE2EED1Ev at Base 1.1.0
+ (optional=templinst)_ZNSt15_Sp_counted_ptrIPN4pdal11StageRunnerELN9__gnu_cxx12_Lock_policyE2EED2Ev at Base 2.2.0~rc2
  (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal12QuadPointRefELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv at Base 1.1.0
  (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal12QuadPointRefELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv at Base 1.1.0
  (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal12QuadPointRefELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info at Base 1.1.0
@@ -4824,6 +4853,7 @@ libpdal_base.so.12 #PACKAGE# #MINVER#
  (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal12QuadPointRefELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info at Base 1.1.0
  (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal12QuadPointRefELN9__gnu_cxx12_Lock_policyE2EED0Ev at Base 1.1.0
  (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal12QuadPointRefELN9__gnu_cxx12_Lock_policyE2EED1Ev at Base 1.1.0
+ (optional=templinst)_ZNSt15_Sp_counted_ptrIPN4pdal12QuadPointRefELN9__gnu_cxx12_Lock_policyE2EED2Ev at Base 2.2.0~rc2
  (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal14DynamicLibraryELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv at Base 1.1.0
  (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal14DynamicLibraryELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv at Base 1.1.0
  (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal14DynamicLibraryELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info at Base 1.1.0
@@ -4835,6 +4865,7 @@ libpdal_base.so.12 #PACKAGE# #MINVER#
  (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal14DynamicLibraryELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info at Base 1.1.0
  (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal14DynamicLibraryELN9__gnu_cxx12_Lock_policyE2EED0Ev at Base 1.1.0
  (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal14DynamicLibraryELN9__gnu_cxx12_Lock_policyE2EED1Ev at Base 1.1.0
+ (optional=templinst)_ZNSt15_Sp_counted_ptrIPN4pdal14DynamicLibraryELN9__gnu_cxx12_Lock_policyE2EED2Ev at Base 2.2.0~rc2
  (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal16MetadataNodeImplELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv at Base 1.1.0
  (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal16MetadataNodeImplELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv at Base 1.1.0
  (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal16MetadataNodeImplELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info at Base 1.1.0
@@ -4846,6 +4877,7 @@ libpdal_base.so.12 #PACKAGE# #MINVER#
  (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal16MetadataNodeImplELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info at Base 1.1.0
  (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal16MetadataNodeImplELN9__gnu_cxx12_Lock_policyE2EED0Ev at Base 1.1.0
  (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal16MetadataNodeImplELN9__gnu_cxx12_Lock_policyE2EED1Ev at Base 1.1.0
+ (optional=templinst)_ZNSt15_Sp_counted_ptrIPN4pdal16MetadataNodeImplELN9__gnu_cxx12_Lock_policyE2EED2Ev at Base 2.2.0~rc2
  (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal3LogELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv at Base 1.1.0
  (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal3LogELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv at Base 1.1.0
  (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal3LogELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info at Base 1.1.0
@@ -4857,6 +4889,7 @@ libpdal_base.so.12 #PACKAGE# #MINVER#
  (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal3LogELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info at Base 1.1.0
  (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal3LogELN9__gnu_cxx12_Lock_policyE2EED0Ev at Base 1.1.0
  (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal3LogELN9__gnu_cxx12_Lock_policyE2EED1Ev at Base 1.1.0
+ (optional=templinst)_ZNSt15_Sp_counted_ptrIPN4pdal3LogELN9__gnu_cxx12_Lock_policyE2EED2Ev at Base 2.2.0~rc2
  (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal4gdal6RasterELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv at Base 1.4.0
  (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal4gdal6RasterELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv at Base 1.4.0
  (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal4gdal6RasterELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info at Base 1.4.0
@@ -4868,6 +4901,7 @@ libpdal_base.so.12 #PACKAGE# #MINVER#
  (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal4gdal6RasterELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info at Base 1.4.0
  (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal4gdal6RasterELN9__gnu_cxx12_Lock_policyE2EED0Ev at Base 1.4.0
  (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal4gdal6RasterELN9__gnu_cxx12_Lock_policyE2EED1Ev at Base 1.4.0
+ (optional=templinst)_ZNSt15_Sp_counted_ptrIPN4pdal4gdal6RasterELN9__gnu_cxx12_Lock_policyE2EED2Ev at Base 2.2.0~rc2
  (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal8MetadataELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv at Base 1.1.0
  (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal8MetadataELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv at Base 1.1.0
  (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal8MetadataELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info at Base 1.1.0
@@ -4879,6 +4913,7 @@ libpdal_base.so.12 #PACKAGE# #MINVER#
  (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal8MetadataELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info at Base 1.1.0
  (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal8MetadataELN9__gnu_cxx12_Lock_policyE2EED0Ev at Base 1.1.0
  (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal8MetadataELN9__gnu_cxx12_Lock_policyE2EED1Ev at Base 1.1.0
+ (optional=templinst)_ZNSt15_Sp_counted_ptrIPN4pdal8MetadataELN9__gnu_cxx12_Lock_policyE2EED2Ev at Base 2.2.0~rc2
  (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal9PointViewELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv at Base 1.1.0
  (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal9PointViewELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv at Base 1.1.0
  (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal9PointViewELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info at Base 1.1.0
@@ -4890,6 +4925,7 @@ libpdal_base.so.12 #PACKAGE# #MINVER#
  (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal9PointViewELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info at Base 1.1.0
  (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal9PointViewELN9__gnu_cxx12_Lock_policyE2EED0Ev at Base 1.1.0
  (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN4pdal9PointViewELN9__gnu_cxx12_Lock_policyE2EED1Ev at Base 1.1.0
+ (optional=templinst)_ZNSt15_Sp_counted_ptrIPN4pdal9PointViewELN9__gnu_cxx12_Lock_policyE2EED2Ev at Base 2.2.0~rc2
  (optional=templinst|arch=armel riscv64)_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv at Base 1.1.0
  (optional=templinst|arch=armel riscv64)_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE1EE10_M_releaseEv at Base 1.1.0
  (optional=templinst|arch=!armel !riscv64)_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv at Base 1.1.0
@@ -4957,6 +4993,8 @@ libpdal_base.so.12 #PACKAGE# #MINVER#
  _ZNSt17_Function_handlerIFPN4pdal5StageEvEZNS0_13PluginManagerIS1_E16l_registerPluginINS0_12NormalFilterEEEbRKNS0_10PluginInfoEEUlvE_E9_M_invokeERKSt9_Any_data at Base 1.7.0
  (optional=templinst)_ZNSt17_Function_handlerIFPN4pdal5StageEvEZNS0_13PluginManagerIS1_E16l_registerPluginINS0_12OptechReaderEEEbRKNS0_10PluginInfoEEUlvE_E10_M_managerERSt9_Any_dataRKSD_St18_Manager_operation at Base 2.2.0~rc1
  _ZNSt17_Function_handlerIFPN4pdal5StageEvEZNS0_13PluginManagerIS1_E16l_registerPluginINS0_12OptechReaderEEEbRKNS0_10PluginInfoEEUlvE_E9_M_invokeERKSt9_Any_data at Base 1.7.0
+ (optional=templinst)_ZNSt17_Function_handlerIFPN4pdal5StageEvEZNS0_13PluginManagerIS1_E16l_registerPluginINS0_12RasterWriterEEEbRKNS0_10PluginInfoEEUlvE_E10_M_managerERSt9_Any_dataRKSD_St18_Manager_operation at Base 2.2.0~rc2
+ (optional=templinst)_ZNSt17_Function_handlerIFPN4pdal5StageEvEZNS0_13PluginManagerIS1_E16l_registerPluginINS0_12RasterWriterEEEbRKNS0_10PluginInfoEEUlvE_E9_M_invokeERKSt9_Any_data at Base 2.2.0~rc2
  (optional=templinst)_ZNSt17_Function_handlerIFPN4pdal5StageEvEZNS0_13PluginManagerIS1_E16l_registerPluginINS0_12SampleFilterEEEbRKNS0_10PluginInfoEEUlvE_E10_M_managerERSt9_Any_dataRKSD_St18_Manager_operation at Base 2.2.0~rc1
  _ZNSt17_Function_handlerIFPN4pdal5StageEvEZNS0_13PluginManagerIS1_E16l_registerPluginINS0_12SampleFilterEEEbRKNS0_10PluginInfoEEUlvE_E9_M_invokeERKSt9_Any_data at Base 1.7.0
  (optional=templinst)_ZNSt17_Function_handlerIFPN4pdal5StageEvEZNS0_13PluginManagerIS1_E16l_registerPluginINS0_12TIndexReaderEEEbRKNS0_10PluginInfoEEUlvE_E10_M_managerERSt9_Any_dataRKSD_St18_Manager_operation at Base 2.2.0~rc1
@@ -5134,6 +5172,7 @@ libpdal_base.so.12 #PACKAGE# #MINVER#
  (optional=templinst|arch=!armel !riscv64)_ZNSt19_Sp_counted_deleterIPSoN4pdal17FileStreamDeleterESaIvELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info at Base 1.1.0
  (optional=templinst|arch=!armel !riscv64)_ZNSt19_Sp_counted_deleterIPSoN4pdal17FileStreamDeleterESaIvELN9__gnu_cxx12_Lock_policyE2EED0Ev at Base 1.1.0
  (optional=templinst|arch=!armel !riscv64)_ZNSt19_Sp_counted_deleterIPSoN4pdal17FileStreamDeleterESaIvELN9__gnu_cxx12_Lock_policyE2EED1Ev at Base 1.1.0
+ (optional=templinst)_ZNSt19_Sp_counted_deleterIPSoN4pdal17FileStreamDeleterESaIvELN9__gnu_cxx12_Lock_policyE2EED2Ev at Base 2.2.0~rc2
  (optional=templinst|arch=armel riscv64)_ZNSt19_Sp_counted_deleterIPvZN4pdal4gdal10SpatialRef6newRefES0_EUlS0_E_SaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv at Base 1.1.0
  (optional=templinst|arch=armel riscv64)_ZNSt19_Sp_counted_deleterIPvZN4pdal4gdal10SpatialRef6newRefES0_EUlS0_E_SaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv at Base 1.1.0
  (optional=templinst|arch=armel riscv64)_ZNSt19_Sp_counted_deleterIPvZN4pdal4gdal10SpatialRef6newRefES0_EUlS0_E_SaIvELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info at Base 1.1.0
@@ -5158,6 +5197,7 @@ libpdal_base.so.12 #PACKAGE# #MINVER#
  (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN8nlohmann6detail20input_buffer_adapterESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info at Base 2.0.0
  (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN8nlohmann6detail20input_buffer_adapterESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED0Ev at Base 2.0.0
  (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN8nlohmann6detail20input_buffer_adapterESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED1Ev at Base 2.0.0
+ (optional=templinst)_ZNSt23_Sp_counted_ptr_inplaceIN8nlohmann6detail20input_buffer_adapterESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED2Ev at Base 2.2.0~rc2
  (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN8nlohmann6detail20input_stream_adapterESaIS2_ELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv at Base 2.0.1
  (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN8nlohmann6detail20input_stream_adapterESaIS2_ELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv at Base 2.0.1
  (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN8nlohmann6detail20input_stream_adapterESaIS2_ELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info at Base 2.0.1
@@ -5169,6 +5209,7 @@ libpdal_base.so.12 #PACKAGE# #MINVER#
  (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN8nlohmann6detail20input_stream_adapterESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info at Base 2.0.0
  (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN8nlohmann6detail20input_stream_adapterESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED0Ev at Base 2.0.0
  (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN8nlohmann6detail20input_stream_adapterESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED1Ev at Base 2.0.0
+ (optional=templinst)_ZNSt23_Sp_counted_ptr_inplaceIN8nlohmann6detail20input_stream_adapterESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED2Ev at Base 2.2.0~rc2
  (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN8nlohmann6detail21output_stream_adapterIcEESaIS3_ELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv at Base 2.0.1
  (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN8nlohmann6detail21output_stream_adapterIcEESaIS3_ELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv at Base 2.0.1
  (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN8nlohmann6detail21output_stream_adapterIcEESaIS3_ELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info at Base 2.0.1
@@ -5180,6 +5221,7 @@ libpdal_base.so.12 #PACKAGE# #MINVER#
  (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN8nlohmann6detail21output_stream_adapterIcEESaIS3_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info at Base 2.0.0
  (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN8nlohmann6detail21output_stream_adapterIcEESaIS3_ELN9__gnu_cxx12_Lock_policyE2EED0Ev at Base 2.0.0
  (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN8nlohmann6detail21output_stream_adapterIcEESaIS3_ELN9__gnu_cxx12_Lock_policyE2EED1Ev at Base 2.0.0
+ (optional=templinst)_ZNSt23_Sp_counted_ptr_inplaceIN8nlohmann6detail21output_stream_adapterIcEESaIS3_ELN9__gnu_cxx12_Lock_policyE2EED2Ev at Base 2.2.0~rc2
  (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN8nlohmann6detail21output_string_adapterIcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESaIS9_ELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv at Base 2.0.1
  (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN8nlohmann6detail21output_string_adapterIcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESaIS9_ELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv at Base 2.0.1
  (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN8nlohmann6detail21output_string_adapterIcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESaIS9_ELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info at Base 2.0.1
@@ -5191,6 +5233,7 @@ libpdal_base.so.12 #PACKAGE# #MINVER#
  (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN8nlohmann6detail21output_string_adapterIcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESaIS9_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info at Base 2.0.0
  (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN8nlohmann6detail21output_string_adapterIcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESaIS9_ELN9__gnu_cxx12_Lock_policyE2EED0Ev at Base 2.0.0
  (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN8nlohmann6detail21output_string_adapterIcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESaIS9_ELN9__gnu_cxx12_Lock_policyE2EED1Ev at Base 2.0.0
+ (optional=templinst)_ZNSt23_Sp_counted_ptr_inplaceIN8nlohmann6detail21output_string_adapterIcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESaIS9_ELN9__gnu_cxx12_Lock_policyE2EED2Ev at Base 2.2.0~rc2
  (optional=templinst|arch=armel armhf i386 m68k mips mipsel powerpc sh4 x32)_ZNSt23mersenne_twister_engineIjLj32ELj624ELj397ELj31ELj2567483615ELj11ELj4294967295ELj7ELj2636928640ELj15ELj4022730752ELj18ELj1812433253EEclEv at Base 1.9.1
  (optional=templinst)_ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE11_M_gen_randEv at Base 2.2.0~rc1
  (optional=templinst|arch=!armel !armhf !i386 !m68k !mipsel !powerpc !sh4 !x32)_ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv at Base 1.9.1
@@ -5469,6 +5512,8 @@ libpdal_base.so.12 #PACKAGE# #MINVER#
  (optional=templinst)_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_ at Base 1.5.0
  (optional=templinst)_ZNSt6vectorIPN4pdal5StageESaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_ at Base 1.5.0
  (optional=templinst)_ZNSt6vectorIPN4pdal5StageESaIS2_EE17_M_realloc_insertIJS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_ at Base 1.5.0
+ (optional=templinst)_ZNSt6vectorIPN4pdal6RasterIdEESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_ at Base 2.2.0~rc2
+ (optional=templinst)_ZNSt6vectorIPN4pdal6RasterIdEESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_ at Base 2.2.0~rc2
  (optional=templinst)_ZNSt6vectorIPN5hexer4PathESaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_ at Base 1.8.0
  (optional=templinst|subst)_ZNSt6vectorIPN8nlohmann10basic_jsonISt3mapS_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb{int64_t}{uint64_t}dSaNS0_14adl_serializerEEESaISB_EE17_M_realloc_insertIJRKSB_EEEvN9__gnu_cxx17__normal_iteratorIPSB_SD_EEDpOT_ at Base 2.0.0
  (optional=templinst|subst)_ZNSt6vectorIPN8nlohmann10basic_jsonISt3mapS_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb{int64_t}{uint64_t}dSaNS0_14adl_serializerEEESaISB_EE17_M_realloc_insertIJSB_EEEvN9__gnu_cxx17__normal_iteratorIPSB_SD_EEDpOT_ at Base 2.0.0
@@ -5875,6 +5920,7 @@ libpdal_base.so.12 #PACKAGE# #MINVER#
  _ZTIN4pdal12NumHeaderValItLt0ELt65535EEE at Base 1.3.0
  _ZTIN4pdal12OptechReaderE at Base 1.1.0
  _ZTIN4pdal12RandomKernelE at Base 1.1.0
+ _ZTIN4pdal12RasterWriterE at Base 2.2.0~rc2
  _ZTIN4pdal12SampleFilterE at Base 1.3.0
  _ZTIN4pdal12TIndexKernelE at Base 1.1.0
  _ZTIN4pdal12TIndexReaderE at Base 1.1.0
@@ -6190,6 +6236,7 @@ libpdal_base.so.12 #PACKAGE# #MINVER#
  _ZTIZN4pdal13PluginManagerINS_5StageEE16l_registerPluginINS_12LocateFilterEEEbRKNS_10PluginInfoEEUlvE_ at Base 1.7.0
  _ZTIZN4pdal13PluginManagerINS_5StageEE16l_registerPluginINS_12NormalFilterEEEbRKNS_10PluginInfoEEUlvE_ at Base 1.7.0
  _ZTIZN4pdal13PluginManagerINS_5StageEE16l_registerPluginINS_12OptechReaderEEEbRKNS_10PluginInfoEEUlvE_ at Base 1.7.0
+ _ZTIZN4pdal13PluginManagerINS_5StageEE16l_registerPluginINS_12RasterWriterEEEbRKNS_10PluginInfoEEUlvE_ at Base 2.2.0~rc2
  _ZTIZN4pdal13PluginManagerINS_5StageEE16l_registerPluginINS_12SampleFilterEEEbRKNS_10PluginInfoEEUlvE_ at Base 1.7.0
  _ZTIZN4pdal13PluginManagerINS_5StageEE16l_registerPluginINS_12TIndexReaderEEEbRKNS_10PluginInfoEEUlvE_ at Base 1.7.0
  _ZTIZN4pdal13PluginManagerINS_5StageEE16l_registerPluginINS_13ChipperFilterEEEbRKNS_10PluginInfoEEUlvE_ at Base 1.7.0
@@ -6340,6 +6387,7 @@ libpdal_base.so.12 #PACKAGE# #MINVER#
  _ZTSN4pdal12NumHeaderValItLt0ELt65535EEE at Base 1.3.0
  _ZTSN4pdal12OptechReaderE at Base 1.1.0
  _ZTSN4pdal12RandomKernelE at Base 1.1.0
+ _ZTSN4pdal12RasterWriterE at Base 2.2.0~rc2
  _ZTSN4pdal12SampleFilterE at Base 1.3.0
  _ZTSN4pdal12TIndexKernelE at Base 1.1.0
  _ZTSN4pdal12TIndexReaderE at Base 1.1.0
@@ -6656,6 +6704,7 @@ libpdal_base.so.12 #PACKAGE# #MINVER#
  _ZTSZN4pdal13PluginManagerINS_5StageEE16l_registerPluginINS_12LocateFilterEEEbRKNS_10PluginInfoEEUlvE_ at Base 1.7.0
  _ZTSZN4pdal13PluginManagerINS_5StageEE16l_registerPluginINS_12NormalFilterEEEbRKNS_10PluginInfoEEUlvE_ at Base 1.7.0
  _ZTSZN4pdal13PluginManagerINS_5StageEE16l_registerPluginINS_12OptechReaderEEEbRKNS_10PluginInfoEEUlvE_ at Base 1.7.0
+ _ZTSZN4pdal13PluginManagerINS_5StageEE16l_registerPluginINS_12RasterWriterEEEbRKNS_10PluginInfoEEUlvE_ at Base 2.2.0~rc2
  _ZTSZN4pdal13PluginManagerINS_5StageEE16l_registerPluginINS_12SampleFilterEEEbRKNS_10PluginInfoEEUlvE_ at Base 1.7.0
  _ZTSZN4pdal13PluginManagerINS_5StageEE16l_registerPluginINS_12TIndexReaderEEEbRKNS_10PluginInfoEEUlvE_ at Base 1.7.0
  _ZTSZN4pdal13PluginManagerINS_5StageEE16l_registerPluginINS_13ChipperFilterEEEbRKNS_10PluginInfoEEUlvE_ at Base 1.7.0
@@ -6771,6 +6820,7 @@ libpdal_base.so.12 #PACKAGE# #MINVER#
  _ZTTN4pdal12LocateFilterE at Base 1.7.0
  _ZTTN4pdal12NormalFilterE at Base 1.7.0
  _ZTTN4pdal12OptechReaderE at Base 1.7.0
+ _ZTTN4pdal12RasterWriterE at Base 2.2.0~rc2
  _ZTTN4pdal12SampleFilterE at Base 1.7.0
  _ZTTN4pdal12TIndexReaderE at Base 1.7.0
  _ZTTN4pdal13ChipperFilterE at Base 1.7.0
@@ -6901,6 +6951,7 @@ libpdal_base.so.12 #PACKAGE# #MINVER#
  _ZTVN4pdal12NumHeaderValItLt0ELt65535EEE at Base 1.3.0
  _ZTVN4pdal12OptechReaderE at Base 1.1.0
  _ZTVN4pdal12RandomKernelE at Base 1.1.0
+ _ZTVN4pdal12RasterWriterE at Base 2.2.0~rc2
  _ZTVN4pdal12SampleFilterE at Base 1.3.0
  _ZTVN4pdal12TIndexKernelE at Base 1.1.0
  _ZTVN4pdal12TIndexReaderE at Base 1.1.0
@@ -7664,6 +7715,10 @@ libpdal_base.so.12 #PACKAGE# #MINVER#
  (c++)"virtual thunk to pdal::RangeFilter::prepared(pdal::BasePointTable&)@Base" 1.7.0
  (c++)"virtual thunk to pdal::RangeFilter::run(std::shared_ptr<pdal::PointView>)@Base" 1.7.0
  (c++)"virtual thunk to pdal::RangeFilter::~RangeFilter()@Base" 1.7.0
+ (c++)"virtual thunk to pdal::RasterWriter::addArgs(pdal::ProgramArgs&)@Base" 2.2.0~rc2
+ (c++)"virtual thunk to pdal::RasterWriter::done(pdal::BasePointTable&)@Base" 2.2.0~rc2
+ (c++)"virtual thunk to pdal::RasterWriter::getName[abi:cxx11]() const at Base" 2.2.0~rc2
+ (c++)"virtual thunk to pdal::RasterWriter::~RasterWriter()@Base" 2.2.0~rc2
  (c++)"virtual thunk to pdal::Reader::l_addArgs(pdal::ProgramArgs&)@Base" 2.2.0~rc1
  (c++)"virtual thunk to pdal::Reader::l_initialize(pdal::BasePointTable&)@Base" 2.2.0~rc1
  (c++)"virtual thunk to pdal::Reader::l_prepared(pdal::BasePointTable&)@Base" 2.2.0~rc1


=====================================
doc/development/release-notes/2.2.0.md
=====================================
@@ -50,6 +50,7 @@
 - `readers.i3s` is now streamable.
 - `readers.slpk` no longer expands the source file into a temporary directory.
 - `filters.assign` added the `value` option to allow standard expression-based conditional assignment of values.(#1468)
+- `readers.tiledb` and `writers.tiledb` now support TileDB version 2 and duplicate points when using version 2 of TileDB. (#3030, #3047)
 
 # Bug Fixes
 


=====================================
plugins/tiledb/io/TileDBReader.cpp
=====================================
@@ -127,6 +127,9 @@ void TileDBReader::initialize()
 
     try
     {
+        if (m_stats)
+            tiledb::Stats::enable();
+
         m_array.reset(new tiledb::Array(*m_ctx, m_filename, TILEDB_READ));
     }
     catch (const tiledb::TileDBError& err)
@@ -149,8 +152,13 @@ void TileDBReader::addDimensions(PointLayoutPtr layout)
         DimInfo di;
 
         di.m_name = dim.name();
+#if TILEDB_VERSION_MAJOR == 1
         di.m_offset = i;
         di.m_span = dims.size();
+#else
+        di.m_offset = 0;
+        di.m_span = 1;
+#endif
         di.m_dimCategory = DimCategory::Dimension;
         di.m_tileType = dim.type();
         di.m_type = getPdalType(di.m_tileType);
@@ -251,22 +259,27 @@ void TileDBReader::localReady()
 
     DimInfo& di = *it;
     Buffer *dimBuf = new Buffer(di.m_tileType, m_chunkSize * numDims);
+
+#if TILEDB_VERSION_MAJOR == 1
     m_query->set_coordinates(dimBuf->get<double>(), dimBuf->count());
     m_buffers.push_back(std::unique_ptr<Buffer>(dimBuf));
+#endif
 
     for (DimInfo& di : m_dims)
     {
         // All dimensions use the same buffer.
+#if TILEDB_VERSION_MAJOR == 1 
         if (di.m_dimCategory == DimCategory::Dimension)
-            di.m_buffer = dimBuf;
-        else
         {
-            std::unique_ptr<Buffer> dimBuf(
-                new Buffer(di.m_tileType, m_chunkSize));
-            di.m_buffer = dimBuf.get();
-            m_buffers.push_back(std::move(dimBuf));
-            setQueryBuffer(di);
+            di.m_buffer = dimBuf;
+            continue;
         }
+#endif
+        std::unique_ptr<Buffer> dimBuf(
+            new Buffer(di.m_tileType, m_chunkSize));
+        di.m_buffer = dimBuf.get();
+        m_buffers.push_back(std::move(dimBuf));
+        setQueryBuffer(di);
     }
 
     // Set the extent of the query.
@@ -295,7 +308,7 @@ void TileDBReader::localReady()
     // read spatial reference
     NL::json meta = nullptr;
 
-#if TILEDB_VERSION_MAJOR >= 1 && TILEDB_VERSION_MINOR >= 7
+#if TILEDB_VERSION_MAJOR > 1 || TILEDB_VERSION_MINOR >= 7
     tiledb_datatype_t v_type = TILEDB_UINT8;
     const void* v_r;
     uint32_t v_num;
@@ -310,7 +323,7 @@ void TileDBReader::localReady()
         tiledb::VFS::filebuf fbuf(vfs);
         std::string metaFName = m_filename + pathSeparator + "pdal.json";
 
-        if (vfs.is_dir(m_filename))
+        if (vfs.is_file(metaFName))
         {
             auto nBytes = vfs.file_size(metaFName);
             tiledb::VFS::filebuf fbuf(vfs);
@@ -412,13 +425,13 @@ bool TileDBReader::processPoint(PointRef& point)
         else
         {
             tiledb::Query::Status status;
-            if (m_stats)
-                tiledb::Stats::enable();
+
             m_query->submit();
+
             if (m_stats)
             {
                 tiledb::Stats::dump(stdout);
-                tiledb::Stats::disable();
+                tiledb::Stats::reset();
             }
 
             status = m_query->query_status();
@@ -427,10 +440,13 @@ bool TileDBReader::processPoint(PointRef& point)
             // returned by the query for dimensions.  So if there are three
             // dimensions, the number of points returned is the buffer count
             // divided by the number of dimensions.
+#if TILEDB_VERSION_MAJOR == 1
             m_resultSize =
                 (int)m_query->result_buffer_elements()[TILEDB_COORDS].second /
                 m_array->schema().domain().dimensions().size();
-
+#else
+            m_resultSize = (int)m_query->result_buffer_elements()["X"].second;
+#endif
             if (status == tiledb::Query::Status::INCOMPLETE &&
                     m_resultSize == 0)
                 throwError("Need to increase chunk_size for reader.");


=====================================
plugins/tiledb/io/TileDBWriter.cpp
=====================================
@@ -328,7 +328,9 @@ void TileDBWriter::initialize()
             {
                 opts = m_args->m_defaults["coords"];
             }
-
+#if TILEDB_VERSION_MAJOR > 1
+            m_schema->set_allows_dups(true);
+#endif
             m_schema->set_coords_filter_list(
                 *createFilterList(*m_ctx, opts));
         }
@@ -345,6 +347,9 @@ void TileDBWriter::ready(pdal::BasePointTable &table)
     auto layout = table.layout();
     auto all = layout->dims();
 
+    if (m_args->m_stats)
+        tiledb::Stats::enable();
+
     // get a list of all the dimensions & their types and add to schema
     // x,y,z will be tiledb dimensions other pdal dimensions will be
     // tiledb attributes
@@ -427,8 +432,6 @@ void TileDBWriter::ready(pdal::BasePointTable &table)
             TILEDB_WRITE));
     }
 
-    m_query.reset(new tiledb::Query(*m_ctx, *m_array));
-    m_query->set_layout(TILEDB_UNORDERED);
     m_current_idx = 0;
 }
 
@@ -442,9 +445,9 @@ bool TileDBWriter::processOne(PointRef& point)
     for (auto& a : m_attrs)
         writeAttributeValue(a, point, m_current_idx);
 
-    m_coords.push_back(x);
-    m_coords.push_back(y);
-    m_coords.push_back(z);
+    m_xs.push_back(x);
+    m_ys.push_back(y);
+    m_zs.push_back(z);
 
     if (++m_current_idx == m_args->m_cache_size)
     {
@@ -524,7 +527,25 @@ void TileDBWriter::done(PointTableRef table)
 
 bool TileDBWriter::flushCache(size_t size)
 {
-    m_query->set_coordinates(m_coords);
+    tiledb::Query query(*m_ctx, *m_array);
+    query.set_layout(TILEDB_UNORDERED);
+
+#if TILEDB_VERSION_MAJOR == 1
+    // backwards compatibility requires a copy
+    std::vector<double> coords;
+
+    for(unsigned i = 0; i < m_xs.size(); i++)
+    {
+        coords.push_back(m_xs[i]);
+        coords.push_back(m_ys[i]);
+        coords.push_back(m_zs[i]);
+    }
+    query.set_coordinates(coords);
+#else
+    query.set_buffer("X", m_xs);
+    query.set_buffer("Y", m_ys);
+    query.set_buffer("Z", m_zs);
+#endif
 
     // set tiledb buffers
     for (const auto& a : m_attrs)
@@ -533,43 +554,43 @@ bool TileDBWriter::flushCache(size_t size)
         switch (a.m_type)
         {
         case Dimension::Type::Double:
-            m_query->set_buffer(a.m_name, reinterpret_cast<double *>(buf),
+            query.set_buffer(a.m_name, reinterpret_cast<double *>(buf),
                 size);
             break;
         case Dimension::Type::Float:
-            m_query->set_buffer(a.m_name, reinterpret_cast<float *>(buf),
+            query.set_buffer(a.m_name, reinterpret_cast<float *>(buf),
                 size);
             break;
         case Dimension::Type::Signed8:
-            m_query->set_buffer(a.m_name, reinterpret_cast<int8_t *>(buf),
+            query.set_buffer(a.m_name, reinterpret_cast<int8_t *>(buf),
                 size);
             break;
         case Dimension::Type::Signed16:
-            m_query->set_buffer(a.m_name, reinterpret_cast<int16_t *>(buf),
+            query.set_buffer(a.m_name, reinterpret_cast<int16_t *>(buf),
                 size);
             break;
         case Dimension::Type::Signed32:
-            m_query->set_buffer(a.m_name, reinterpret_cast<int32_t *>(buf),
+            query.set_buffer(a.m_name, reinterpret_cast<int32_t *>(buf),
                 size);
             break;
         case Dimension::Type::Signed64:
-            m_query->set_buffer(a.m_name, reinterpret_cast<int64_t *>(buf),
+            query.set_buffer(a.m_name, reinterpret_cast<int64_t *>(buf),
                 size);
             break;
         case Dimension::Type::Unsigned8:
-            m_query->set_buffer(a.m_name, reinterpret_cast<uint8_t *>(buf),
+            query.set_buffer(a.m_name, reinterpret_cast<uint8_t *>(buf),
                 size);
             break;
         case Dimension::Type::Unsigned16:
-            m_query->set_buffer(a.m_name, reinterpret_cast<uint16_t *>(buf),
+            query.set_buffer(a.m_name, reinterpret_cast<uint16_t *>(buf),
                 size);
             break;
         case Dimension::Type::Unsigned32:
-            m_query->set_buffer(a.m_name, reinterpret_cast<uint32_t *>(buf),
+            query.set_buffer(a.m_name, reinterpret_cast<uint32_t *>(buf),
                 size);
             break;
         case Dimension::Type::Unsigned64:
-            m_query->set_buffer(a.m_name, reinterpret_cast<uint64_t *>(buf),
+            query.set_buffer(a.m_name, reinterpret_cast<uint64_t *>(buf),
                 size);
             break;
         case Dimension::Type::None:
@@ -578,19 +599,18 @@ bool TileDBWriter::flushCache(size_t size)
         }
     }
 
-    if (m_args->m_stats)
-        tiledb::Stats::enable();
-
-    tiledb::Query::Status status = m_query->submit();
+    tiledb::Query::Status status = query.submit();
 
     if (m_args->m_stats)
     {
         tiledb::Stats::dump(stdout);
-        tiledb::Stats::disable();
+        tiledb::Stats::reset();
     }
 
     m_current_idx = 0;
-    m_coords.clear();
+    m_xs.clear();
+    m_ys.clear();
+    m_zs.clear();
 
     if (status == tiledb::Query::Status::FAILED)
         return false;


=====================================
plugins/tiledb/io/TileDBWriter.hpp
=====================================
@@ -80,9 +80,10 @@ private:
     std::unique_ptr<tiledb::Context> m_ctx;
     std::unique_ptr<tiledb::ArraySchema> m_schema;
     std::unique_ptr<tiledb::Array> m_array;
-    std::unique_ptr<tiledb::Query> m_query;
     std::vector<DimBuffer> m_attrs;
-    std::vector<double> m_coords;
+    std::vector<double> m_xs;
+    std::vector<double> m_ys;
+    std::vector<double> m_zs;
 
     TileDBWriter(const TileDBWriter&) = delete;
     TileDBWriter& operator=(const TileDBWriter&) = delete;


=====================================
plugins/tiledb/test/TileDBReaderTest.cpp
=====================================
@@ -58,7 +58,31 @@ class TileDBReaderTest : public ::testing::Test
     protected:
         virtual void SetUp()
         {
+            tiledb::Context ctx;
+            FauxReader rdr;
+            TileDBWriter writer;
+            Options writer_options;
+            Options reader_options;
+
+            if (Utils::fileExists(data_path))
+                 tiledb::Object::remove(ctx, data_path);
+
+            writer_options.add("array_name", data_path);
+
+            reader_options.add("mode", "ramp");
+            reader_options.add("count", 100);
+            rdr.setOptions(reader_options);
+
+            writer.setOptions(writer_options);
+            writer.setInput(rdr);
+            writer.setSpatialReference(utm16);
+
+            FixedPointTable table(10);
+            writer.prepare(table);
+            writer.execute(table);
         }
+
+        std::string data_path = Support::temppath("tiledb_array");
     };
 
     TEST_F(TileDBReaderTest, constructor)
@@ -78,9 +102,8 @@ class TileDBReaderTest : public ::testing::Test
     {
         tiledb::Context ctx;
         tiledb::VFS vfs(ctx);
-        std::string pth(Support::datapath("tiledb/array"));
         Options options;
-        options.add("array_name", pth);
+        options.add("array_name", data_path);
         options.add("bbox3d", "([0, 0.5], [0, 0.5], [0, 0.5])");
 
         TileDBReader reader;
@@ -96,9 +119,8 @@ class TileDBReaderTest : public ::testing::Test
     {
         tiledb::Context ctx;
         tiledb::VFS vfs(ctx);
-        std::string pth(Support::datapath("tiledb/array"));
         Options options;
-        options.add("array_name", pth);
+        options.add("array_name", data_path);
         options.add("bbox3d", "([1.1, 1.2], [1.1, 1.2], [1.1, 1.2])");
 
         TileDBReader reader;
@@ -161,11 +183,10 @@ class TileDBReaderTest : public ::testing::Test
 
         tiledb::Context ctx;
         tiledb::VFS vfs(ctx);
-        std::string pth(Support::datapath("tiledb/array"));
         Options options;
-        options.add("array_name", pth);
+        options.add("array_name", data_path);
 
-        tiledb::Array array(ctx, pth, TILEDB_READ);
+        tiledb::Array array(ctx, data_path, TILEDB_READ);
         auto domain = array.non_empty_domain<double>();
         std::vector<double> subarray;
 
@@ -193,11 +214,9 @@ class TileDBReaderTest : public ::testing::Test
         c.setInput(reader);
         c.prepare(table);
         c.execute(table);
-        // test using a sidecar file
-        EXPECT_EQ(reader.getSpatialReference(), utm16);
+        EXPECT_TRUE(reader.getSpatialReference().equals(utm16));
     }
 
-#if TILEDB_VERSION_MAJOR >= 1 && TILEDB_VERSION_MINOR >= 7
     TEST_F(TileDBReaderTest, spatial_reference)
     {
         tiledb::Context ctx;
@@ -233,8 +252,7 @@ class TileDBReaderTest : public ::testing::Test
         FixedPointTable table2(100);
         rdr.prepare(table2);
         rdr.execute(table2);
-        EXPECT_EQ(rdr.getSpatialReference(), utm16);
+        EXPECT_TRUE(rdr.getSpatialReference().equals(utm16));
     }
-#endif
 }
 


=====================================
plugins/tiledb/test/TileDBWriterTest.cpp
=====================================
@@ -387,4 +387,60 @@ namespace pdal
         tiledb::FilterList flAtts = att.filter_list();
         EXPECT_EQ(flAtts.nfilters(), 0U);
     }
+
+#if TILEDB_VERSION_MAJOR > 1
+    TEST_F(TileDBWriterTest, dup_points)
+    {
+        Options reader_options;
+        FauxReader reader;
+        BOX3D bounds(1.0, 1.0, 1.0, 2.0, 2.0, 2.0);
+        reader_options.add("bounds", bounds);
+        reader_options.add("mode", "constant");
+        reader_options.add("count", count);
+        reader.setOptions(reader_options);
+
+        tiledb::Context ctx;
+        tiledb::VFS vfs(ctx);
+        std::string pth = Support::temppath("tiledb_test_dups");
+
+        Options writer_options;
+        writer_options.add("array_name", pth);
+
+        if (vfs.is_dir(pth))
+        {
+            vfs.remove_dir(pth);
+        }
+
+        TileDBWriter writer;
+        writer.setOptions(writer_options);
+        writer.setInput(reader);
+
+        FixedPointTable table(count);
+        writer.prepare(table);
+        writer.execute(table);
+
+        tiledb::Array array(ctx, pth, TILEDB_READ);
+        auto domain = array.non_empty_domain<double>();
+        std::vector<double> subarray;
+
+        for (const auto& kv: domain)
+        {
+            subarray.push_back(kv.second.first);
+            subarray.push_back(kv.second.second);
+        }
+
+        tiledb::Query q(ctx, array, TILEDB_READ);
+        q.set_subarray(subarray);
+
+        auto max_el = array.max_buffer_elements(subarray);
+        std::vector<double> coords(max_el[TILEDB_COORDS].second);
+        q.set_coordinates(coords);
+        q.submit();
+        array.close();
+
+        EXPECT_EQ(reader.count() * 3, coords.size());
+        for (const double& v : coords)
+            EXPECT_EQ(v, 1.0);
+    }
+#endif
 }


=====================================
test/data/tiledb/array/__20c2cf6f2bf546adbc7fe83cb44f180b_1554218258459/OffsetTime.tdb deleted
=====================================
Binary files a/test/data/tiledb/array/__20c2cf6f2bf546adbc7fe83cb44f180b_1554218258459/OffsetTime.tdb and /dev/null differ


=====================================
test/data/tiledb/array/__20c2cf6f2bf546adbc7fe83cb44f180b_1554218258459/__coords.tdb deleted
=====================================
Binary files a/test/data/tiledb/array/__20c2cf6f2bf546adbc7fe83cb44f180b_1554218258459/__coords.tdb and /dev/null differ


=====================================
test/data/tiledb/array/__20c2cf6f2bf546adbc7fe83cb44f180b_1554218258459/__fragment_metadata.tdb deleted
=====================================
Binary files a/test/data/tiledb/array/__20c2cf6f2bf546adbc7fe83cb44f180b_1554218258459/__fragment_metadata.tdb and /dev/null differ


=====================================
test/data/tiledb/array/__array_schema.tdb deleted
=====================================
Binary files a/test/data/tiledb/array/__array_schema.tdb and /dev/null differ


=====================================
test/data/tiledb/array/__lock.tdb deleted
=====================================


=====================================
test/data/tiledb/array/pdal.json deleted
=====================================
@@ -1,12 +0,0 @@
-{
-  "bounds": "([0, 1], [0, 1], [0, 1])",
-  "pipeline":
-  [
-    {
-      "type": "readers.tiledb"
-    }
-  ],
-  "writers.tiledb": {
-    "spatialreference": "EPSG:26916"
-  }
-}



View it on GitLab: https://salsa.debian.org/debian-gis-team/pdal/-/compare/bc8bfa5778e6104422713c4dccc1a88f71aaa818...d9d987402f0348d8c0dcd3d379cd8260480a5160

-- 
View it on GitLab: https://salsa.debian.org/debian-gis-team/pdal/-/compare/bc8bfa5778e6104422713c4dccc1a88f71aaa818...d9d987402f0348d8c0dcd3d379cd8260480a5160
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/20200905/20aa7d0a/attachment-0001.html>


More information about the Pkg-grass-devel mailing list