Need help with 3dfier?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

226 Stars 58 Forks GNU General Public License v3.0 1.4K Commits 14 Opened issues


The open-source tool for creating of 3D models

Services available


Need anything else?

Contributors list

Continuous integration

| Build server | Platform | Build status | | :---- | :------ | :---- | | AppVeyor | Windows | AppVeyor build status | Travis | Ubuntu | Travis build status


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

. 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:
  1. Building
  2. Terrain
  3. Road
  4. Water
  5. Forest
  6. Bridge
  7. 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.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.