Disclaimer:
This project is under active development and has been created to generate data as fast as possible at Jakarto (rush time). It doesn't cover either unit test, well-written documentation, or a sufficient level of abstraction to be used in different contexts. However, I will be more than happy to remove this disclaimer when improvements will be done. Feel free to open an issue to help the project.
A tool to merge independant 3dtiles to ease visualization of big 3d data on Cesium or Itowns.
The 3dtiles must have been generated in the same format than py3dtiles output (branch lasTo3dtiles until it's merged).
py3dtiles_merger generate a tileset.json file which points to some tileset.json children respecting the 3dtiles external tilesets referencing specification.
- Local installation (recommended until the project support pypi integration)
git clone https://github.com/Tofull/py3dtiles_merger
cd py3dtiles_merger
pip install .
To merge <child_paths>/tileset.json into one global tileset.json, use:
# On windows py3dtiles_merger.exe -v -r D:/data_py3dtiles/output_merged
Once you have generated the global tileset.json, you can expose it over the Internet with any http server, like :
# using https://www.npmjs.com/package/http-server
npm install http-server -g
http-server D:/data_py3dtiles/output_merged --cors -p 8080
Then, your tileset is available over the Internet, and you can visualize it using 3d viewer, for example Cesium sandcastle :
Go to https://cesiumjs.org/Cesium/Build/Apps/Sandcastle/index.html
Insert the following code on Javascript Code section :
var viewer = new Cesium.Viewer('cesiumContainer'); var tileset = viewer.scene.primitives.add(new Cesium.Cesium3DTileset({ url : 'http://127.0.0.1:8080/tileset.json' }));
Click Run (or F8) and enjoy.
Contributions are welcome. Feel free to open an issue for a question, a remark, a typo, a bugfix or a wanted feature.
Copyright © 2018 Loïc Messal (@Tofull) and contributors
Distributed under the MIT Licence.