Build server | Platform | Build status |
---|---|---|
AppVeyor | Windows | |
Travis | Ubuntu |
The 3dfier documentation has extensive information on the installation, usage and how the 3dfier algorithm works.
Takes 2D GIS datasets (e.g. topographical datasets) and "3dfies" them (as in "making them three-dimensional") by lifting every polygon to 3D. The elevation is obtained from a point cloud (we support LAS/LAZ at this moment), and the semantics of every polygon is used to perform the lifting. That is, water polygons are extruded to horizontal polygons, buildings to LOD1 blocks, roads as smooth surfaces, etc. Every polygon is triangulated (constrained Delaunay triangulation) and the lifted polygons are "stitched" together so that one digital surface model (DSM) is constructed. Our aim is to obtain one DSM that is error-free, i.e. no intersecting triangles, no holes (the surface is watertight), where buildings are integrated in the surface, etc. This surface will then be used as input in simulation software for instance.
This video illustrates the process and what 3dfier is about.
The lifting options can be configured in the YAML file provided, an examples are provided in /resources/config_files/myconfig.yml
.
Any 2D input (which should be a planar partition) can be used as input, and each class must be mapped to one of the following:
- Building
- Terrain
- Road
- Water
- Forest
- Bridge
- Separation (used for walls and fences)
It is possible to define new classes, although that would require a bit of programming.
Output is in the following formats: OBJ, CityGML, CityJSON, CSV (for buildings only, i.e. their ID and height (ground+roof) are output in a tabular format), and PostGIS. The ID of each polygon is preserved, and there is a 1-to-1 mapping between the input and the output.
If you use it, feedback is very much appreciated.