Skip to Content

Foire Aux Questions - Comment rédiger un mapfile ?

Auteur : L.Jégou

Ce bloc permet de configurer l'étiquetage des éléments de la classe. Il possède lui aussi toute une série de paramètres.

Paramètres de base :

  • TYPE : Type de police de caractères à utiliser. Avec la valeur « bitmap », MapServer utilise ses propres polices internes, bitmap donc, mais elles ne peuvent subir de rotation ni être dimensionnées précisément (cf. ci-après pour la taille de police). Avec la valeur « truetype », MapServer utilise une police vectorielle, au format truetype. Le paramètre FONT indique l'alias utilisé pour indiquer le fichier ttf dans le fichier FONTSET. Par exemple, pour utiliser la police truetype Arial, il faut un fichier déclaré par le paramètre FONTSET (du bloc MAP), et ce fichier (texte) comprendra une ligne « arial chemin/arial.ttf » indiquant l'alias (nom utilisé dans le bloc LABEL) de la police et l'endroit où trouver le fichier correspondant sur la machine.
  • COLOR : Couleur du texte de l'étiquette, en RGB.
  • SIZE : Taille du texte, valeur entière pour la taille en pixels des polices TrueType, ou valeur texte pour les polices bitmap de MapServer, parmi [tiny|small|medium|large|giant].
  • MINSIZE et MAXSIZE : Tailles mini est maxi de dessin des étiquettes, en pixels.
  • MINFEATURESIZE : Taille minimale (valeur entière en pixels) d'un objet de la couche pour qu'il soit étiqueté. Correspond à la longueur pour les objets ligne, à la surface du rectangle d'encombrement pour les objets polygone. La valeur « auto » indique à MapServer de n'étiqueter que les objets au moins aussi gros que leur étiquette.

Paramètres d'effets d'affichage du texte (la présence du paramètre active la fonction) :

  • ANTIALIAS : Anticrénelage, réduction de « l'effet d'escalier ». Alourdit l'image produite car utilise des dégradés de couleur. Peut bloquer la génération de la carte dans le cas d'une complexité trop grande des éléments à dessiner.
  • OUTLINECOLOR : Couleur de la réserve autour du texte, en RGB.
  • SHADOWCOLOR et SHADOWSIZE : Couleur (RGB) et décalage (en pixels) pour le dessin des ombres sous les étiquettes.
  • BACKGROUNDCOLOR : Couleur du rectangle qui va contenir l'étiquette.

Paramètres de positionnement :

  • POSITION : Valeur texte correspondant à la position de l'étiquette par rapport au centre de l'objet qu'elle renseigne, selon le schéma suivant :
ul uc ur
cl cc cr
ll lc lr

