Skip to Content

Foire Aux Questions - Quels sont les types de données utilisables ?

Auteur : L.Jégou

MapServer peut aussi intégrer, traiter et afficher des données géospatiales distantes, qui lui sont servies par des serveurs de bases de données et des serveurs géospatiaux.

  • Serveurs de données géospatiales

Les paramètres de connexion au serveur sont fournis dans le mapfile par une chaîne de caractères passée en valeur au paramètre CONNECTION. Le paramètre FILTER peut contenir une expression de requête SQL (c'est à dire le texte venant après un élément SQL WHERE).

    • ArcSDE
CONNECTIONTYPE sde
CONNECTION "myhost,esri_sde,gisdb,userid,password"
DATA table, colonne_geom
    • PostGIS
CONNECTIONTYPE postgis
CONNECTION "user=nom_utilisateur dbname=nom_bdd host=serveur"
DATA "colonne_géométrique FROM table_ou_requête_SQL"
    • Oracle Spatial
CONNECTIONTYPE oraclespatial
CONNECTION "nom_utilisateur/mot_de_passe@bdd"
DATA "colonne_géométrique FROM table_ou_requête_SQL"

 

  • Serveurs à la norme Web Map Service (WMS) de l'OGC.

L'utilisation d'une source WMS nécéssite la présence d'un bloc PROJECTION dans le bloc MAP, ainsi que l'utilisation d'un bloc METADATA qui va préciser la requête faite au serveur.

Exemple :

CONNECTION "http://www2.dmsolutions.ca/cgi-bin/mswms_gmap?"
CONNECTIONTYPE WMS
METADATA

"wms_srs" "EPSG:42304 EPSG:42101 EPSG:4269 EPSG:4326 EPSG:42304"
"wms_name" "prov_bound" "wms_server_version" "1.1.0"
"wms_formatlist" "image/gif,image/png,image/jpeg,image/wbmp"
"wms_format" "image/gif"

END

Auteur : L.Jégou

MapServer accepte un grand nombre de formats données raster, là encore grâce à la bibliothèque de fonctions GDAL. Sans cette bibliothèque seuls quelques formats rasters géoréférencés sont supportés : GeoTIF, tif*, gif*, png*, jpeg*, et Erdas Lan.

Les possibilités raster de votre installation de MapServer vont donc essentiellement dépendre des capacités de GDAL qui ont été spécifiées lors de sa compilation. Pour savoir si votre installation MapServer supporte GDAL, vous pouvez lancer la commande "mapserv -v". Pour savoir quels sont les formats gérés par votre installation de GDAL, vous pouvez lancer la commande "gdal-config -formats".

La source d'information la plus intéressante à ce sujet est la page HowTo rédigée par Franck Warmerdam sur le site de MapServer.

Pour ajouter une couche raster à un mapfile, voici la syntaxe du bloc LAYER :

LAYER
  NAME "Scan"
  DATA "Toulouse.tif"
  TYPE RASTER
  STATUS ON
END


Les données raster géoréférencées sont gérées avec le paramètre TYPE raster, le paramètre DATA devant pointer vers le fichier (et son éventuel chemin relatif à SHAPEPATH). GDAL supporte un grand nombre de formats de fichier, cf. http://gdal.org/formats_list.html

MapServer possède quelques fonctions de traitement des rasters, accessibles avec le paramètre PROCESSING. GDAL est capable de réaliser des traitements de rééchantillonage / mise à l'échelle (SCALE), de tramage (DITHERING), et de sélection de bande (BAND). Cf . la documentation spécifique aux données raster : http://mapserver.gis.umn.edu/docs/howto/raster_data.

Les sources de données raster composées de nombreux fichiers juxtaposés sont gérables en une seule fois par MapServer, sous la forme d'un tuilage (tiles en anglais). Ce tuilage consiste en un fichier shape qui contient des objets polygone représentant l'extension de chaque tuile raster, et ayant comme attribut le nom du fichier. Ce type de tuilage peut être produit avec l'utilitaire gdaltindex distribué avec GDAL. Cela permet une gestion beaucoup plus rapide des grandes couvertures raster, notamment si les bitmaps sont eux aussi optimisés pour être lus à différentes résolutions (index pyramidal dans les tif par exemple).

MapServer est en outre capable de segmenter une source raster, c'est à dire regrouper les pixels selon leur valeur en classes de couleur (cf. la question sur la segmentation des images raster).

 

* pour ces formats d'image, le géoréférencement est précisé par un fichier worldfile.

Auteur : L.Jégou
  • Shapefiles

Les shapefiles sont la source de données la plus courante pour MapServer, qui au départ était construit uniquement autour de ce format (bibliothèque shapelib). On indique que la source de données du layer est un shapefile avec le paramètre DATA, qui prend comme valeur le chemin vers le shapefile, relatif au chemin SHAPEPATH (l'extension .shp est inutile). Le paramètre FILTER permet d'utiliser les expressions régulières pour filtrer les objets de la source de données au niveau du bloc LAYER, c'est à dire avant le traitement des blocs CLASS qui peuvent eux aussi comporter une sélection.

L'utilisation d'une source de données shapefile offre de plus la possibilité de lier (jointure) une table dbf de données attributaires, en utilisant un bloc secondaire JOIN.

  • Couches vectorielles accédées avec [OGR]

La bibliothèque de fonctions OGR permet à MapServer de lire un grand nombre de formats SIG vectoriels : http://www.gdal.org/ogr/ogr_formats.html.

Pour indiquer une source de données OGR, il faut utiliser la syntaxe suivante :

CONNECTIONTYPE OGR
CONNECTION [nom de la source]

Ce dernier paramètre dépend du type de source, généralement il s'agit du chemin relatif au SHAPEPATH et du nom du fichier, ou du nom du répertoire (source ArcInfo coverage par exemple). Certains types de sources vectorielles sont organisés en couches multiples par fichier, il faut donc choisir la couche à utiliser avec le paramètre DATA [numéro/nom de la couche]. MapServer peut aussi récupérer en partie les éventuels styles d'affichage présents dans les couches, avec le paramètre STYLEITEM AUTO. Le paramètre FILTER est utilisable aussi avec ce type de données, comme pour les shapefiles.


La source d'information la plus complète à ce sujet est la page de documentation de MapServer qui lui est dédiée, nous vous y renvoyons pour un descriptif plus détaillé des formats de fichiers compatibles. En voici simplement la liste, classée par forme.

  • Fichiers
    • ESRI Shapefiles (SHP)
    • MapInfo (TAB/MID/MIF)
    • Geography Markup Language (GML)
    • Microstation Design (DGN)
    • IHO S-57 Files
    • GRASS (à partir de la version 6.0)
  • Répertoires
    • ESRI Binary Coverages (ADF)
    • TIGER (Rencensement US)
    • Spatial Data Transfer Standard (SDTS)
    • National Transfer Format (NTF, format du Royaume-Uni)
  • Bases de données spatiales
    • PostGIS / PostgreSQL
    • MySQL MyGIS
    • Oracle Spatial
    • ESRI ArcSDE (SDE)
    • Web Feature Service (WFS)
    • Virtual Spatial Data (ODBC/OVF)
    • Diverses sources via ODBC (ESRI Personal GeoDatabase par exemple)