Fr/Utiliser TerraGear: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
(Created page with " thumb|Organigramme de TerraGear Le projet du logiciel TerraGear prend en charge FlightGear et crée des fichiers utilisés pour f...")
 
m (ogr-decode => poly-decode)
 
(13 intermediate revisions by 4 users not shown)
Line 1: Line 1:
[[File:Terragearprocesschart.png|thumb|Organigramme de TerraGear]]
Le projet logiciel [[Fr/TerraGear|TerraGear]] participe au projet [[Fr/FlightGear|FlightGear]] en créant les fichiers utilisés par celui-ci pour représenter le relief et la texture de la Terre, ce qui comprend les aéroports, villes, champs, forêts, rivières, routes, etc. Le logiciel TerraGear lit des fichiers de données contenant l'élévation du sol, le positionnement et l'agencement des aéroports, les données géographiques d'occupation du sol, entre autres et produit les fichiers de scènes utilisés par Flightgear pour représenter la surface de la planète.
Par simplicité et commodité, la plupart des utilisateurs de FlightGear téléchargent simplement les fichiers plug-and-play des scènes à partir du serveur de scènes de FlightGear, ou utilisent [[Fr/TerraSync|TerraSync]] pour télécharger automatiquement les scènes à la demande. Mais il peut y avoir des cas où vous voudriez utiliser TerraGear pour générer vos propres fichiers terrain, plutôt que de télécharger les scènes standard de FlightGear.
Par exemple, si vous utilisez  [[WorldEditor]] pour modifier/améliorer les information concernant un taxiway/une aire de trafic d'un [[:Category:Airports|aéroport]], vous pourriez avoir envie de visualiser à quoi ressemblerait cet aéroport modifié dans les scènes avant de décider que les résultats vous conviennent. Peut-être que les scènes officielles sont trop détaillées pour votre machine un peu ancienne, et que vous voudriez construire un terrain avec un modèle numérique de d'élévation (DEM) de plus faible résolution, afin de diminuer le nombre de polygones et ainsi augmenter votre taux de rafraîchissement d'image. Soit vous avez une machine ultra-rapide, et vous voulez construire votre propre terrain avec des données vectorielles de plus haute résolution (vmap1, Tiger, osm) pour obtenir de meilleures routes/rivières. Pour toutes ces raisons, apprendre à utiliser TerraGear est une bonne idée.


== Obtenir TerraGear ==
Vous pouvez soit compiler TerraGear vous-même, ou bien télécharger un binaire pré-compilé, cette dernière démarche étant plus aisée et donc recommandée pour les débutants.


[[File:Terragearprocesschart.png|thumb|Organigramme de TerraGear]]
* '''Option 1 - Télécharger TerraGear pré-compilé (recommandé aux débutants) sur Windows'''
Le projet du logiciel [[TerraGear]]  prend en charge [[FlightGear]] et crée des fichiers utilisés pour figurer le relief et la texture de la terre, incluant  aéroports, villes, champs, forêts, rivières, routes etc...TerraGear lit ces fichiers de données, sur l'élévation du sol, les localisations et les dispositions des aéroports, les données de la couverture géographique etc..., afin de créer des scènes que va utiliser Flightgear pour représenter la surface de la planète.
*# Téléchargez la dernière version de TerraGear sur le [http://build.flightgear.org:8080/job/TerraGear-Win-Cmake/lastSuccessfulBuild/artifact/*zip*/archive.zip Serveur de compilation de FlightGear].
*# Créez ou choisissez un répertoire pour contenir les outils TerraGear.
*# Dé-zippez le paquetage et déplacez les fichiers de <tt>archive/install/msvc100/TerraGear/bin</tt> dans un sous-répertoire nommé <tt>Terragear/</tt> dans le répertoire de base.


Par commodité, la plupart des utilisateurs de Fg téléchargent les fichiers plug-and-play à partir du serveur de scènes de FlightGear, ou utilisent  [[TerraSync]] pour télécharger automatiquement les scènes nécessaires. Mais souvent, on peut vouloir utiliser TerraGear pour générer ses propres fichiers terrain, plutôt que les scènes standard de FlightGear.
* '''Option 1b - Télécharger les paquetages ppa pour Ubuntu Linux'''


Par exemple, si vous utilisez  [[TaxiDraw]] pour modifier/améliorer un taxiway/agencement d'apron d'[[:Category:Airports|aéroport]], vous aurez envie de voir à quoi ressemble cet aéroport modifié pour décider si le résultat vous convient. Peut-être la scène officielle sera-t-elle trop détaillée pour votre machine trop lente, dans ce cas, il vous faudra un terrain utilisant un modèle digital d'élévation (DEM) avec faible résolution, pour diminuer le nombre de polygones, et améliorer ainsi votre fréquence-image. Ou peut-être avez vous une machine trés rapide, et vous aurez envie de construire votre terrain en données de vecteur haute résolution (vmap1, Tiger, osm) pour avoir des routes/rivières plus réalistes. Pour toutes ces raisons, c'est une bonne idée d'apprendre à se servir de Terragear.
https://launchpad.net/~saiarcot895/+archive/ubuntu/flightgear-edge/+index?batch=75&memo=75&start=75
==Acquérir TerraGear ==
Vous pouvez le construire vous-même, ou télécharger un binaire pré-compilé, plus facile et recommandé pour les débutants.


* '''Option 1 - Télécharger TerraGear pré-compilé (recommandé aux débutants ) sur Windows'''
* '''Option 2 - Compiler TerraGear à partir du code source, comme expliqué dans [[Fr/TerraGear#Compilation|cet article]].
*# Télécharger le plus récent TerraGear à partir du [http://flightgear.simpits.org:8080/job/TerraGear-Win-Cmake/lastSuccessfulBuild/artifact/*zip*/archive.zip| Serveur de Construction].
*# Créer ou choisir un répertoire pour les outils TerraGear.
*# Dé-zipper le paquet, et placez les fichiers de  <tt>archive/install/msvc100/TerraGear/bin</tt> dans un sous-répértoire nommé <tt>Terragear/</tt> dans le répertoire de base.
* '''Option 2 - Compiler TerraGear à partir de la source code, comme expliqué dans [[Building TerraGear|cet article]].


