Ecere GeoPackage Tiling Experiment 1 - sofwerx/cdb2-concept GitHub Wiki
CDB X Tiling/GeoPackage Experiment #1 (Ecere)
latest experiment for final results using San Diego CDB instead.
NOTE: The Camp Pendleton OGC API end-point and CDB X GeoPackages were put offline due to redistribution limitations of the data. Please seeA 1.4 GB GeoPackage of the Camp Pendleton sample CDB from Presagis (originally used in OGC Testbed 13), along with an accompanying cdb.json
was produced during Experiment 1.
This first experiment is set up in a single package / "null grouping" mode, i.e. everything stuffed into a single GeoPackage. Potentially even the cdb.json could be included inside as metadata (using metadata extension) to make this very portable.
Inside the GeoPackage, all layers are tiled using the GNOSIS Global Grid (using TMS extension -- https://gitlab.com/imagemattersllc/ogc-vtp2/-/blob/master/extensions/14-tile-matrix-set.adoc). It includes imagery (as JPG, we just added support for that) and terrain (as GeoTIFF, we also just added support for that, using gridded coverage extension -- http://docs.opengeospatial.org/is/17-066r1/17-066r1.html). It also includes some vector layers (Natural and Environmental light features) stored in this experiment using Mapbox Vector Tiles, including points intended to reference 3D models ("Man-made point features" and "Tree point features"). The vector tiles extensions are used for this ( https://gitlab.com/imagemattersllc/ogc-vtp2/-/blob/master/extensions/1-vte.adoc, https://gitlab.com/imagemattersllc/ogc-vtp2/-/blob/master/extensions/2-mvte.adoc, https://gitlab.com/imagemattersllc/ogc-vtp2/-/blob/master/extensions/4-vtae.adoc).
I am planning to add the 3D models in the next experiments -- for geo-specific, both one glTF for a whole tile, as well as individual models to be referenced by the points.
For the case of points referencing the 3D models (best suited for geo-typical), those glTF files would be stored in a single 3D models table, as well as a textures table (if the models share rather than embed textures).
For the geo-specific / one glTF for the whole tile, the glTF could potentially be stored in a tiles table instead, and the models constituting the payload (much like raster or vector tiles).
OGC API access demo
See latest experiment for OGC API access of San Diego CDB X instead.
You can directly access the CDB X GeoPackage through our GNOSIS Map Server, including rendering maps, downloading coverages, accessing as tiles in different tiling schemes, accessing individual vector features, retrieving them as (re-merged) GeoJSON, visualizing them on GeoJSON.io and so on. To some extent, this demonstrates that even though the data is tiled, this layout actually supports a wide range of use cases.
Visualization
We can currently visualize this CDB X/GeoPackage elevation and imagery directly in our 3D visualization tool (albeit with a few glitches at the moment at terrain tile edges).
Cesium JS / 3D Tiles demo
See latest experiment for CesiumJS visualization of San Diego CDB instead.
Once implemented, streaming as 3D Tiles generation straight from CDB X should be possible as well.
Next steps
- Support for splitting in multiple GeoPackages with LoD grouping
- A table for storing glTF models, for referenced 3D models (either only for geo-typical trees, or even the geo-specific buildings as well).
- Single glTF models covering a whole tile for geo-specific models
- Export similar GeoPackages for San Diego CDB
- Attribution per model within the single tile model. We support this directly in E3D, and I wonder whether glTF2 supports this. I know the main thing that a batched 3D model 3D Tile adds in addition to a glTF is a Features Table which does precisely this, so I am not sure whether glTF 2 has this capability built in (i.e. allowing to use a .glb directly rather than a .b3dm).
- Support for visualizing the dataset including 3D models in our GNOSIS Cartographer client (work required to support CDB consisting of multiple of GeoPackages as a single data source)
- Support for GNOSIS Map Server streaming 3D models from CDB X/GeoPackage