Add initial 3D Tiles output prototype. #12
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request adds 3D Tiles output to Entwine. A sandbox project to view the tileset output within Cesium is located at connormanning/entwine-cesium-pages. Some samples of this output are publicly hosted: a New York City dataset of 4.7 billion points and the small but ubiquitous Autzen Stadium dataset.
Configuration file usage has been improved, and a Cesium template was added. This is used to easily generate tileset output if desired:
entwine build config/cesium.json -i ~/data/something.laz -o ~/entwine/something
is all that's needed to produce tileset output in addition to normal Entwine output. Tileset output will be written to thecesium
subdirectory of the output path provided to Entwine.For datasets without in-band color, you can modify that configuration file to color the tileset.
formats.cesium.coloring: "intensity"
(as seen in the NYC demo) will apply intensity coloring to the tileset, andformats.cesium.coloring: "tile"
will apply a random color to eachpnts
tile for visual feedback about Cesium's loading. The geometric error and metadata split level may also be tweaked in this configuration.There are some notable limitations of this initial implementation, the biggest one being that some Cesium-specific metadata is currently aggregated during build time and not serialized. This means that if the Cesium configuration is enabled, subset/merged builds and continuing previous builds are not supported. For more than 10 billion points or so this would be a big drawback, but for smaller datasets this shouldn't be much of an issue.
Input files must have accurate projection information for the configuration to work as advertised. Otherwise,
-r <input SRS> EPSG:4978
should be added to the command line invocation.Hopefully this is useful for building point cloud 3D Tiles datasets.