''Note:'' Vous pouvez avoir besoin de default_priorities.txt à partir du [https://gitorious.org/fg/terragear-cs/blobs/raw/master/src/BuildTiles/Clipper/default_priorities.txt4| dépôt Git] ou à partir de l'archive du Serveur de Construction  (dans le sous-répertoire <tt>archive/install/msvc100/TerraGear/share</tt>). Voir [http://www.flightgear.org/forums/viewtopic.php?f=5&p=77950|ce lien du forum] pour les détails.  
{{note|1=Vous pourriez avoir besoin du fichier <code>default_priorities.txt</code> qui peut être obtenu à partir du {{terragear source|path=src/BuildTiles/Main/default_priorities.txt|text=dépôt Git}} ou à partir de l'archive téléchargée à partir du serveur de compilation (dans le sous-répertoire <code>archive/install/msvc100/TerraGear/share</code>). Voir [http://forum.flightgear.org/viewtopic.php?f=5&p=77950 ce lien du forum] pour les détails.}}


=== Outil GUI  ===
=== Interface graphique ===
Un [[TerraGear GUI]] est disponible pour ceux qui n'utilisent pas ou ne savent pas utiliser les options de la ligne de commande.
L'interface graphique [[TerraGear GUI]] est disponible pour ceux voudraient utiliser TerraGear sans avoir à connaître/utiliser les options de ligne de commande.


== Utilisation de TerraGear ==
== Utilisation de TerraGear ==
D'abord, choisir les limites de la scène que vous voulez construire, en termes de latitude et de longitude. Plus la zone sera petite, et moins vous aurez de données à entrer et de temps CPU à passer. Par exemple, si vous voulez juste générer une nouvelle disposition d'aéroport à 12.3W 34.4N, mettez simplement 12W 34N et 13W 35N.  
Tout d'abord, choisissez les limites de la zone de scène que vous voulez construire, en termes de latitude et de longitude. Plus la zone à générer sera restreinte, plus la quantité de données et le temps CPU nécessaire seront limités. Par exemple, si vous voulez juste générer une nouvelle disposition d'aéroport à la position 12°3 Ouest et 34°4 Nord, la génération des scènes entre 34°N 12°O et 35°N 13°O sera suffisante.  


Notez la "bounding box" (longitude et latitude minimum et maximum) pour la scène que vous voulez générer. Rappelez vous que West et South sont négatifs - i.e. 4W 10S doit être -4, -10. Ne confondez pas, sinon la scène ou l'aéroport que vous créez se retrouvera de l'autre côté de la planète!  
Notez la boîte de délimitation (longitudes et latitudes minimum et maximum) pour la scène que vous voulez générer. Rappelez-vous que Ouest et Sud sont négatifs - c'est-à-dire que 4° Ouest 10° Sud doit être -4, -10. Essayez de ne pas vous mélanger les pinceaux, sinon la scène ou l'aéroport que vous créez se retrouvera de l'autre côté de la planète !


Vous aurez affaire à toutes sortes de données différentes, en formats variés. Créez un nouveau répertoire pour ce travail, et à l'intérieur créez le sous-répertoire suivant:  
Vous aurez affaire avec différents types de données utilisant des formats variés. Créez un nouveau répertoire pour votre travail de scène. A l'intérieur de ce répertoire, créez les sous-répertoires suivants:  


* '''data/''' - pour les données brutes et pré-établies (ex fichiers élévation)  
; <code>data/</code>:  Pour les données brutes et pré-calculées (par exemple, les fichiers d'élévation)
* '''output/''' - pour les fichiers de scènes que vous créerez  
; <code>output/</code>: Pour les fichiers de scènes que vous créerez
* '''work/''' - pour les données qui ont été traitées (ex par decode-forme)prêtes à entrer dans la scène
; <code>work/</code>:  Pour les données qui ont été calculez (par exemple par shape-decode) et qui sont prêtes à être intégrées dans la scène


=== Acquérir et traiter les données ===
=== Obtenir et traiter les données ===
Terragear utilise trois sortes d'informations différentes pour générer une scène:
Terragear utilise trois sortes d'informations différentes pour générer une scène :


# L'élévation du terrain (fournie par SRTM)  
# L'élévation du terrain (fournie par SRTM)
# La localisation et la disposition des aéroports (fournis par apt.dat ou un habituel .dat)  
# L'emplacement et la disposition des aéroports (fournis par apt.dat ou un fichier .dat personnalisé)  
# Si une lat/lon donnée est la mer, la terre, une ville, la forêt, une route, un chemin de fer (fourni par VMAP0, [[CORINE]] etc. ou fichiers de forme habituels
# Si une lat/lon donnée correspond à la mer, la terre, une ville, une forêt, un village, une route, un chemin de fer (fourni par VMAP0, [[CORINE]], etc. ou par des fichiers personnalisés de formes)


Cet article décrit comment obtenir et traiter ces types de données dans l'ordre, et les servir ensemble, pour que FlightGear les utilise. L'ordre de ces étapes est important. Par exemple, l'étape de donnée d'un aéroport a besoin de la donnée d'élévation afin qu'il soit à la bonne hauteur,  ainsi, vous commencerez par préparer la donnée d'élévation.
Cet article décrit comment obtenir et traiter chacun de ces types de données dans l'ordre, et les fournir ensemble, pour que FlightGear les utilise. L'ordre de ces étapes est important. Par exemple, l'étape des données d'un aéroport a besoin des données d'élévation pour déterminer l'élévation des aéroports. Ainsi, vous commencerez par préparer les données d'élévation.


'''<u>Remarque</u> pour l'inclusion des scènes officielles de FlightGear, toutes les données <u>must</u> viennent des [[GNU GPL]] sources compatibles!'''
{{caution|Pour l'inclusion dans les scènes officielles de FlightGear, toutes les données ''doivent'' provenir de sources compatibles avec la licence [[GNU GPL]]!}}


==== Données d'élévation ====
==== Données d'élévation ====
les meilleures données d'élévation actuellement disponibles viennent de Shuttle Radar Topography Mission (SRTM). Il y a deux tyoes de données SRTM:  
Les meilleures données d'élévation actuellement disponibles proviennent du projet Shuttle Radar Topography Mission (SRTM). Il y a deux types de données SRTM :
* Haute précision résolution 1-arcsecond, ou SRTM-1, pour les USA  
* Données de haute précision (résolution 1-arc seconde), ou SRTM-1, pour les USA
* Précision moindre 3-arcsecond ,ou SRTM-3, pour le reste du monde  
* Données de précision moindre (résolution 3-arc second), ou SRTM-3, pour le reste du monde.
A partir de maintenant, nous supposerons que vous utilisez les données SRTM-3. Sauf avis contraire, le processus est identique pour SRTM-1


Vous pouvez télécharger les données appropriées de http://dds.cr.usgs.gov/srtm/version2_1/. Vous voulez tous les fichiers .hgt.zip  couvrant la région qui vous intéresse. Selon la taille de votre scène, cela peut faire beaucoup. Téléchargez les à <tt>data/SRTM-1/</tt>(or SRTM-3/SRTM-30 selon le cas) dans votre répertoire de base. (Genapts cherche les répertoires de données d'élévation codés en dur et connus, dans son répertoire de travail. SRTM-30 est l'un d'eux, c'est le moins déroutant dans cette liste. Note: W.E.F. 31 juillet 2010, les outils genapts cherchent maintenant aussi les répertoires SRTM-1/SRTM-3. Si vous utilisez une version plus ancienne, fournissez des répertoires utilisant --dem-path)
A partir de maintenant, nous supposerons que vous utilisez les données SRTM-3. Sauf mention contraire, le processus est identique pour SRTM-1.


Maintenant, nous avons les données, il faut les convertir pour qu'elles puissent servir à TerraGear. D'abord, dézippez chacun des fichiers .hgt. Ensuite, ouvrez la ligne de commande  (Windows: <tt>Start > Run > cmd.exe</tt>) et changez dans le répertoire de base (<tt>cd .../.../TerraGear</tt>).
Vous pouvez télécharger les données appropriées à partir du site http://dds.cr.usgs.gov/srtm/version2_1/. Vous devrez récupérer tous les fichiers .hgt.zip couvrant la région qui vous intéresse. Selon la taille de votre scène, cela peut représenter un grand nombre de fichiers. Téléchargez les vers l'emplacement <tt>data/SRTM-1/</tt> (ou SRTM-3/SRTM-30 en fonction du type de données que vous téléchargez) dans votre répertoire de base. (Genapts recherche les données d'élévation parmi un ensemble de noms de répertoires prédéfinis dans son répertoire de travail. SRTM-30 est l'un d'eux, c'est le moins déroutant dans cette liste. Notez que, à compter du 31 juillet 2010, l'outil genapts prend également en compte l'existence de répertoires SRTM-1/SRTM-3. Si vous utilisez une version plus ancienne, pensez à fournir les répertoires en utilisant --dem-path).
* '''NOTE:''' Si vous devez créer un batch-file, remplacez <tt>%f</tt> avec <tt>%%f</tt>, voir [http://technet.microsoft.com/en-us/library/bb490909.aspx]
* '''NOTE:''' Pour les données SRTM-1, remplacez le <tt>3</tt> par un <tt>1</tt> dans la première partie de hgtchop


Pour Windows:
Maintenant que nous avons les données, nous devons les convertir pour qu'elles puissent servir à TerraGear. Tout d'abord, dézippez chacun des fichiers .hgt. Ensuite, ouvrez la ligne de commande (Sous Windows: Démarrer > Exécuter > <code>cmd.exe</code>) et placez-vous dans le répertoire de base (<code>cd .../.../TerraGear</code>).
 
{{note|Selon [[TerraGear_Documentation]], hgtchop est remplacé par gdalchop.}}
{{note|Pour les données SRTM-1, remplacez le <code>3</code> par un <code>1</code> dans le premier argument fourni à hgtchop}}
{{tip|Si vous voulez créer un fichier batch, remplacez <code>%f</code> avec <code>%%f</code>, voir à ce sujet : [http://technet.microsoft.com/en-us/library/bb490909.aspx]}}
 
Pour Windows :
  for %f in (.\data\SRTM-3\*.hgt) do .\Terragear\hgtchop.exe 3 %f .\work\SRTM-3
  for %f in (.\data\SRTM-3\*.hgt) do .\Terragear\hgtchop.exe 3 %f .\work\SRTM-3
ou
ou
  for %f in (.\data\SRTM-3\*.hgt) do .\Terragear\hgtchop.exe 3 .\data\SRTM-3\%f .\work\SRTM-3
  for %f in (.\data\SRTM-3\*.hgt) do .\Terragear\hgtchop.exe 3 .\data\SRTM-3\%f .\work\SRTM-3


Pour Linux:
Pour Linux :
  for i in $PWD/data/SRTM-3/*.hgt; do ./Terragear/hgtchop 3 $i $PWD/work/SRTM-3; done
  for f in ${PWD}/data/SRTM-3/*.hgt; do ./Terragear/hgtchop 3 "${f}" "${PWD}/work/SRTM-3"; done


Maintenant, vous allez avoir une quantité de fichiers .arr.gz dans votre répertoire de travail /SRTM-3/ . Il faut les convertir au format .fit.gz. Lancez encore la ligne de commande avec
Maintenant, vous allez obtenir une quantité importante de fichiers .arr.gz dans votre répertoire work/SRTM-3/. Il nous faut les convertir au format .fit.gz. Utilisez à nouveau la ligne de commande avec
* '''NOTE:''' l'espace et le point à la fin sont importants!
{{note|L'espace et le point à la fin sont importants!}}


Pour Windows:
Pour Windows :
  .\Terragear\terrafit.exe work\SRTM-3
  .\Terragear\terrafit.exe work\SRTM-3


Pour Linux:
Pour Linux :
  ./Terragear/terrafit work/SRTM-3
  ./Terragear/terrafit work/SRTM-3


==== Données d'aéroports ====
==== Données d'aéroports ====
Maintenant que nous avons les données d'élévation, nous pouvons générer notre aéroport. D'abord, créons un répertoire <tt>data/airports/</tt> et copions le dans notre fichier apt.dat. Soit directement du paquet de données FlightGear (bien que vous deviez le dé-ziper), soit un de ceux que vous avez modifié avec [[TaxiDraw]].  
Maintenant que nous avons les données d'élévation, nous pouvons générer nos aéroports. Tout d'abord, créons un répertoire <code>data/airports/</code> et copions-y votre fichier apt.dat. Celui-ci peut-être soit directement celui de votre paquetage de donnés FlightGear (bien que vous devrez le dé-zipper), soit un fichier que vous auriez modifié avec [[WorldEditor]].
 
La commande pour créer les aéroports est "genapts850". Lancez-la sans aucun arguments afin de visualiser les différentes options de ligne de commande.
 
Si elle est simplement lancée avec un fichier apt.dat spécifié et le répertoire de travail, elle générera les agencements d'aéroports pour chaque aéroport contenu dans le fichier, ce qui peut être long. Vérifiez que l'entrée n'est pas le fichier apt.dat.gz, mais le fichier décompressé. Sinon genapts850 bloquera et ne produira aucune sortie.
 
Si vous créez juste un seul aéroport, et que vous connaissez son identifiant OACI (par exemple [[Fr/Aéroport international de San Francisco|KSFO]], EGPH, EG32), utilisez le comme suit à partir du répertoire racine des scènes (c'est à dire à partir du répertoire parent de vos répertoires data, work et output). Si vous utilisez un fichier apt.dat contenant un seul aéroport, vous pouvez omettre le paramètre <code>--airport</code>.
 
genapts850 --input=data/airports/apt.dat --work=./work --airport=<IDENTIFIANT_OACI_AEROPORT>
 
ou, si vous avez les données d'élévation disponible:
 
genapts850 --input=data/airports/apt.dat --work=./work --dem-path=SRTM-3
 
Si vous générez des scènes plus grandes, alors vous pouvez spécifier les longitudes et latitudes minimum et maximum.


La commande pour créer les aéroports est "genapts". Lancez-la sans rien d'autre, pour voir les options des différentes lignes de commande.
Genapts va créer deux sous-répertoires dans votre répertoire work:


Si c'est simplement lancé avec apt.dat spécifié et le répertoire de travail, cela génerera des aménagements d'aéroports pour chacun de ceux contenus dans le fichier, ce qui peut prendre très longtemps.
* <code>AirportArea/</code>
* <code>AirportObj/</code>


Si vous créez juste un seul aéroport, et que vous connaissez l' ICAO ID (p.ex. [[KSFO]], EGPH, EG32), l'utilisation est comme suit à partir de votre répertoire racine de scènes  (i.e. le répertoire au dessus vos données). Si vous utilisez un fichier apt.dat avec un seul aéroport dessus, vous devez omettre le  "--airport" parameter.  
Ils contiennent les définitions des agencement de l'aéroport, et de tous les objets présents (par exemple les manches à air et balises).


genapts --input=data/airports/apt.dat --work=./work --airport=<AIRPORT_ID>
==== Données d'utilisation du sol ====
Les dernières données que nous avons besoin de générer sont celles correspondant au type d'utilisation du sol. En général, elles proviennent du lot de données VMAP0 en tant que fichiers de formes en provenance du serveur de carte de la base de données des scènes, mais d'autres sources peuvent aussi être utilisées.


Si vous générez davantage de scènes, alors vous pouvez spécifier la longitude et latitude minimum et maximum.
Les données d'utilisation du sol peuvent être séparées en différents types :


Genapts va créer deux sous-répertoires dans votre répertoire de travail:
; Landmass: Sépare la terre de la mer. Ces données peuvent être utilisées comme un masque pour toutes les autres données. Les plus couramment utilisées sont le Landmass VMAP0, mais GSHHS peut également être utilisé. Pendant l'exécution de tg-construct avec l'argument <code>--ignore-landmass</code>, toutes les entrées des fichiers de formes seront tenues en compte, ainsi le masque de Landmass n'est alors plus nécessaire.
* AirportArea/
; Land use data: Définit si une portion de terrain correspond à une forêt, une zone urbaine, du sable, de la lave, des glaciers, etc. Ce sont généralement des données VMAP0, définies en tant que polygones.
* AirportObj/
; Line data: Comprend les lignes de chemins de fer, les rivières, les routes. Typiquement VMAP0, mais aussi OpenStreetMap pour les routes.
; Point data: Est actuellement uniquement utilisé pour définir les villes.


Ils contiennent les définitions de la disposition de l'aéroport, et de certains objets connexes (e.g. windsocks).  
De loin, le moyen le plus facile pour obtenir ces données est de télécharger les fichiers de formes à partir du magnifique [http://mapserver.flightgear.org MapServer]. Le MapServer vous permet de télécharger les fichiers de formes pour chaque région de scènes sélectionnée. Cliquez sur le lien "Download Shapefiles" (ou allez directement à : http://mapserver.flightgear.org/download.psp). Entrez dans la boîte de délimitation de la scène que vous désirez générer, sélectionnez le type de données de fichier de formes que vous voulez, et cliquez sur download.


==== Données d'utilisation du terrain ====
==== Layers ====
La dernière donnée nécessaire avant de générer est celle de l'utilisation du paysage (landuse). En général,  elle provient de données VMAP0 installées comme fichiers-formes venant du mapserver de données de scènes, mais d'autres sources peuvent aussi être utilisées.


Les données peuvent être divisées en différents types:
; <code>v0</code>: Couverture globale, faible niveau de détails. C'est "la dernière chance", mais malheureusement c'est la seul couche qui couvre le monde entier.
; <code>cs</code>: C'est v0 avec la contribution d'un certain nombre de personnes dans le passé. Utilisez la au lieu de v0.
; <code>v1</code>: Seulement des parties de certains pays sont disponibles, plus haut niveau de détails que v0.
; <code>clc06</code>: Européen '''seulement'''. Très haut niveau de détails, c'est le choix préféré pour les pays européens.
; <code>osm</code>: Couverture globale, haute résolution mais très bas niveau de détails.
: Cela signifie: si vous êtes intéressés par une région en dehors de l'Europe et que les forêts sont définies dans OpenStreetMaps pour cette région, cela sera la meilleure source de données. Si les forêts ne sont pas définies, vous obtiendrez un terne, interminable DEFAULT landclass. OSM fournit le meilleur littoral et je vous encourage à utiliser ce littoral même en Europe. [http://forum.flightgear.org/viewtopic.php?f=5&t=25549&sid=d501cb651ef9e34ca9dc8fae429d51ab&p=234002#p234002]


* '''Landmass''' sépare la terre de la mer. C'est utilisé comme masque pour les autres données. Le plus couramment utilisé est le VMAP0 Landmass, mais GSHHS peut aussi servir.
Téléchargez chaque fichier-forme dans un répertoire séparé (!) <tt>data/shapefiles/...</tt>. Ainsi, pour v0_landmass, vous obtiendriez <tt>data/shapefiles/v0_landmass/v0_landmass.shp</tt>, etc.
* '''Land use data:''' definit si un morceau de terrain est forêt, zone urbaine, sable, pierres, glaciers  etc. Ce sont en général des données VMAP0, definies comme polygones.
* '''Line data:''' comprend chemins de fer, rivières, routes. Typiquement VMAP0, mais aussi Open Street Map pour les routes.
* '''Point data:''' est actuellement utilisé seulement pour la définition des villes.
Le moyen le plus facile pour avoir ces données est de télécharger  à partir du magnifique [http://mapserver.flightgear.org MapServer] les fichiers formes pour une zone de scène donnée.  Cliquez sur le lien "Download Shapefiles"  (ou allez directement à: http://mapserver.flightgear.org/download.psp). Entrez dans la bounding box de la scène que vous désirez générer, sélectionnez le type de donnée fichier-formes que vous voulez, et cliquez sur download. Pour les scènes basiques, prenez tout ce qui est listé sous VMap0 (avec prefixe v0_).
Téléchargez chaque fichier-formes dans un répertoire séparé (!) <tt>data/shapefiles/...</tt>. Ainsi, pour v0_landmass, vous finirez avec <tt>data/shapefiles/v0_landmass/v0_landmass.shp</tt> etc.


Vous pouvez passer ces fichiers-formes dans un éditeur GIS tel que [[QGIS]] ou GRASS pour voir et éditer. Vous vérifierez ainsi que vous avez les bons fichiers. Après, vous pourrez expérimenter en remplaçant divers fichiers-formes par d'autres versions (GSHHS pour la côte, OSM pour les routes etc.).
Vous pouvez charger ces fichiers-formes dans un éditeur SIG tel que [[QGIS]] ou GRASS pour les visualiser et les éditer. C'est une bonne idée pour vérifier que vous avez bien les bons fichiers ! Plus tard, vous pourrez expérimenter en remplaçant divers fichiers-formes avec d'autres versions (GSHHS pour la côte, OSM pour les routes, etc.).


L'étape suivante décode les fichiers-formes au format TerraGear en utilisant la commande '''ogr-decode''' .  
L'étape suivante décode les fichiers-formes vers le format TerraGear en utilisant la commande '''ogr-decode''' (renommée '''poly-decode''' dans les versions récentes de TerraGear).  


Il y a trois importants arguments de ligne de commande pour ogr-decode:
Il y a trois arguments de ligne de commande importants pour ogr-decode :
* le répertoire de destination pour les données décodées
* le répertoire de destination pour les données décodées,
* la localisation du répertoire de fichiers-formes
* la localisation du répertoire de fichiers-formes,
* le type du matériel
* le type de matériau.


Chaque fichier-formes correspond avec un fichiers materials.xml. La cartographie est assez évidente. Par exemple, v0_mixedcroppasturecover maps to MixedCropPastureCover. Notez que les types matériel sont sensibles à la casse, et ainsi, c'est bien de se référer au fichier <tt>[[$FG ROOT]]/materials.xml</tt>pour vérifier. L'exception est v0_landmass, qui DOIT être régistré sur le type défaut.
Chaque fichier-forme correspond avec un des types de matériau défini dans les fichiers materials.xml. La correspondance est assez évidente. Par exemple, v0_mixedcroppasturecover correspond à MixedCropPastureCover. Notez que les types de matériau sont sensibles à la casse, donc il est bon de se référer au fichier <tt>[[$FG ROOT]]/materials.xml</tt> pour vérifier. L'exception est v0_landmass, qui DOIT correspondre au type Default.


En plus, il y a une quantité d'arguments optionnels pour indiquer les données de largeur de ligne (pour routes, rivières, voies de chemin de fer), quelle grandeur pour les données point (pour les villes) et quelle peut être la plus longue ligne droite.
En complément, il existe de nombreux arguments optionnels pour indiquer la largeur des données linéaires (pour les routes, les rivières, les voies de chemin de fer), quelle largeur utiliser pour les données de type point (pour les villes) et quelle est la plus grande longueur acceptable pour une ligne droite.


Par exemple, pour décoder le fichier-formes v0_landmass, vous entrez la commande suivante:
Par exemple, pour décoder le fichier-forme v0_landmass, vous entrez la commande suivante :


ogr-decode --max-segment 500 --area-type Default work/Landmass data/shapefiles/v0_landmass
ogr-decode --max-segment 500 --area-type Default work/Landmass data/shapefiles/v0_landmass


Pour créer des rivières de 10m de large
Pour créer des rivières de 10 mètres de large :


  ogr-decode --max-segment 500 --line-width 10 --area-type Stream work/Stream data/shapefiles/v0_stream
  ogr-decode --max-segment 500 --line-width 10 --area-type Stream work/Stream data/shapefiles/v0_stream


Pour générer des villes d'environ 1km
Pour générer des villes d'environ 1 kilomètre de diagonale :


  ogr-decode --point-width 500 --area-type Town work/Town data/shapefiles/v0_town
  ogr-decode --point-width 500 --area-type Town work/Town data/shapefiles/v0_town


Lancez cette commande pour chaque fichier-formes.
Lancez cette commande pour chaque fichier-forme du lot de données.


== Génerer des scènes ==
== Générer les scènes ==
Vous avez maintenant un répertoire de travail, avec des sous-répertoires comme:
Vous avez maintenant un répertoire de travail, avec des sous-répertoires comme :
{|
{|
|
|
: AirportArea (aire d'aéroport)
: AirportArea
: AirportObj (Objet d'aéroport)
: AirportObj
: Bog
: Bog
: DryCropPastureCover (Couverture paturage récolte-sèche
: DryCropPastureCover
: EvergreenBroadCover (Couverture toujours verte)
: EvergreenBroadCover
: GrassCover (couverure herbe)
: GrassCover
: IrrCropPastureCover (couverture paturage moisson)
: IrrCropPastureCover
: Lake (lac)
: Lake
: Landmass (masse de terrain)
: Landmass
: Marsh (marais)
: Marsh
: MixedCropPastureCover (couverture mélangée moisson paturage)
: MixedCropPastureCover
| valign="top" |
| valign="top" |
: MixedForestCover (couverure forêt variée)
: MixedForestCover
: Railroad (voie ferrée)
: Railroad
: Road (route)
: Road
: Sand (sable)
: Sand
: ScrubCover (couverture broussailles)
: ScrubCover
: Shared (partagé)
: Shared
: SRTM-3
: SRTM-3
: Stream (rivière)
: Stream
: Town   (ville)
: Town
: Urban (zone urbaine)
: Urban
|}
|}


Nous pouvons maintenant générer la scène, par la commande fgfs-construct. Lancez la commande avec <code>--help</code>pour obtenir les informations de marche.  
Nous pouvons maintenant générer les scènes en utilisant la commande fgfs-construct. Lancez la commande avec <code>--help</code> pour obtenir les informations d'utilisation.  


Nous avons à définir:
Nous devons définir :
* Les répertoires de tâche (--work-dir) et de sortie (--output-dir) .
* Les répertoires de travail (--work-dir) et de sortie (--output-dir) .
** '''Note''' au sujet du répertoire de sortie: il doit pointer vers <tt>Terrain/</tt> directory, sinpn, les versions récentes FlightGear seront incapables de charger le terrain.
** '''Notez''', au sujet du répertoire de sortie : il doit pointer vers le répertoire <tt>Terrain/</tt>, sinon, les versions récentes FlightGear seront incapables de charger le terrain.
* Le centre de la scène que nous voulons générer (--lat, --lon).
* Le centre de la scène que nous voulons générer (--lat, --lon).
* Le rayon (--xdist, --ydist) à partir duquel on génère.
* Le rayon (--xdist, --ydist) à partir duquel on génère.
* Tous les répertoires travail à inclure dans la scène.
* Tous les répertoires de travail à inclure dans la scène.


Par exemple:
Par exemple :
{{Pre2|<nowiki>fgfs-construct --work-dir=./work --output-dir=./output/Terrain --lon=55 --lat=60 --xdist=3 --ydist=3 AirportArea SRTM-3 AirportObj Stream Bog IrrCropPastureCover Town Lake Urban Landmass Railroad DryCropPastureCover Road EvergreenBroadCover Marsh Sand MixedCropPastureCover ScrubCover GrassCover MixedForestCover</nowiki> }}
{{Pre2|<nowiki>fgfs-construct --work-dir=./work --output-dir=./output/Terrain --lon=55 --lat=60 --xdist=3 --ydist=3 AirportArea SRTM-3 AirportObj Stream Bog IrrCropPastureCover Town Lake Urban Landmass Railroad DryCropPastureCover Road EvergreenBroadCover Marsh Sand MixedCropPastureCover ScrubCover GrassCover MixedForestCover</nowiki> }}


Ceci terminé, le répertoire sortie contiendra un sous-arbre scène. Pointez le en mettant soit [[$FG_SCENERY]] ou en utilisant la ligne de commande --fg-scenery vers fgfs, et testez votre nouvelle scène!
Lorsque cette commande se termine, le répertoire de sortie contiendra un sous-répertoire scenery. Pointez vers lui en paramétrant [[$FG_SCENERY]] ou en utilisant l'option de ligne de commande --fg-scenery à fgfs, et testez votre nouvelle scène !


== Incidents ==
== Un soucis ? ==
Ci-dessous une liste de problèmes courants et leur solutions. Dans le doute, Google. La plupart des problèmes ( en particulier lors de la compilation de TerraGear) ont déjà été évoqués:  
Vous trouverez ci-dessous une liste de problèmes courants et leur solutions. Dans le doute, copiez/collez votre erreur dans Google. La plupart des problèmes (en particulier lors de la compilation de TerraGear) ont déjà été évoqués :


* Accidents dans genapts. Quelquefois, genapts se plante avec certains aéroports. Dans ce cas, essayez de relancer avec --start-id pour récupérer l'aéroport défaillant, et --nudge pour essayer de remettre les calculs dans la bonne voie.  
* Crash de genapts. Quelquefois, genapts plante avec certains aéroports. Dans ce cas, essayez de le relancer avec l'argument --start-id pour démarrer à l'aéroport sur lequel il a planté, et l'argument --nudge pour essayer de remettre les calculs dans la bonne voie.
* fgfs-construct détruit. Le processus fgfs-construct peut s'auto-détruire si il consomme trop de ressources système. l'augmentation des valeurs pour setrlimit dans src/BuildTiles/Main/main.cxx est la meilleure solution.  
* fgfs-construct tué. Le processus fgfs-construct peut se suicider s'il consomme trop de ressources système. L'augmentation des valeurs pour setrlimit dans src/BuildTiles/Main/main.cxx est la meilleure solution.
* Les aéroports apparaissent au milieu de trous, ou il y a des espaces entre les aéroports et la scène. Ceci arrive lorsque genapts est incapable de trouver la donnée d'élévation correcte, ou la donnée d'élévation a changé entre le lancement de genapts et le shape-decode. Essayez de générer un seul aéroport dans votre zone de scène utilisant genapts, surveillez la sortie. En particulier, soyez sûr qu'il y a un répertoire travail enI/SRTM-3 .  
* Les aéroports apparaissent au fond de trous, ou il y a des espaces entre les aéroports et la scène. Ceci arrive lorsque genapts est incapable de trouver la donnée d'élévation correcte, ou alors la donnée d'élévation a changé entre le lancement de genapts et celui de shape-decode. Essayez de générer un seul aéroport dans votre zone de scène en utilisant genapts, et visualisez la sortie. En particulier, soyez sûr que le répertoire work/SRTM-3 existe.  
* Seuls les aéroports apparaissent dans la scène. Trois causes typiques:  
* Seuls les aéroports apparaissent dans la scène. Il existe trois explications typiques :
** Vous n'avez pas téléchargé les fichiers-formes corrects de la zône.
** vous n'avez pas téléchargé les fichiers-formes corrects de la zone;
** Vous n'avez pas lancé shape-decode sur le fichier-forme v0_landmass par défaut
** vous n'avez pas lancé shape-decode sur le fichier-forme v0_landmass comme Default
** Vous n'avez pas inclus les répertoires corrects dans fgfs-construct.  
** vous n'avez pas inclus les répertoires corrects dans fgfs-construct.  
* la scène générée contient des données provenant des fichiers-formes. Si vous éditez des fichiers-formes, vous devez effacer le sous-répertoire de travail approprié avant de lancer shape-decode. Sinon, vos changements seront superposés à ceux qui existent déjà.  
* La scène générée contient des données effacées des fichiers-formes. Si vous éditez des fichiers-formes, vous devez effacer le sous-répertoire work approprié avant de lancer shape-decode. Sinon, vos changements s'ajouteront à ceux qui existent déjà.
* la scène entière est plate, et au niveau de la mer. C'est parce que vous n'avez pas entré les données d'élévationdans vutre commande fgfs-construct. Assurez vous qu'il y a un répertoire STRM-3 dans la ligne de commande.  
* La scène entière est plate et au niveau de la mer. C'est généralement dû au fait que vous n'avez pas inclus les données d'élévation dans votre commande fgfs-construct. Assurez-vous qu'il existe un répertoire STRM-3 précisé dans la ligne de commande.  
* Tout terrain copie le matériel d'un fichier-formes. Vous avez probablement oublié de mettre chacun des fichiers-formes téléchargés dans un répertoire séparé à l'intérieur du répertoire Data/shapefiles.  
* Tout terrain copie le matériel d'un fichier-forme. Vous avez probablement oublié de mettre chacun des fichiers-formes téléchargés dans un répertoire séparé à l'intérieur du répertoire Data/shapefiles.  


{{Terra}}
{{Terra}}


[[Category:Scenery enhancement]]
[[Category:Scenery enhancement]]
[[fr:Utiliser TerraGear]]
[[en:Using TerraGear]]

Latest revision as of 13:14, 11 December 2016

Organigramme de TerraGear

Le projet logiciel TerraGear participe au projet FlightGear en créant les fichiers utilisés par celui-ci pour représenter le relief et la texture de la Terre, ce qui comprend les aéroports, villes, champs, forêts, rivières, routes, etc. Le logiciel TerraGear lit des fichiers de données contenant l'élévation du sol, le positionnement et l'agencement des aéroports, les données géographiques d'occupation du sol, entre autres et produit les fichiers de scènes utilisés par Flightgear pour représenter la surface de la planète.

Par simplicité et commodité, la plupart des utilisateurs de FlightGear téléchargent simplement les fichiers plug-and-play des scènes à partir du serveur de scènes de FlightGear, ou utilisent TerraSync pour télécharger automatiquement les scènes à la demande. Mais il peut y avoir des cas où vous voudriez utiliser TerraGear pour générer vos propres fichiers terrain, plutôt que de télécharger les scènes standard de FlightGear.

Par exemple, si vous utilisez WorldEditor pour modifier/améliorer les information concernant un taxiway/une aire de trafic d'un aéroport, vous pourriez avoir envie de visualiser à quoi ressemblerait cet aéroport modifié dans les scènes avant de décider que les résultats vous conviennent. Peut-être que les scènes officielles sont trop détaillées pour votre machine un peu ancienne, et que vous voudriez construire un terrain avec un modèle numérique de d'élévation (DEM) de plus faible résolution, afin de diminuer le nombre de polygones et ainsi augmenter votre taux de rafraîchissement d'image. Soit vous avez une machine ultra-rapide, et vous voulez construire votre propre terrain avec des données vectorielles de plus haute résolution (vmap1, Tiger, osm) pour obtenir de meilleures routes/rivières. Pour toutes ces raisons, apprendre à utiliser TerraGear est une bonne idée.

Obtenir TerraGear

Vous pouvez soit compiler TerraGear vous-même, ou bien télécharger un binaire pré-compilé, cette dernière démarche étant plus aisée et donc recommandée pour les débutants.

  • Option 1 - Télécharger TerraGear pré-compilé (recommandé aux débutants) sur Windows
    1. Téléchargez la dernière version de TerraGear sur le Serveur de compilation de FlightGear.
    2. Créez ou choisissez un répertoire pour contenir les outils TerraGear.
    3. Dé-zippez le paquetage et déplacez les fichiers de archive/install/msvc100/TerraGear/bin dans un sous-répertoire nommé Terragear/ dans le répertoire de base.
  • Option 1b - Télécharger les paquetages ppa pour Ubuntu Linux

https://launchpad.net/~saiarcot895/+archive/ubuntu/flightgear-edge/+index?batch=75&memo=75&start=75

  • Option 2 - Compiler TerraGear à partir du code source, comme expliqué dans cet article.
Note  Vous pourriez avoir besoin du fichier default_priorities.txt qui peut être obtenu à partir du dépôt Git ou à partir de l'archive téléchargée à partir du serveur de compilation (dans le sous-répertoire archive/install/msvc100/TerraGear/share). Voir ce lien du forum pour les détails.

Interface graphique

L'interface graphique TerraGear GUI est disponible pour ceux voudraient utiliser TerraGear sans avoir à connaître/utiliser les options de ligne de commande.

Utilisation de TerraGear

Tout d'abord, choisissez les limites de la zone de scène que vous voulez construire, en termes de latitude et de longitude. Plus la zone à générer sera restreinte, plus la quantité de données et le temps CPU nécessaire seront limités. Par exemple, si vous voulez juste générer une nouvelle disposition d'aéroport à la position 12°3 Ouest et 34°4 Nord, la génération des scènes entre 34°N 12°O et 35°N 13°O sera suffisante.

Notez la boîte de délimitation (longitudes et latitudes minimum et maximum) pour la scène que vous voulez générer. Rappelez-vous que Ouest et Sud sont négatifs - c'est-à-dire que 4° Ouest 10° Sud doit être -4, -10. Essayez de ne pas vous mélanger les pinceaux, sinon la scène ou l'aéroport que vous créez se retrouvera de l'autre côté de la planète !

Vous aurez affaire avec différents types de données utilisant des formats variés. Créez un nouveau répertoire pour votre travail de scène. A l'intérieur de ce répertoire, créez les sous-répertoires suivants:

data/
Pour les données brutes et pré-calculées (par exemple, les fichiers d'élévation)
output/
Pour les fichiers de scènes que vous créerez
work/
Pour les données qui ont été calculez (par exemple par shape-decode) et qui sont prêtes à être intégrées dans la scène

Obtenir et traiter les données

Terragear utilise trois sortes d'informations différentes pour générer une scène :

  1. L'élévation du terrain (fournie par SRTM)
  2. L'emplacement et la disposition des aéroports (fournis par apt.dat ou un fichier .dat personnalisé)
  3. Si une lat/lon donnée correspond à la mer, la terre, une ville, une forêt, un village, une route, un chemin de fer (fourni par VMAP0, CORINE, etc. ou par des fichiers personnalisés de formes)

Cet article décrit comment obtenir et traiter chacun de ces types de données dans l'ordre, et les fournir ensemble, pour que FlightGear les utilise. L'ordre de ces étapes est important. Par exemple, l'étape des données d'un aéroport a besoin des données d'élévation pour déterminer l'élévation des aéroports. Ainsi, vous commencerez par préparer les données d'élévation.

Attention  Pour l'inclusion dans les scènes officielles de FlightGear, toutes les données doivent provenir de sources compatibles avec la licence GNU GPL!

Données d'élévation

Les meilleures données d'élévation actuellement disponibles proviennent du projet Shuttle Radar Topography Mission (SRTM). Il y a deux types de données SRTM :

  • Données de haute précision (résolution 1-arc seconde), ou SRTM-1, pour les USA
  • Données de précision moindre (résolution 3-arc second), ou SRTM-3, pour le reste du monde.

A partir de maintenant, nous supposerons que vous utilisez les données SRTM-3. Sauf mention contraire, le processus est identique pour SRTM-1.

Vous pouvez télécharger les données appropriées à partir du site http://dds.cr.usgs.gov/srtm/version2_1/. Vous devrez récupérer tous les fichiers .hgt.zip couvrant la région qui vous intéresse. Selon la taille de votre scène, cela peut représenter un grand nombre de fichiers. Téléchargez les vers l'emplacement data/SRTM-1/ (ou SRTM-3/SRTM-30 en fonction du type de données que vous téléchargez) dans votre répertoire de base. (Genapts recherche les données d'élévation parmi un ensemble de noms de répertoires prédéfinis dans son répertoire de travail. SRTM-30 est l'un d'eux, c'est le moins déroutant dans cette liste. Notez que, à compter du 31 juillet 2010, l'outil genapts prend également en compte l'existence de répertoires SRTM-1/SRTM-3. Si vous utilisez une version plus ancienne, pensez à fournir les répertoires en utilisant --dem-path).

Maintenant que nous avons les données, nous devons les convertir pour qu'elles puissent servir à TerraGear. Tout d'abord, dézippez chacun des fichiers .hgt. Ensuite, ouvrez la ligne de commande (Sous Windows: Démarrer > Exécuter > cmd.exe) et placez-vous dans le répertoire de base (cd .../.../TerraGear).

Note  Selon TerraGear_Documentation, hgtchop est remplacé par gdalchop.
Note  Pour les données SRTM-1, remplacez le 3 par un 1 dans le premier argument fourni à hgtchop
Conseil  Si vous voulez créer un fichier batch, remplacez %f avec %%f, voir à ce sujet : [1]

Pour Windows :

for %f in (.\data\SRTM-3\*.hgt) do .\Terragear\hgtchop.exe 3 %f .\work\SRTM-3

ou

for %f in (.\data\SRTM-3\*.hgt) do .\Terragear\hgtchop.exe 3 .\data\SRTM-3\%f .\work\SRTM-3

Pour Linux :

for f in ${PWD}/data/SRTM-3/*.hgt; do ./Terragear/hgtchop 3 "${f}" "${PWD}/work/SRTM-3"; done

Maintenant, vous allez obtenir une quantité importante de fichiers .arr.gz dans votre répertoire work/SRTM-3/. Il nous faut les convertir au format .fit.gz. Utilisez à nouveau la ligne de commande avec

Note  L'espace et le point à la fin sont importants!

Pour Windows :

.\Terragear\terrafit.exe work\SRTM-3

Pour Linux :

./Terragear/terrafit work/SRTM-3

Données d'aéroports

Maintenant que nous avons les données d'élévation, nous pouvons générer nos aéroports. Tout d'abord, créons un répertoire data/airports/ et copions-y votre fichier apt.dat. Celui-ci peut-être soit directement celui de votre paquetage de donnés FlightGear (bien que vous devrez le dé-zipper), soit un fichier que vous auriez modifié avec WorldEditor.

La commande pour créer les aéroports est "genapts850". Lancez-la sans aucun arguments afin de visualiser les différentes options de ligne de commande.

Si elle est simplement lancée avec un fichier apt.dat spécifié et le répertoire de travail, elle générera les agencements d'aéroports pour chaque aéroport contenu dans le fichier, ce qui peut être long. Vérifiez que l'entrée n'est pas le fichier apt.dat.gz, mais le fichier décompressé. Sinon genapts850 bloquera et ne produira aucune sortie.

Si vous créez juste un seul aéroport, et que vous connaissez son identifiant OACI (par exemple KSFO, EGPH, EG32), utilisez le comme suit à partir du répertoire racine des scènes (c'est à dire à partir du répertoire parent de vos répertoires data, work et output). Si vous utilisez un fichier apt.dat contenant un seul aéroport, vous pouvez omettre le paramètre --airport.

genapts850 --input=data/airports/apt.dat --work=./work --airport=<IDENTIFIANT_OACI_AEROPORT>

ou, si vous avez les données d'élévation disponible:

genapts850 --input=data/airports/apt.dat --work=./work --dem-path=SRTM-3

Si vous générez des scènes plus grandes, alors vous pouvez spécifier les longitudes et latitudes minimum et maximum.

Genapts va créer deux sous-répertoires dans votre répertoire work:

  • AirportArea/
  • AirportObj/

Ils contiennent les définitions des agencement de l'aéroport, et de tous les objets présents (par exemple les manches à air et balises).

Données d'utilisation du sol

Les dernières données que nous avons besoin de générer sont celles correspondant au type d'utilisation du sol. En général, elles proviennent du lot de données VMAP0 en tant que fichiers de formes en provenance du serveur de carte de la base de données des scènes, mais d'autres sources peuvent aussi être utilisées.

Les données d'utilisation du sol peuvent être séparées en différents types :

Landmass
Sépare la terre de la mer. Ces données peuvent être utilisées comme un masque pour toutes les autres données. Les plus couramment utilisées sont le Landmass VMAP0, mais GSHHS peut également être utilisé. Pendant l'exécution de tg-construct avec l'argument --ignore-landmass, toutes les entrées des fichiers de formes seront tenues en compte, ainsi le masque de Landmass n'est alors plus nécessaire.
Land use data
Définit si une portion de terrain correspond à une forêt, une zone urbaine, du sable, de la lave, des glaciers, etc. Ce sont généralement des données VMAP0, définies en tant que polygones.
Line data
Comprend les lignes de chemins de fer, les rivières, les routes. Typiquement VMAP0, mais aussi OpenStreetMap pour les routes.
Point data
Est actuellement uniquement utilisé pour définir les villes.

De loin, le moyen le plus facile pour obtenir ces données est de télécharger les fichiers de formes à partir du magnifique MapServer. Le MapServer vous permet de télécharger les fichiers de formes pour chaque région de scènes sélectionnée. Cliquez sur le lien "Download Shapefiles" (ou allez directement à : http://mapserver.flightgear.org/download.psp). Entrez dans la boîte de délimitation de la scène que vous désirez générer, sélectionnez le type de données de fichier de formes que vous voulez, et cliquez sur download.

Layers

v0
Couverture globale, faible niveau de détails. C'est "la dernière chance", mais malheureusement c'est la seul couche qui couvre le monde entier.
cs
C'est v0 avec la contribution d'un certain nombre de personnes dans le passé. Utilisez la au lieu de v0.
v1
Seulement des parties de certains pays sont disponibles, plus haut niveau de détails que v0.
clc06
Européen seulement. Très haut niveau de détails, c'est le choix préféré pour les pays européens.
osm
Couverture globale, haute résolution mais très bas niveau de détails.
Cela signifie: si vous êtes intéressés par une région en dehors de l'Europe et que les forêts sont définies dans OpenStreetMaps pour cette région, cela sera la meilleure source de données. Si les forêts ne sont pas définies, vous obtiendrez un terne, interminable DEFAULT landclass. OSM fournit le meilleur littoral et je vous encourage à utiliser ce littoral même en Europe. [2]

Téléchargez chaque fichier-forme dans un répertoire séparé (!) data/shapefiles/.... Ainsi, pour v0_landmass, vous obtiendriez data/shapefiles/v0_landmass/v0_landmass.shp, etc.

Vous pouvez charger ces fichiers-formes dans un éditeur SIG tel que QGIS ou GRASS pour les visualiser et les éditer. C'est une bonne idée pour vérifier que vous avez bien les bons fichiers ! Plus tard, vous pourrez expérimenter en remplaçant divers fichiers-formes avec d'autres versions (GSHHS pour la côte, OSM pour les routes, etc.).

L'étape suivante décode les fichiers-formes vers le format TerraGear en utilisant la commande ogr-decode (renommée poly-decode dans les versions récentes de TerraGear).

Il y a trois arguments de ligne de commande importants pour ogr-decode :

  • le répertoire de destination pour les données décodées,
  • la localisation du répertoire de fichiers-formes,
  • le type de matériau.

Chaque fichier-forme correspond avec un des types de matériau défini dans les fichiers materials.xml. La correspondance est assez évidente. Par exemple, v0_mixedcroppasturecover correspond à MixedCropPastureCover. Notez que les types de matériau sont sensibles à la casse, donc il est bon de se référer au fichier $FG ROOT/materials.xml pour vérifier. L'exception est v0_landmass, qui DOIT correspondre au type Default.

En complément, il existe de nombreux arguments optionnels pour indiquer la largeur des données linéaires (pour les routes, les rivières, les voies de chemin de fer), quelle largeur utiliser pour les données de type point (pour les villes) et quelle est la plus grande longueur acceptable pour une ligne droite.

Par exemple, pour décoder le fichier-forme v0_landmass, vous entrez la commande suivante :

ogr-decode --max-segment 500 --area-type Default work/Landmass data/shapefiles/v0_landmass

Pour créer des rivières de 10 mètres de large :

ogr-decode --max-segment 500 --line-width 10 --area-type Stream work/Stream data/shapefiles/v0_stream

Pour générer des villes d'environ 1 kilomètre de diagonale :

ogr-decode --point-width 500 --area-type Town work/Town data/shapefiles/v0_town

Lancez cette commande pour chaque fichier-forme du lot de données.

Générer les scènes

Vous avez maintenant un répertoire de travail, avec des sous-répertoires comme :

AirportArea
AirportObj
Bog
DryCropPastureCover
EvergreenBroadCover
GrassCover
IrrCropPastureCover
Lake
Landmass
Marsh
MixedCropPastureCover
MixedForestCover
Railroad
Road
Sand
ScrubCover
Shared
SRTM-3
Stream
Town
Urban

Nous pouvons maintenant générer les scènes en utilisant la commande fgfs-construct. Lancez la commande avec --help pour obtenir les informations d'utilisation.

Nous devons définir :

  • Les répertoires de travail (--work-dir) et de sortie (--output-dir) .
    • Notez, au sujet du répertoire de sortie : il doit pointer vers le répertoire Terrain/, sinon, les versions récentes FlightGear seront incapables de charger le terrain.
  • Le centre de la scène que nous voulons générer (--lat, --lon).
  • Le rayon (--xdist, --ydist) à partir duquel on génère.
  • Tous les répertoires de travail à inclure dans la scène.

Par exemple :

fgfs-construct --work-dir=./work --output-dir=./output/Terrain --lon=55 --lat=60 --xdist=3 --ydist=3 AirportArea SRTM-3 AirportObj Stream Bog IrrCropPastureCover Town Lake Urban Landmass Railroad DryCropPastureCover Road EvergreenBroadCover Marsh Sand MixedCropPastureCover ScrubCover GrassCover MixedForestCover

Lorsque cette commande se termine, le répertoire de sortie contiendra un sous-répertoire scenery. Pointez vers lui en paramétrant $FG_SCENERY ou en utilisant l'option de ligne de commande --fg-scenery à fgfs, et testez votre nouvelle scène !

Un soucis ?

Vous trouverez ci-dessous une liste de problèmes courants et leur solutions. Dans le doute, copiez/collez votre erreur dans Google. La plupart des problèmes (en particulier lors de la compilation de TerraGear) ont déjà été évoqués :

  • Crash de genapts. Quelquefois, genapts plante avec certains aéroports. Dans ce cas, essayez de le relancer avec l'argument --start-id pour démarrer à l'aéroport sur lequel il a planté, et l'argument --nudge pour essayer de remettre les calculs dans la bonne voie.
  • fgfs-construct tué. Le processus fgfs-construct peut se suicider s'il consomme trop de ressources système. L'augmentation des valeurs pour setrlimit dans src/BuildTiles/Main/main.cxx est la meilleure solution.
  • Les aéroports apparaissent au fond de trous, ou il y a des espaces entre les aéroports et la scène. Ceci arrive lorsque genapts est incapable de trouver la donnée d'élévation correcte, ou alors la donnée d'élévation a changé entre le lancement de genapts et celui de shape-decode. Essayez de générer un seul aéroport dans votre zone de scène en utilisant genapts, et visualisez la sortie. En particulier, soyez sûr que le répertoire work/SRTM-3 existe.
  • Seuls les aéroports apparaissent dans la scène. Il existe trois explications typiques :
    • vous n'avez pas téléchargé les fichiers-formes corrects de la zone;
    • vous n'avez pas lancé shape-decode sur le fichier-forme v0_landmass comme Default
    • vous n'avez pas inclus les répertoires corrects dans fgfs-construct.
  • La scène générée contient des données effacées des fichiers-formes. Si vous éditez des fichiers-formes, vous devez effacer le sous-répertoire work approprié avant de lancer shape-decode. Sinon, vos changements s'ajouteront à ceux qui existent déjà.
  • La scène entière est plate et au niveau de la mer. C'est généralement dû au fait que vous n'avez pas inclus les données d'élévation dans votre commande fgfs-construct. Assurez-vous qu'il existe un répertoire STRM-3 précisé dans la ligne de commande.
  • Tout terrain copie le matériel d'un fichier-forme. Vous avez probablement oublié de mettre chacun des fichiers-formes téléchargés dans un répertoire séparé à l'intérieur du répertoire Data/shapefiles.