Pour la valeur « auto » MapServer va tester les 8 positions externes pour choisir celle qui interfère le moins avec les autres étiquettes de la classe.

  • ANGLE : Angle en degrés par rapport à la verticale, ou « auto » pour les objets ligne, dans ce cas MapServer alignera l'étiquette sur l'objet.
  • OFFSET : Valeur X Y de décalage entre le coin bas-droite de l'étiquette et le centre de l'objet renseigné.
  • MINDISTANCE : Distance minimale (valeur entière en pixels) entre deux étiquettes du même objet.
  • BUFFER : Zone tampon (en pixels) autour des étiquettes, pour éviter qu'elles se touchent.
  • FORCE : Force le dessin des étiquettes de la classe, sans tenir compte des contraintes de proximité. Valeur : true/false (à false par défaut).
  • PARTIALS : Valeur true/false qui détermine si MapServer peut dessiner des étiquettes incomplètes (coupées par les bords de l'image). Vaut false par défaut.
  • WRAP : Précise le caractère (entre guillemets) utilisé dans le texte des étiquettes pour indiquer un passage à la ligne.
Auteur : L.Jégou

Le bloc STYLE permet de préciser les paramètres d'aspect de dessin d'une classe, on le retrouve donc à l'intérieur des blocs CLASS. Il peut contenir les paramètres suivants :

  • ANGLE : L'angle, en degrés, de dessin des lignes des objets SYMBOL, à zéro par défaut.
  • ANGLEITEM : Champ attributaire contenant les angles à utiliser.
  • ANTIALIAS : Permet de dessiner les textes (polices TrueType uniquement) et les symboles avec un anticrénelage. Attention, lorsque trop de couches sont dessinées avec ce paramètre, la génération de la carte peut échouer. Valeurs : [true|false]
  • BACKGROUNDCOLOR : Couleur d'arrière-plan pour les symboles non transparents.
  • COLOR : Couleur de la classe ou du symbole, en RGB.
  • MINSIZE et MAXSIZE : Tailles mini est maxi de dessin des symboles, en pixels (par défaut 0 et 50, respectivement).
  • MINWIDTH : Largeur minimale de dessin des lignes, en pixels.
  • OFFSET [x] [y] : Valeurs de décalage pour le dessin des ombres, des symboles creux.
  • OUTLINECOLOR : Couleur de contour des polygones et de certains symboles, en RGB.
  • SIZE : Hauteur en pixels des symboles, ou écart entre les éléments d'une hachure.
  • SIZEITEM : Champ attributaire contenant les tailles à utiliser.
  • SYMBOL : Le nom ou l'index symbolset de l'objet symbol à utiliser. Cet objet doit être défini par un bloc SYMBOL dans le MapFile, ou dans un fichier SYMBOLSET lié, indiqué dans l'en-tête du bloc princpal MAP.
  • WIDTH : Largeur de dessin des lignes (et des lignes composant les hachures), en pixels.
Auteur : L.Jégou

Ce bloc, placé dans un bloc LAYER, permet de définir des classes thématiques dans la couche, classes qui vont pouvoir être affichées différemment sur la carte globale. Les blocs CLASS sont traités dans l'ordre du fichier map, donc les premières classes sont les premières dessinées.

Ce bloc peut contenir les paramètres suivants :

  • NAME : Nom de la classe, à préciser si l'on veut trouver cette classe dans la légende.
  • EXPRESSION : Critère de sélection des objets de la couche qui vont être inclus dans la classe en cours. Ces sélections peuvent utiliser quatre méthodes : comparaison de chaînes de caractères (en utilisant CLASSITEM), comparaisons logiques simples (avec opérateurs), expressions régulières, fonction de chaîne length().
  • COLOR : Couleur de fond des objets possédant une surface, exprimée en RGB, trois valeurs entières séparées par des espaces.
  • OUTLINECOLOR : Couleur de contour des objets, en RGB aussi.
  • SYMBOL Numéro ou nom du symbole, qui doit être défini dans le mapfile par un bloc SYMBOL ou dans un fichier SYMBOLSET lié au mapfile.
  • SIZE : Taille du symbole ou de la trame, uniquement utilisable avec les symboles redimensionnables.
  • MINSIZE et MAXSIZE : tailles mini et maxi (en pixels) de dessin des symboles. En dehors de cette fourchette les symboles sont dessinés à la valeur la plus proche.
  • SYMBOLESCALE : Échelle à laquelle les symboles et/ou les textes apparaîssent à leur taille normale. Obligatoire dans le cas de symboles proportionnels avec le paramètre SIZEITEM.
  • TEXT : Nom de la colonne attributaire contenant le texte à utiliser pour l'étiquetage des objets de la classe (On peut aussi créer des expressions combinant plusieurs attributs entre crochets).
  • TEMPLATE : Chemin et nom du fichier modèle HTML éventuellement utilisé.
  • DEBUG : Valeur On ou Off. Si le paramètre LOGFILE est défini, les messages de débogage détaillés seront ajoutés au fichier de log, en plus des messages d'erreur

Chaque classe définie par ce bloc peut prendre un aspect différent à l'aide de sous-blocs STYLE.

Auteur : L.Jégou

Ce bloc va définir les propriétés de création et d'affichage d'une couche de données SIG par MapServer. Les blocs LAYER sont dessinés dans l'ordre du mapfile, c'est à dire que le premier bloc du mapfile est dessiné en premier, les suivants viendront par-dessus sur la carte. L'ordre du mapfile est donc l'ordre inverse de la superposition verticale des sources.

  • Paramètres généraux :
    • NAME : Nom de la couche, utilisé comme identifiant par l'interface web. Doit être unique dans le mapfile et d'une longueur maximale de 20 caractères.
    • GROUP : Groupe auquel le LAYER appartient. Utilisé dans les modèles HTML pour activer/désactiver les couches par groupes.
    • METADATA : Bloc secondaire utilisé pour stocker des paires nom – valeur. Utilisé par les modèles HTML et en mode serveur WMS.
    • STATUS : Statut (visibilité) du layer. Valeurs : default, on, off. Doit prendre la valeur « default » pour que le layer soit visible lorsque l'on utilise MapServer en mode Map (le STATUS ON ne suffit pas à le rendre visible, il faut que le layer soit expressément requis).
    • TYPE : Type d'objet géométrique ou modalité selon laquelle la couche doit être dessinée. Valeurs : point|line|polygon|circle|annotation|raster|query. Ce paramètre peut prendre une valeur différente du type géométrique des objets contenus dans la couche d'origine, par exemple une couche de polygones peut être représentée comme un LAYER de type POINT, ce qui affichera les centroïdes des polygones (mais pas l'inverse, naturellement).
    • MINSCALE : Échelle minimale à laquelle la couche sera dessinée. Si une échelle plus petite est demandée, MapServer dessinera la couche à l'échelle précisée par ce paramètre.
    • MAXSCALE : Idem pour l'échelle maximale.
    • SYMBOLESCALE : Échelle à laquelle les symboles et/ou les textes apparaîssent à leur taille normale. Ce paramètre permet un dimensionnement dynamique de ce type d'objets selon l'échelle de la carte, dans les limites des deux paramètres précédents. Obligatoire pour l'utilisation du paramètre SIZEITEM dans un bloc CLASS.
    • TRANSPARENCY : Degré de transparence de la couche, exprimé en pourcentage (sans le signe %), de 100 – opaque à 0 – totalement transparent.
    • OFFSITE : Le numéro d'index de la couleur d'une couche raster à traiter comme transparent. Cela permet de ne garder que la région utile d'une couche raster.
    • POSTLABELCACHE : Valeur booléenne (true/false) qui indique à MapServer de dessiner cette couche après avoir dessiné les libellés (labels) qui sont dans le tampon des libellés. Prend la valeur false par défaut.
    • CLASSITEM : Nom de la colonne attributaire qui est utilisée dans les expressions de sélection des blocs CLASS.
    • LABELITEM : Nom de la colonne attributaire qui fournira le texte des étiquettes.
    • TEMPLATE : Nom du fichier modèle HTML qui prend en compte cette couche. Obligatoire pour rendre cette couche interrogeable par requête, même si on n'utilise pas de modèle HTML.
    • DEBUG : Valeur On ou Off. Si le paramètre général LOG est défini, les messages de débogage détaillés seront ajoutés au fichier de log, en plus de l'affichage à l'écran des messages d'erreur.
  • Paramètres de données
    Voir les pages dédiées à l'utilisation des données vecteur, raster et distantes, cf. la question sur les types de données utilisables.
     Le bloc LAYER peut contenir des blocs de hiérarchie inférieure (cf. les questions dédiées) :
    • bloc CLASS
    • bloc LABEL
Auteur : L.Jégou

Ce bloc permet de définir précisément le format d'image du fichier qui sera généré par MapServer.

Le paramètre général IMAGETYPE (du bloc MAP) correspond en fait à des blocs OUTPUTFORMAT prédéfinis dans MapServer, par défaut. On peut ainsi mieux préciser certains paramètres de la sortie image, par exemple le taux de compression pour le format JPEG.

Exemple (jpeg qualité maximale, taux à 100%) :

OUTPUTFORMAT
  NAME jpegfull
  DRIVER "GD/JPEG"
  MIMETYPE "image/jpeg"
  IMAGEMODE RGB
  EXTENSION "jpg"
  FORMATOPTION "QUALITY=100"
END

Les paramètres sont nombreux et dépendent des bibliothèques de fonctions utilisées pour la génération des images (GD et GDAL pour le raster, Ming pour le Flash...). Plus d'informations sur la page de documentation de MapServer correspondante : http://mapserver.gis.umn.edu/docs/reference/mapfile/outputformat

Auteur : L.Jégou

MapServer gère les échelles selon une technique assez particulière. En effet, il part du principe que la carte sera au final une image possédant des dimensions en pixels, et qui sera visualisée au moyen d'un écran qui possède une certaine résolution (72 ou 90 dpi, selon le système d'exploitation). Par ailleurs, la carte doit être dessinée dans un rectangle d'extension maximale donné par le paramètre EXTENT. L'échelle finale de l'image doit donc être définie selon ces paramètres. Le paramètre EXTENT prime sur le paramètre SCALE, car c'est lui qui définit plus précisément ce que doit contenir la carte à dessiner.

Pour dessiner une échelle indiquant une certaine longueur terrain, il faut donc déterminer combien de pixels cette longueur va représenter, et l'indiquer dans le paramètre SIZE du bloc.

Le bloc SCALEBAR permet de dessiner des barres d'échelle, dans l'image de la carte ou comme une image distincte. Il possède les paramètres suivants :

  • POSITION : Code à deux lettres définissant l'endroit où sera dessinée l'échelle, ce code est le même que celui utilisé par le paramètre POSITION du bloc LEGEND.
  • SIZE : Dimensions en pixels (largeur espace hauteur) du rectangle contenant la barre d'échelle. Important car détermine la longueur totale de la barre, et donc ses indications chiffrées.
  • INTERVALS : Nombre de subdivisions à afficher.
  • STATUS : Inclusion (EMBED), image à part (ON) ou désactivation (OFF).
  • STYLE : Apparence de la barre, 0 donnant une barre de rectangles pleins, 1 une barre fine munie de repères (barbules).
  • UNITS : Unités pour le calcul de la longueur des intervalles de la barre d'échelle. Toutes unités possibles : [feet|inches|kilometers|meters|miles] sauf degrés décimaux.
  • IMAGECOLOR : Couleur RGB du rectangle qui contient l'échelle.
  • BACKGROUNDCOLOR : Couleur RGB de la barre d'échelle et de ses libellés.
  • COLOR : Couleur alternative à BACKGROUNDCOLOR si barre de type 0 et que plusieurs intervalles sont spécifiés.
  • OUTLINECOLOR : Couleur RGB de la réserve autour de la barre d'échelle (mais pas autour des libellés).
  • TRANSPARENT : Valeur booléenne (ON / OFF) qui précise si le rectangle contenant l'échelle est transparent.
Auteur : L.Jégou

L'indication d'un géoréférencement pour la carte produite par le mapfile nécessite un bloc PROJECTION. Ce bloc contient les informations de référencement, qui peuvent être de deux formes, une série de paramètres PROJ.4 (Cf. http://proj.maptools.org/gen_parms.html) ou un code EPSG (Cf : http://www.epsg.org/ ou http://www.inovagis.org/giserver/epsg.asp).

Par exemple :

PROJECTION
  "proj=utm"
  "ellps=GRS80"
  "zone=15"
  "north"
  "no_defs"
END

Ou :

PROJECTION
  "init=epsg:28992"
END

Notes importantes :

  • Si toutes les couches (layers) de votre mapfile sont dans le même système de projection, vous n'avez pas à ajouter de bloc PROJECTION.
  • Si vous mentionnez un bloc PROJECTION au niveau racine (donc dans le bloc principal MAP), et seulement un seul bloc PROJECTION dans un bloc LAYER, alors MapServer va présumer que toutes les autres couches (layers) sont dans la projection indiquée au niveau du bloc MAP. Ainsi, si vos couches (layers) sont dans de multiples systèmes de projection, il est important de le préciser par des blocs PROJECTION pour chaque couche, chaque bloc LAYER.
  • Il faut toujours référer aux codes EPSG en indiquant "init=epsg:code" en minuscules, car il s'agit en fait d'un nom de fichier en minuscules sur les serveurs de type linux.
  • Les paramètres de projection utilisés par MapServer ne sont pas toujours fiables, selon les versions de la bibliothèque PROJ.4 utilisées, la projection Lambert epsg 27582 peut être légèrement erronnée (problème corrigé dans la dernière version stable de PROJ.4).
Auteur : L.Jégou

MapServer peut générer trois types de légendes :

  • légendes simples sous forme d'images ;
  • légendes basées sur un modèle (template) de légende HTML ;
  • légendes en HTML pur.


Les légendes simples sont des images, inclues ou pas dans l'image de la carte principale, reprenant chaque classe nommée des layers du mapfile et son figuré. Il faut donc penser à nommer toutes les classes que l'on veut voir apparaître en légende (paramètre NAME).

Lorsque la légende simple est incluse dans l'image de la carte (paramètre : STATUS EMBED), on peut préciser l'endroit où la légende sera dessinée avec le paramètre POSITION. Ce paramètre prend une valeur correspondant à un code composé de deux lettres, la première pour le haut / bas, u pour « upper », l pour « lower », la seconde pour gauche / droite, l pour « left », r pour « right », et c pour « center » :

ul uc ur
. . .
ll lc lr

Les caissons (rectangles colorés) de légende pour les couches de polygones sont réglables en taille avec le paramètre KEYSIZE (valeurs : largeur hauteur) et leur espacement avec le paramètre KEYSPACING (valeurs : écart horizontal espace écart vertical). Il n'est pas possible de titrer une légende avec le seul mapfile (la générer sous un titre texte dans la page html qui contient la carte ou utiliser un modèle html).

  • IMAGECOLOR [r] [g] [b]

Couleur de fond de la légende.

  • LABEL

Il est possible d'ajouter un bloc LABEL dans le bloc LEGEND pour en paramétrer les libellés.

  • OUTLINECOLOR [r] [g] [b]

Couleur de contour des caissons.

  • POSITION [ul|uc|ur|ll|lc|lr]

Position de la légende dans l'image de la carte, cf. ci-dessus.

  • KEYSIZE [x][y]

Taille en pixels des caissons de légende, 20x10 pixels par défaut.

  • KEYSPACING [x][y]

Ecart entre les caissons (Y) et les libellés (X). 5 pixels partout par défaut.

  • POSTLABELCACHE [true|false]

Demande à MapServer de dessiner la légende après que tous les libellés en cache soient dessinés. Utile pour ajouter des filets et autres éléments de décoration. A False par défaut.

  • STATUS [on|off|embed]

Permet d'activer ou non la légende. "embed" permet d'intégrer l'image de la légende dans l'image de la carte principale, plutôt que de générer un autre fichier image.

  • TEMPLATE [filename]

Permet de préciser un fichier modèle (template) HTML pour la légende.

Auteur : L.Jégou

Ce bloc définit les paramètres de la petite carte utilisée comme référence pour la carte principale. C'est une image sur laquelle va être dessiné un rectangle représentant l'extension de la carte principale, ou la localisation des résultats d'une requête, en mode QUERY.

MapServer va faire la relation entre la carte principale et la carte de référence grâce aux paramètres EXTENT des deux cartes, et afficher un rectangle (ou un symbole) permettant de localiser et de mesurer l'extension de la carte principale sur la carte de référence. Par défaut le bloc REFERENCE a un paramètre STATUS à OFF, pour activer cette carte il faut donc penser à avoir une ligne « STATUS ON ».

Paradoxalement, MapServer a besoin d'une image fixe représentant la petite carte de référence, il ne va pas la générer. Cela permet par contre l'utilisation d'une image externe. Il faut donc alors, pour produire cette image, utiliser un mapfile simplifié (uniquement les contours de la couche principale par exemple), réglé pour générer une image de petites dimensions. On peut naturellement créer un mapfile spécifique pour générer cette image, puis l'utiliser comme référence dans le mapfile principal.

  • COLOR [r] [g] [b]

Couleur de fond du rectangle de référence tracé sur la carte. Une valeur à -1 indique que le rectangle doit être évidé. La couleur par défaut est le rouge.

  • EXTENT [minx] [miny] [maxx] [maxy]

Etendue spatiale de la carte de référence.

  • IMAGE [fichier]

Nom de fichier complet de l'image de la carte de référence. Doit être une image de type GIF.

  • MARKER [integer|string]

Numéro ou nom du SYMBOL (dans le fichier SYMBOLSET du mapfile) utilisé lorsque le rectangle de référence devient trop petit (voir les valeurs MINBOXSIZE et MAXBOXSIZE ci-dessous). Un croisillon par défaut.

  • MARKERSIZE [integer]

Taille du SYMBOL utilisé en remplacement du rectangle.

  • MINBOXSIZE [integer]

Si le rectangle de référence est plus petit (largeur ou hauteur en pixels) que cette valeur, alors c'est le SYMBOL défini dans MARKER et MARKERSIZE qui est utilisé (ou le croisillon par défaut).

  • MAXBOXSIZE [integer]

Si le rectangle de référence est plus grand (largeur ou hauteur en pixels) que cette valeur, alors il n'est pas dessiné.

  • OUTLINECOLOR [r] [g] [b]

Couleur du contour du rectangle de référence. Une valeur à -1 indique qu'aucun contour n'est dessiné.

  • SIZE [x][y]

Taille en pixels de la carte (image) de référence.

  • STATUS [on|off]

Indique si la carte de référence doit être utilisée. Attention, ce paramètre est OFF par défaut.

Auteur : L.Jégou

Ce bloc va paramétrer le fonctionnement de l'interface Web autour de la carte générée par MapServer, c'est à dire paramétrer les chemins pour l'image, l'utilisation éventuelle d'un modèle (template) HTML...

  • IMAGEPATH : Chemin absolu vers le répertoire temporaire où sera stocké le fichier image généré par le mapfile. Doit se terminer par un slash « / », de préférence utiliser des slashs, pas des anti-slashs « \ ».
  • IMAGEURL : Base de l'url (partie de l'adresse web s'ajoutant au nom du serveur dans l'url) pointant sur le répertoire temporaire contenant les fichiers image générés. Correspond à l'alias défini dans la configuration du serveur Web.
  • EMPTY : Url vers laquelle l'utilisateur est redirigé lorsqu'une requête MapServer ne retourne pas de résultats.
  • ERROR : Url vers laquelle l'utilisateur est redirigé lorsque se produit une erreur.
  • LOG : Chemin et nom du fichier texte dans lequel sera inscrite l'activité de MapServer sur ce mapfile. Contient une trace des opérations effectuées et des éventuelles erreurs survenues. Fonctionne en parallèle avec le paramètre DEBUG et les paramètres LOG des blocs LAYER du mapfile.
  • MINSCALE : Échelle minimale à laquelle le mapfile sera dessiné. Si une échelle plus petite est demandée, MapServer dessinera la carte à l'échelle précisée par ce paramètre.
  • MAXSCALE : Idem pour l'échelle maximale.
  • TEMPLATE : Chemin et nom du fichier modèle HTML éventuel (cf. la question dédiée à ce sujet).
  • HEADER : Modèle HTML à utiliser avant l'insertion de l'image de la carte.
  • FOOTER : Idem pour le bas de page.
  • METADATA : Bloc secondaire utilisé pour stocker des paires nom – valeur. Utilisé par les modèles HTML (pour stocker des variables généralisées) et en mode client et serveur WMS/WFS.
Auteur : L.Jégou

Un Mapfile possède une organisation hiérarchique, basée sur des blocs (ou objets, par référence aux objets de MapScript), à l'intérieur d'un bloc principal, le bloc MAP.

Chaque bloc commence par son nom et se termine par le mot-clé "END".

Au début du mapfile, juste après le mot-clé "MAP" et avant le premier sous-bloc, on trouve une en-tête avec quelques paramètres généraux.

  • NAME : nom de la carte, préfixe ajouté à tous les fichiers image générés par le mapfile, donc à garder de courte taille.
  • UNITS : Unité de la carte, utilisé pour les calculs et le dessin de la barre d'échelle. L'information sur l'unité du fond de carte n'est pas toujours apportée par le bloc « projection », il faut donc essayer de la fournir explicitement à chaque fois.

Valeurs : [feet|inches|kilometers|meters|miles|dd]

  • EXTENT : Extension de la carte, donc coordonnées des extrémités de la carte dessinée dans l'image générée par le mapfile, exprimées dans l'unité de la projection générale du mapfile.

Valeurs : [xmin] [ymin] [xmax] [ymax]

  • STATUS : On ou Off, active ou désactive la totalité du mapfile.
  • FONTSET et SYMBOLSET : chemin et nom des fichiers contenant les définitions de polices de caractères (utile sous linux) et de symboles (on peut aussi définir un symbole directement dans le mapfile, mais c'est utile de pouvoir les rassembler dans un seul fichier qui poura être appellé par différents mapfiles).
  • SHAPEPATH : Chemin vers le répertoire contenant les fichiers de données (des couches), ou le chemin de base à partir duquel les paramètres DATA iront les chercher.

Ensuite peuvent intervenir les paramètres de génération de l'image :

  • IMAGETYPE : type de fichier image à générer. La valeur doit correspondre à l'une de celles inclues par défaut par MapServer, où à une définition explicite par ajout d'un bloc OUTPUTFORMAT. Ce paramètre dépend des options avec lesquelles à été compilé MapServer.

Valeurs : [gif|png|jpeg|wbmp|gtiff|swf|userdefined]

  • SIZE : Dimensions (largeur et hauteur) de l'image à générer, en pixels, séparées par un espace.
  • RESOLUTION : Résolution de l'image en dpi, par défaut 72. N'affecte que les calculs d'échelle, cf. le bloc SCALEBAR.
Auteur : L.Jégou

Un mapfile possède une structure en sections et une syntaxe spécifique, qui décrit les caractéristiques du document cartographique à générer par MapServer.

Généralités sur les mapfiles :

  • Chaque section commence par un identifiant de type, et se termine par le mot-clé "END", pour former ce que l'on appelle un "bloc". Ces blocs sont représentés par des objets dans MapScript.
  • Les mapfiles ne sont pas sensibles à la casse (minuscules / majuscules), sauf pour les noms des champs attributaires, notés entre [crochets].
  • Un mapfile contient au maximum 50 couches (layers) (mais on peut modifier cette valeur dans le code source et recompiler).
  • Les chemins de fichiers peuvent être indiqués de manière absolue (à partir de la racine du système), ou de manière relative à l'emplacement du mapfile. Mais attention, les chemins vers les données sont toujours relatifs au paramètre SHAPEPATH.
  • On peut ajouter des commentaires dans un mapfile en commençant la ligne par le caractère #