Hi fellow wiki editors!

To help newly registered users get more familiar with the wiki (and maybe older users too) there is now a {{Welcome to the wiki}} template. Have a look at it and feel free to add it to new users discussion pages (and perhaps your own).

I have tried to keep the template short, but meaningful. /Johan G

Difference between revisions of "Osm2city.py"

From FlightGear wiki
Jump to: navigation, search
(Related content: + Using OSM2CITY on Windows)
Line 36: Line 36:
* [[Areas populated with osm2city scenery]]
* [[Areas populated with osm2city scenery]]
* [[Project3000]] can be used together with osm2city
* [[Project3000]] can be used together with osm2city
* [[Using OSM2CITY on Windows]]
=== Forum topics ===
=== Forum topics ===

Latest revision as of 04:33, 26 April 2019

Autogen Scenery
Started in 11/2013
Description Improved autogen support for FlightGear using OSM data
Contributor(s) radi, vanosten, Soitanen, portreekid
Status Under active development as of 02/2016
Topic branches:
$FG_SRC https://gitlab.com/fg-radi/osm2city/
fgdata https://gitlab.com/fg-radi/osm2city-data/


osm2city is a set of procedural programs, which create plausible FlightGear scenery objects (buildings, roads, power lines, piers, platforms etc.) based on OpenStreetMap (OSM) data.

  • The development repository is hosted on gitlab. The same applies for related texture data. You have to download both!
  • Please use the forum thread osm2city.py development for discussion and support.
  • Documentation regarding installation and usage can be found on osm2citiy's Read The Docs site.
  • Written in Python 3.5, developed on Linux. It should also run on Windows and Mac OSX, however most testing is done on Linux.

Programs and Feature Areas

osm2city contains the following programs to generate scenery objects based on OSM data:

  • buildings.py: generates buildings honoring OSM height and level tags as well as reads relations ('buildings with holes'). Includes lightmaps, complex sloped roofs (using Olivier Teboul's implementation of the straight skeleton algorithm), obstruction lights on tall buildings. Texturing of roofs and facades based on a texture manager, which find matching texture for given building (number of levels, modern/old building, etc).
  • roads.py: generates different types of roads and railways incl. texturing and automatically calculated bridges.
  • pylons.py: generates pylons and cables between them for power lines, aerial ways, railway overhead lines as well as street-lamps, wind turbines and storage tanks.
  • piers.py: generates piers and boats.
  • platforms.py: generates railway platforms.

All generated objects are added as static or shared objects to FlightGear scenery with correct elevation read on the fly from existing FlightGear scenery. Tagging and topology in OSM are respected as far as possible and complemented with some heuristics (given the developer team's origin mostly inspired by how stuff looks in Europe).

Issues and Feature Requests

Please register issues and feature requests in the repository as issues and label them accordingly.


You know some Python? Or you're keen on writing docs? Contact the team on the FG forum. None of the above? Take pictures of buildings where you live and create textures! We are especially interested in south-east Asian style architecture, as a future default airport for FlightGear might be Hong Kong Kai Tak (VHXX).

Related content


Wiki articles

Forum topics


LOWI with OSM buildings

LOWI with OSM buildings

Example of piers.py output

Example of piers.py output

osm2city placed wind turbines at Rød Sand 2 in Denmark

osm2city placed wind turbines at Rød Sand 2 in Denmark.

osm2city generated pylons with cables, street with bridge over railway with overhead cables

osm2city generated pylons with cables, street with bridge over railway with overhead cables.

osm2city generated buildings and roads with light effects at night

osm2city generated buildings and roads with light effects at night