In this example, all models (buildings, rivers, roads, bridges and terrain) are 3D Tiles models. Buildings have different LoD (Levels of detail): one is LoD1 (simplification of models) and the other is LoA (Level of Abstraction) where different buildings are abstracted by one geometry.
The example introduces 2 new buttons (described below) allowing to change the way iTowns is processing the 3D Tiles.
This button reverse the refinement of the tiles.
By default, the parents tiles are displayed before the children. The children are displayed when we focus on a tile.
With the reversed processing, the children are displayed before their parents. The parents are displayed when we focus on a tile.
This button change the reference position to refine 3D Tiles. The reference position is either:
- the camera position: tiles refinement depends on the camera zoom.
- the mouse position: tiles are refined when they are close to the mouse.
All tilesets were created with Py3DTilers, an open source toolkit to create 3D Tiles out of various geometrical formats (OBJ, GeoJSON, IFC or CityGML), using the CityTiler and the GeojsonTiler.
Buildings, bridges and terrain are CityGML models from open data and can be found online: Lyon 1 to Lyon 9 CityGML (year 2018) of Data Grand Lyon.
Roads and rivers are from open data and can be found online: 'TRONCON_DE_ROUTE' and 'SURFACE_HYDROGRAPHIQUE' of BD TOPO DÉPARTEMENT SHAPEFILE - RHÔNE of IGN. Data was converted from Shapefile to GeoJSON with QGIS.
The polygons used to create the LoA of buildings were computed with QGIS using the 'Vector geometry/Polygonize' operation on the roads data described above. The file containing those polygons is available online.
To install and use Py3DTilers, see online documentation: installation & usage.
Commands used to created tilesets are:
citygml-tiler -i py3dtilers/CityTiler/CityTilerDBConfig.yml --type building --loa <path>/polygons_loa_lyon.geojson --lod1 -o Lyon_2018_LOD_Buildings_TileSet
The tileset is available online here
citygml-tiler -i py3dtilers/CityTiler/CityTilerDBConfig.yml --type bridge -o Lyon_2018_Bridges_TileSet
The tileset is available online here
citygml-tiler -i py3dtilers/CityTiler/CityTilerDBConfig.yml --type relief --kd_tree_max 1 -o Lyon_2018_Relief_TileSet
The tileset is available online here
geojson-tiler -i <path>/roads_rhone.geojson --height 0.5 --width LARGEUR -o Lyon_2018_Roads_TileSet
The tileset is available online here
geojson-tiler -i <path>/water_rhone.geojson -o Lyon_2018_Water_TileSet
The tileset is available online here
This work is part of the TIGA project and was developed by the Labex IMU and the Liris lab.