Mapfile

Author:Steve Lime
Contact:steve.lime at dnr.state.mn.us
Author:Jeff McKenna
Contact:jmckenna at gatewaygeomatics.com
Last Updated:2017-06-16

Le mapfile est le coeur de MapServer. Il définit les relations entre les objets, indique à MapServer où se trouvent les données et définit la façon dont elles seront dessinées.

Le Mapfile consiste en un objet MAP, qui doit commencer avec le mot MAP.

Il y a quelques concepts importants que vous devez comprendre avant de pouvoir utiliser les mapfiles efficacement pour configurer MapServer. Le premier concept est celui de LAYER. Une couche est une combinaison de données et de styles. Les données, composées d’attributs et d’une géométrie, sont stylées en utilisant les directives CLASS et STYLE.

Voir aussi

Une introduction à MapServer for “An Introduction to the Mapfile”

Remarques

  • Le mapfile N’EST PAS sensible à la casse.

  • Le Mapfile est lu du haut vers le bas par MapServer; cela signifie que les LAYERs proche du haut de votre Mapfile seront dessinées avant celles proches du bas. Par conséquent, les utilisateurs placeront communément les images raster et les autres types de couches de fond près du haut de leur mapfile, et les lignes et points près du bas de leur mapfile.

  • Les chaînes de caractères contenant des caractères non alphanumériques ou un mot clé de MapServer DOIVENT être placées entre guillemets (“quotes”). Il est recommandé de placer TOUTES les chaînes de caractères entre doubles apostrophes (double-quotes).

  • Mapfiles are expected to be UTF-8 encoded. Non UTF-8 encoded mapfiles will need to be iconv’ed to UTF-8.

    Nouveau dans la version 7.0.

  • Pour les versions de MapServer < 5, il y a une limite par défaut de 200 couches maximum par mapfile (il n’y a pas de limite de couches avec MapServer >= 5). Cela peut être changé en éditant le fichier map.h, en modifiant la valeur de MS_MAXLAYERS puis en recompilant MapServer. Il y a d’autres limites importantes par défaut dans MapServer < 5 :

    • MAXCLASSES 250 (définie dans map.h)

    • MAXSTYLES 5 (définie dans map.h)

    • MAXSYMBOLS 64 (définie dans mapsymbol.h)

    Les versions de MapServer >= 5 n’ont pas de limites pour les classes, styles, symboles et couches.

  • Les chemins de fichier peuvent être donnés en chemins absolus, ou en chemins relatifs par rapport à l’emplacement du mapfile. De plus, les fichiers de données doivent être spécifiés relativement au SHAPEPATH.

  • Le mapfile a une structure hiérarchisée, avec l’objet Map constituant la racine (“root”). Tous les autres objets sont rattachés à celui-ci.

  • Les commentaires sont indiqués par le caractère #.

  • Les attributs sont désignés en utilisant la syntaxe suivante : [ATTRIBUTENAME]

    Note

    Le nom de l’attribut entre les crochets EST sensible à la casse. Généralement les fichiers shape ESRI ont leurs propres attributs (noms de colonnes .dbf) en majuscules, et pour PostGIS, les minuscules sont TOUJOURS utilisées.

  • Les expressions régulières dans MapServer sont utilisées à travers la bibliothèque C du système d’exploitation. Pour plus d’informations sur l’utilisation et la syntaxe de votre système, vous devriez lire la documentation fournie avec votre bibliothèque C. Sur Linux il s’agit de la GLibC et vous pouvez lire “man 7 regex”... Cette page d’aide est disponible sous différents systèmes UNIX. Comme ces expressions régulières sont conformes à POSIX, elles devraient être identiques sous Windows, aussi les utilisateurs Windows peuvent essayer de rechercher sur Internet “man 7 regex” puisque ces pages y sont disponibles.