Skip to content

A tool to merge independant 3dtiles to ease vizualization of big 3d data on Cesium or Itowns

Notifications You must be signed in to change notification settings

Tofull/py3dtiles_merger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

py3dtiles_merger

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.

py3dtiles_merger schema

Installation

  • Local installation (recommended until the project support pypi integration)
git clone https://github.com/Tofull/py3dtiles_merger
cd py3dtiles_merger
pip install .

Usage

To merge <child_paths>/tileset.json into one global tileset.json, use:

# On windows
py3dtiles_merger.exe -v -r D:/data_py3dtiles/output_merged

What's next ?

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 :

  1. Go to https://cesiumjs.org/Cesium/Build/Apps/Sandcastle/index.html

  2. 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'
    }));
  3. Click Run (or F8) and enjoy.

    Example on cesium

Contribution

Contributions are welcome. Feel free to open an issue for a question, a remark, a typo, a bugfix or a wanted feature.

Licence

Copyright © 2018 Loïc Messal (@Tofull) and contributors

Distributed under the MIT Licence.

About

A tool to merge independant 3dtiles to ease vizualization of big 3d data on Cesium or Itowns

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages