Real aerial imagery

FlightGear can lay aerial imagery over the scenery, but ships none. The script luftbilder.py fetches it from open map services and builds DDS tiles in the folder Photoscenery/Orthophotos. Background is in the article Echte Luftbilder aus offenen Kartendiensten (German).

Get started

Count first, then download. You give the rectangle as west, south, east and north in degrees.

cd "$FG_BASIS/werkzeuge"
python3 luftbilder.py --rahmen 12.0 51.3 12.4 51.5 --groesse 4096 --nur-zaehlen
python3 luftbilder.py --rahmen 12.0 51.3 12.4 51.5 --groesse 4096

Finished tiles are skipped, so an interruption loses nothing. Then fly:

"$FG_BASIS/werkzeuge/starten.sh" --aircraft=c172p --airport=EDDP

Size and sharpness

Pixels per tile

Sharpness in Central Europe

Size per tile

2048

about 8 m

about 3 MB

4096

about 4 m

about 11 MB

8192

about 2 m

about 45 MB

An 8192 tile takes about a minute. Be polite: by default, the script downloads only two tiles at a time.

Warning

Don’t mix sizes that FlightGear cannot convert. At the airport, it merges the tiles into one image. With 16000 next to 8192 pixels I got a black hole in the terrain, and the log said Failed to convert component of composite orthophoto. Stick to powers of two; 8192 next to 4096 worked without problems for me.

Add your own area permanently

The script contains GEBIETE, either as a rectangle or as a route with a width:

"my-flight": [
    dict(rahmen=(10.50, 50.75, 12.75, 51.625), groesse=8192),
    dict(route=[(50.98, 10.96), (52.17, 20.97)], breite_km=40, groesse=4096),
],
python3 luftbilder.py --gebiet my-flight

Add a new source

For a new country, add the WMS service to QUELLEN, with the area as west, south, east, north. A service’s description in the browser shows whether it fits:

https://SERVICE?SERVICE=WMS&REQUEST=GetCapabilities

It lists layers, area, maximum image size and terms. Services and licenses are under Sources and licenses.

Turn off trees

The random trees know nothing about the aerial image and stand in the middle of fields. starten.sh turns them off for that reason. The graphics preset may turn them back on after the start; an add-on helps in that case.