Utilisateur:Ikonact/Cartographie

L'outil WMT est une collection de routines Octave/Matlab qui servent a générer des cartes géographiques ou topographiques. Il utilise des données ETOPO et SRTM pour la génération du relief et des fichiers "shape" pour les polygones ou les lignes comme les côtes, rivières, frontière et les routes.

Fond de carte fait avec le script de Ikonact. Labels, legende, localisateur ajoutés avec Inkscape.

Si vous voulez utiliser l'outil, envoyez-moi un message.

Installation

modifier

Pour utiliser l'outil il faut avoir GNU Octave installé.

Pour générer des cartes en projections différentes il faut installer aussi la librairie m_map. Ce paquet sert egalement pour lire les fichiers "shape"

Conditions d’utilisation

modifier

Copyright: 2012 Ikonact

Cet outil est un logiciel libre distribué sous license GPL v3. Vous pouvez l'utiliser, modifier et distribuer tant que vous n’altérez ni ne supprimez la licence.

Données

modifier

L'outil peux lire les données SRTM3 et ETOPO1 facilement. Les formats lisibles sont le format xyz et ArcASCII. Le format SRTM3 binaire natif est également lisible.

Le format "shape" peut être lu à l'aide de la librairie m_map.

Description

modifier

Si vous voulez utiliser l'outil, envoyez-moi un message.

L'outil WMT est composé de scripts qui peuvent être groupé en trois catégories.

Scripts principaux

modifier

Ce sont les scripts qui servent a générer l'image.

wmt_init initialise l'image.

  • Utilisation: wmt_init('limits', [lat1 lat2 lon1 lon2], 'datalimits', [lat1 lat2 lon1 lon2], 'filename', 'filename.svg', 'size', [width height], 'type', 'svg', 'projection', 'UTM');
    • 'datalimits' pour donner les limites des données utilisées
    • 'limits' pour donner les limite de la carte générée
    • 'filename' le nom du fichier
    • 'size' - la taille du fichier,
    • 'type' le format du relief. Il peut être svg pour le format svg ou vide pour le format jpeg.
    • 'projection' la projection. La projection par défaut est rectangulaire, mais en utilisant la librairie m_map d'autres projections peuvent être utilisées comme Stereographic, Orthographic, Azimuthal Equal-area, Azimuthal Equidistant, Gnomonic, Satellite, Albers Equal-Area Conic, Lambert Conformal Conic, Mercator, Miller Cylindrical, Equidistant Cylindrical, Oblique Mercator, Transverse Mercator, Sinusoidal, Gall-Peters, Hammer-Aitoff, Mollweide, Robinson, UTM

wmt_addtopo ajoute le relief soit en jpeg soit en svg (défini déjà dans wmt_init).

  • Utilisation: wmt_addtopo(x, y, z, clr, [0 100 200 300 400], 'name', 'topo');
    • 'x' et y- définissent les points de la grille des données topo
    • 'z' - la matrice avec les données topo
    • clr - les couleurs utilisées pour les niveaux
    • [0 100 200 300 400] - les niveaux topo a dessiner
    • name - le nom de la couche.

wmt_addtoposhadow ajoute les ombres du relief soit en svg (note: le relief en jpg est ajouté automatiquement avec la génération de la carte jpg).

  • Utilisation: wmt_addtoposhadow(x(1:6:end), y(1:6:end), z(1:6:end, 1:6:end), [val1 val2])
    • [val1 val2] - les niveaux des ombres. Les valeurs montrent la différence entre deux points.

wmt_addshape - ajoute des formes ou des lignes. Peut être utilisée plusieurs fois pour ajouter plusieurs couches.

  • Utilisation: wmt_addshape(data, 'name', 'layername');
    • data - les données a dessiner
    • name - nom de la couche

wmt_addpoint - ajoute des points sur la carte

  • Utilisation: wmt_point(data, 'name', 'layername');
    • data - les données a dessiner
    • name - nom de la couche

