The logical and physical scenery infrastructure on which the terrain, objects etc. relies on is quite a mystery for a lot of FlightGear users.
Physically the infrastructure relies on one web server containing the logical infrastructure with a PostGIS database, a web server for example serving the scenery related web sites, and various other parts of the infrastructure.
The current infrastructure relies on one server, called Sphere, hosted freely and gracefully by the people at Telascience. Some users also freely and gracefully set up servers to host TerraSync to speed up and cache the data depending on the location. Squid configuration file for those are stored here: http://sourceforge.net/p/flightgear/sceneryweb/ci/master/tree/Squid
As you may already know, scenery is a combination of terrain and objects. However, they all share common resources, mainly a PostGIS database. All those services are, at the moment, hosted on the same server.
The PostGIS database
This geospatial database contains:
- All geographical layers, whether generic (VMAP0, Corine LandCover, OSM etc.) or specific to FlightGear (custom land cover data) in specific tables
- Common geographical data (country definitions etc.)
- All objects and models created by FlightGear users and uploaded to the website http://scenemodels.flightgear.org (which interfaces with some tables in this PostGIS database via PHP)
Functions are available on git: http://sourceforge.net/p/flightgear/sceneryweb/ci/master/tree/SQL/
The web server
It serves the following scenery websites:
- The Mapserver website, source code is here: http://sourceforge.net/p/flightgear/sceneryweb/ci/master/tree/WWW/scenemodels/
- The Scenemodels website, which source code is available on git http://sourceforge.net/p/flightgear/sceneryweb/ci/master/tree/WWW/scenemodels/ . The size of the backup is approximately 1.4 GB
- The TGWeb tool, used to test new/updated airport layouts, before submitting them: http://sourceforge.net/p/flightgear/sceneryweb/ci/master/tree/WWW/tgweb/
- The main TerraSync SVN repository: http://scenery.flightgear.org/websvn/listing.php?repname=repos+1
- It also hosts the FlightGear manual in various languages.
The Apache configuration is mostly hosted on Git: http://sourceforge.net/p/flightgear/sceneryweb/ci/master/tree/Apache
The programming interface
Most tools used on this server use PHP to interface between Apache and the PostGIS database. The source code of the site is here: http://sourceforge.net/p/flightgear/sceneryweb/ci/master/tree/WWW/
Given the hosting performance and the data available on that server, it is also used as FlightGear TerraGear server with the full tool chain. This is where the World Scenery sets are created (takes a while and a lot of CPU, RAM and disk resources!).
TerraSync is in fact an regular automatic process looking for updates in the PostGis database and creating the corresponding .stg files and pushing the whole (.stg updates, 3D models, PNG and XML files) onto the TerraSync SVN repository, which is grabbed, via the proxies, when a user starts a new FlightGear session.
This server also hosts the LaTeX building infrastructure for the manual. The source code of the manual is here: http://sourceforge.net/p/flightgear/getstart/ci/master/tree/ .