Exportation de couches en fichiers raster

Pour exporter ce que vous voyez à l'écran dans un fichier raster, il existe deux pilotes de « moniteurs » distincts qui se branchent sur la sortie standard du moniteur GRASS. Il s'agit du pilote CELL et du pilote PNG. Les deux sont lancés comme un moniteur normal et à partir de là, toutes les commandes d'affichage vont porter sur le fichier raster et non sur la simple sortie graphique du moniteur.

La différence essentielle entre les deux est que le pilote CELL crée un fichier raster GRASS que vous aurez ensuite à exporter en utilisant l'un des modules r.out.* d'exportation raster tandis que le pilote PNG crée directement un fichier à l'extérieur de GRASS.

Pilote PNG

Le pilote PNG possède l'avantage d'exporter directement le fichier.Son inconvénient est que la bibliothèque libpng n'est pas toujours installé sur tous les systèmes (mais elle existe quand même sur la plupart d'entre eux). Son utilisation est fort simple :

d.mon start=PNG

n'importe quelle commande d'affichage

d.mon stop=PNG

Cela crée un fichier map.png dans le répertoire courant qui contient toutes les couches que vous avez construites à l'aide des commandes d'affichage. Vous pouvez modifier les variables d'environnement pour paramétrer des options, par exemple un nom de fichier différent en sortie, ou la résolution de l'image obtenue, la couleur de fond, etc. Veuillez vous référer à la page du manuel pour plus de détails.

Le pilote CELL

Le pilote CELL est un peu plus compliqué à utiliser, étant donné qu'il requiert d'exporter le fichier CELL obtenu dans un fichier raster externe. Il posséde toutefois l'avantage d'utiliser des routines internes de GRASS, et par conséquent, de ne pas être dépendant de bibliothèques de fonctions externes. Voyez la page du manuel pour les détails et les différences.

Très important : avant d'exporter le fichier raster D_cell qui est la sortie du pilote CELL, vous devez paramétrer l'étendu de la région couverte par ce fichier (sinon quoi le résultat de votre export sera un fichier vide) :

g.region rast=D_cell

Ecrire des scripts pour construire vos mises en forme cartographiques

Par définition vous ne pouvez pas visualiser les résultats de vos commandes d'affichage dès lors que vous les dirigez vers l'un des pilotes graphiques cités plus haut. Par conséquent, vous allez probablement vouloir tester vos commandes dans un moniteur normal au préalable (ou tester dans le gestionnaire d'affichage, voir the Section called Créer une carte PNG à partir du gestionnaire d'affichage plus haut. Vous pouvez entrer toutes vos commandes dans un fichier texte que vous pourrez ensuite lancer une fois que vous avez démarré le pilote de votre choix (PNG ou CELL). Ou alors, vous pouvez utiliser d.save pour vous assister dans la création du fichier script.

d.mon start=PNG

sh le_fichier_texte_de_commandes

d.mon stop=PNG

Bien souvent, on a besoin de créer plusieurs cartes avec une même mise en forme cartographique. Il est alors f*utrement ennuyeux de re-re-re-retaper les mêmes commandes. Cette fois encore, l'utilisation d'un fichier script peut s'avérer très pratique. Changez simplement les noms des fichiers et les options d'affichage, relancez le pilote et refaîtes tourner le script. (Mais attention : si vous ne renommez pas le résultat à chaque exécution du pilote, ou si vous ne modifiez pas la variable GRASS_PNGFILE dans le cas du pilote PNG, la nouvelle couche produite viendra écraser la sortie précédente!)

Si vous combinez le script avec l'utilisation de d.frame, vous pouvez créer des mises en page relativement sophistiquées. Voilà un exemple (très) simple de script de mise en page :


d.frame -e # efface les frames préexistants
d.erase col=white # crée un fond blanc
d.frame -c frame=title at=90,100,0,100 # crée un frame de titre
echo "TITRE" | d.text -b size=75 at=45,30 col=black # écrit le titre
d.frame -c frame=map at=10,90,0,100 # crée un frame pour la carte
d.rast combel # trace une couche raster
d.vect arrondissements col=red # trace une couche vecteur
d.vect autoroute col=violet # trace une seconde couche raster
d.frame -c frame=legend at=0,10,0,100 # crée un frame pour la légende
echo "Cartography: M. Lennert" | d.text size=20 at=75,50 col=black # écrit le texte
echo "Digitalisation: TeleAtlas" | d.text size=20 at=75,30 col=black # écrit encore du texte 
d.barscale at=10,920 bcolor=white tcolor=black # crée une échelle graphique

Créer une carte PNG à partir du gestionnaire d'affichage

Si vous êtes membre actif d'une des ligues 'anti-ligne de commande', GRASS vous offre un compromis en la personne du gestionnaire d'affichage Display Manager. Son interface comprend un bouton PNG qui vous permet de générer un fichier map.png à partir de tout ce que vous avez à l'écran en appuyant sur le bouton "Display" (à l'exception des légendes). De plus vous pouvez entrer une « commande » au lieu d'un type de couche spécifique. Cela vous permet de vous servir de n'importe quelle commande de GRASS comme par exemple d.frame. Le script précédent aurait donc cette apparence s'il était produit à l'aide de d.dm:

Une fois ceci fait, cliquez simplement sur le bouton « PNG » et votre carte est prête, (n'oubliez pas de la renommer sans quoi elle sera écrasée lors de la prochaine exécution du pilote PNG). Utilisez le bouton « Add set » et le bouton « Save » pour créer différentes sortes de mises en page que vous pourrez réutiliser plus tard sur d'autres cartes (ASTUCE : double-cliquez sur une mise en page (un « set ») pour le renommer...)