wmt_finit - finalise l'image et ajoute la grille et l’échelle

  • Utilisation: wmt_finit('xticks', [45:47],'yticks', [-65:-61], 'name', 'grid');
    • xticks, yticks - l'emplacement des parallèles et meridianes a dessiner

Scripts pour lire les données

modifier

svgmapper_arcasciiload - pour lire les données topo en format ArcASCII

svgmapper_xyzload - pour lire les données topo en format xyz

Fond de carte fait avec le script de Ikonact

Scripts secondaires

modifier

Scripts de services. Ne doivent pas être utilisés directement.

wmtp_base64encode

wmtp_drawcontourf

wmtp_plotline

wmtp_plotpath

wmtp_plotpoint

wmtp_reproject

Utilisation

modifier

Chaque carte demande quelques scripts à lancer selon les couches a ajouter. Voici un exemple de code qu'il faut utiliser pour créer une carte

# lecture des données
[xw, yw, zw] = svgmapper_xyzload('/usr/wmt/data/etopo1.xyz');
[x, y, z] = svgmapper_arcasciiload('/usr/wmt/data/srtm3topo.asc');
cst = load('/usr/wmt/data/coast.dat');
rvrs = load('/usr/wmt/data/rivers.dat');
wtr = m_shaperead('/usr/wmt/data/water');
roads = m_shaperead('/usr/wmt/data/highway');
adm = m_shaperead('/usr/wmt/data/administrative');

# chargement des couleurs
clr=getclr();

# génération de la carte
wmt_init('limits', [45.5 47.3 -64.9 -61.6], 'datalimits', [45.3 47.6 -65 -61], 'filename', 'test.svg', 'size', [800 600], 'type', 'svg', 'projection', 'UTM');
wmt_addtopo(xw, yw, zw, clr, [0 -25 -50 -75 -100 -125], 'name', 'bathymetry');
wmt_addtopo(x, y, z, clr, [0 1 25 50 100 200 300 400], 'name', 'topo');
wmt_addtoposhadow(x(1:6:end), y(1:6:end), z(1:6:end, 1:6:end), [25 75]);
wmt_addshape(cst, 'name', 'coast');
wmt_addshape(rvrs, 'name', 'rivers');
wmt_addshape(wtr.ncst, 'name', 'lakes');
wmt_addshape(roads.ncst(strcmp(roads.TYPE, 'primary') | strcmp(roads.TYPE, 'trunk')), 'name', 'primary');
wmt_addshape(adm.ncst(strcmp(adm.ADMIN_LEVE,'4')), 'name', 'border0');
wmt_addshape(adm.ncst(strcmp(adm.ADMIN_LEVE,'6')), 'name', 'border1');
wmt_finit('yticks', [45:47],'xticks', [-65:-61], 'name', 'grid');
Fond de carte fait avec le script de Ikonact
  • svgmapper_xyzload lit le fichier etopo1 en format xyz
  • svgmapper_arcasciiload lit le fichier srtm3 en forma arcASCII
  • load charge le fichier en format matlab
  • m_shaperead lit les fichiers "shape"
  • clr=getclr() charge les couleurs prédéfinies du relief
  • wmt_init initialise l'image. Elle donne les limites de la carte ('limits'), les limites des données ('datalimits'), le nom du fichier ('filename'), la taille en px du ficher ('size'), le format du relief ('type') et la projection. La projection par défaut est rectangulaire, mais en utilisant la librairie m_map d'autres projections peuvent être utilisées.
  • wmt_addtopo ajoute le relief au format précédemment spécifié ('type'). Elle donne les coordonnées des données, les données relief, les couleurs, les niveaux du relief, le nom de la couche et les ombres au format précédemment spécifié. Les fichiers svg seront en pure svg.
  • wmt_addshape ajoute des lignes et polygones d'une source unique en un calque unique, tel que côtes, rivières, routes, etc. Elle peut être utilisée plusieures fois pour ajouter plusieures couches.
  • wmt_finit ajoute la grille et l’échelle.