osm2city.py
Note A worldbuild of OSM2City output is automatically downloaded as you fly in FlightGear 2020.3.7+. To download OSM2City output separately for some regions and countries see Areas populated with OSM2City scenery. |
Note If you are a scenery developer and want to use osm2city to generate scenery, then you need to download both the development repository and the texture data from GitLab. |
Note Please use the osm2city.py development topic on the forum for discussion and support. |
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/osm2city/osm2city/ |
fgdata | https://gitlab.com/osm2city/osm2city-data/ |
OpenStreetMap use in FlightGear |
---|
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. FlightGear 2020.3.7 added the 1st worldbuild of OSM2City.py output to scenery automatically downloaded through TerraSync.
- 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.
Screenshots
See the Screenshots with OSM2City output for high-ish settings screenshots of OSM2City version 2017.2 and later. Click to enlarge.
v2019.2 and later
v2017.2
Older
Related content
Documentation
Wiki articles
- Areas populated with osm2city scenery
- Project3000 - Can be used together with osm2city
- Howto:Using osm2city.py on Windows
Forum topics
- osm2city.py development topic on the forum - Development and user discussions regarding osm2city
- osm2city available scenery topic on the forum - Announcements of new available osm2city scenery
- osm2city worldbuild topic on the forum - World build of osm2city scenery
- LOWI city buildings topic on the forum - Where it all started