MapServer Demo Application
Installation Instructions

Pericles S. Nacionales
pnaciona@gis.umn.edu
02 February, 2002

Traduction : F.A VAN DEN BUSSCHE (Club des Utilisateurs Linux de Toulouse et des environs - CULTe
Relecture : Nathalie VIELMAS (Club des Utilisateurs Linux de Toulouse et des environs - CULTe)

Ce document donne les instructions de base pour paramétrer l'application de démonstration de MapServer.  Il est considéré ici que le programme CGI de MapServer ( mapserv ou mapserv.exe) a été installé sur le serveur oueb dans le répertoire cgi-bin.

_______________________________________________________________________________

Table of Contents

1. Introduction

2. Installation

3. Information supplémentaire

4. Remerciements

_______________________________________________________________________________

1. Introduction

Ce document décrit comment paramétrer une carte et les paramètres d'un fichier de mise en forme pour qu'ils fonctionnent avec le logiciel CGI MapServer installé et l'ensemble de données de démonstration. Il est considéré ici que le programme CGI de MapServer (mapserv ou mapserv.exe) a été compilé et installé dans le répertoire cgi-bin du serveur oueb, et que le serveur oueb est en fonctionnement. De même ce document, conçu pour les utilisateurs Unix, contient aussi des  instructions pour les utilisateurs Windows.

Note sur l'utilisation des chemins pour WINDOWS, UNIX, et URL:
Quand des chemins ou des répertoires sont spécifiés, WINDOWS utilise le backslash (\) alors que UNIX utilise le slash normal (/). Dans un chemin d'URL ce sont toujours les slash normaux qui sont utilisés.

2. Installation

Si vous ne l'avez déjà fait, téléchargez la démonstration MapServer 3.5 depuis http://mapserver.gis.umn.edu/dist/itasca3.5.tar.gz. Enregistrez et copiez cet élément dans un répertoire accessible par le serveur oueb ("/home/httpd/htdocs" ou "C:\Inetpub\wwwroot"). Décompressez et détarez les fichiers de démonstration.

L'une de ces deux commandes suivantes doit faire ça pour vous.

        gunzip -c itasca3.5.tar.gz | tar xvf -

        tar xzvf itasca3.5.tar.gz

(Si vous êtes un utilisateur Windows, WinZip ou les utilitaires similaires peuvent décompresser ce paquetage pour vous.)

Comme exemple, je vais extraire mes fichiers dans "/home/httpd/htdocs" qui est aussi mon répertoire principal oueb. Si j'utilisais Windows NT et IIS 4.0, je devrais extraire les fichiers dans "C:\Inetpub\wwwroot". Ceci devrait décompresser plusieurs fichiers dans un  répertoire ainsi:
/home/httpd/htdocs/itasca
                                            /CVS
                                            /data
                                            /graphics
                                            /perl
                                            /symbols

Ou pour Windows NT:
C:\Inetpub\wwwroot\itasca
                                            \CVS
                                             \data
                                             \graphics
                                             \perl
                                             \symbols

Si vous utilisez Apache sur une plateforme Windows, vous devez décompresser le paquetage de démonstration dans votre répertoire htdocs, typiquement dans   C:\Program Files\Apache Group\Apache\htdocs.

Pour que cette démonstration fonctionne avec votre MapServer, vous devrez modifier trois fichiers--le fichier HTML d'initialisation de l'application (demo_init.html), le fichier mapfile (demo.map), et le fichier HTML principal de mise en forme (demo.html).

2.1 Le fichier demo_init.html

Un des trois fichiers, dans cette démonstration, que l'utilisateur doit modifier est le "demo_init.html". C'est un fichier HTML qui soumet les paramètres initiaux au CGI MapServer. Vous avez besoin de vérifier que le programme CGI  MapServer correct est appelé. Pour UNIX, le programme se nomme "mapserv" et est appelé depuis le répertoire cgi-bin comme "/cgi-bin/mapserv". Pour Windows NT, il se nomme "mapserv.exe" et est invoqué par "/cgi-bin/mapserv.exe". Cherchez la ligne:

        <form method=GET action="/cgi-bin/mapserv">

et changez pour l'information appropriée. Les utilisateurs Unix n'ont pas besoin de changer celà et les utilisateurs Windows devront ajouter l'extension ".exe". 

1.) Maintenant, voyons la ligne:

        <input type="hidden" name="map" value="/usr/local/apache/htdocs/mapserver_demos/itasca/demo.map">

et changez la avec le nouveau chemin de votre fichier demo.map. Dans mon exemple, ceci devrait donner:

        <input type="hidden" name="map" value="/home/httpd/htdocs/itasca/demo.map">

ou pour Windows,

        <input type="hidden" name="map" value="c:\Inetpub\wwwroot\itasca\demo.map">

2.) Si vous êtes sous Windows, cherchez la ligne:

        <input type="hidden" name="program" value="/cgi-bin/mapserv">

et changez la en:

        <input type="hidden" name="program" value="/cgi-bin/mapserv.exe">

3.) Cherchez la ligne:

        <input type="hidden" name="map_web_imagepath" value="/usr/local/apache/htdocs/tmp/">

Si vous êtes sous Unix, vous n'avez probablement pas à la changer mais si vous utilisez Windows, remplacez-la par:

        <input type="hidden" name="map_web_imagepath" value="C:\inetpub\wwwroot\tmp\">

Si vous n'avez pas de répertoire temporaire "tmp" sous C:\Inetpub\wwwroot\, créez en un et autorisez les utilisateurs à y écrire. Les utilisateurs Windows 95/98 n'ont probablement pas à s'inquiéter de ces autorisations. C'est avec Windows NT/2000 que vous en avez besoin. C'est le répertoire dans lequel MapServer écrira toutes les cartes générées.

4.) Enfin, cherchez la ligne:

        <input type="hidden" name="map_web_imageurl" value="/tmp/">

Ceci indique comment "imagepath" devra apparaître dans votre URL, en fonction de votre site oueb principal ("http://my.web.root"). C'est tout ce que vous avez à faire dans ce fichier.

2.2 Le MapFile

Le mapfile est le fichier de configuration de l'application dans MapServer. C'est dans celui-ci que vous spécifiez les répertoires, fichiers de mise en forme et fichiers de données. C'est aussi ici que les couches de données sont décrites et "classifiées". Pour cette démonstration nous avons besoin de nous assurer que la ligne "WMS_ONLINERESOURCE" pointe sur votre fichier demo_init.html. Aussi cherchez la ligne "WMS_ONLINERESOURCE "http://localhost.localdomain/mapserver_demos/itasca/demo_init.html"" et remplacez la par votre propre URL. Votre URL devrait ressembler à: "http://my.web.server/itasca/demo_init.html" (remplacez "my.web.server" par votre adresse réelle, ou utilisez "localhost").

2.3 Le fichier HTML de mise en forme

Si vous avez effectué les modifications nécessaires dans les fichiers demo_init.html et demo.map vous n'avez pas à intervenir sur le fichier demo.html. Notez, dans tous les cas, comment les noms des couches de votre fichier demo.map utilisent le fichier de mise en forme demo.html. Celà sera important lorsque vous commencerez à modifier les couches.

A partir d'ici tout a été fait. Vérifiez que votre serveur oueb et le programme CGI de MapServer fonctionnent correctement. Faites un essai en ouvrant dans votre navigateur "http://localhost/cgi-bin/mapserv" ou "http://localhost/cgi-bin/mapserv.exe". Ceci devrait vous renvoyer le message suivant:
No query information to decode. QUERY_STRING is set, but empty.

Si c'est le cas c'est que votre programme CGI MapServer fonctionne normalement. Vous pouvez maintenant essayer la démonstration en donnant l'adresse du demo_init.html dans votre navigateur oueb: http://localhost/itasca/demo_init.html. Félicitations, vous avez installé l'application de démonstration MapServer. Bon, si vous obtenez des erreurs vérifiez les messages suivants.

2.4 Messages d'erreur habituels

En pointant avec un navigateur l'adresse http://host/itasca/demo_init.html et en cliquant sur le bouton d'initialisation ('initialize') vous obtenez:

Vous avez probablement oublié de spécifier le nom complet du mapfile dans le fichier demo_init.html. Par exemple, changez:

<input type="hidden" name="map" value="itasca/demo.map">

en:

<input type="hidden" name="map" value="/var/www/htdocs/itasca/demo.map">

 

Cette erreur peut se produire si vous avez une nouvelle version (>1.6(?)) de la bibliothèque GD installée qui ne supporte pas les images GIF, et, que vous avez un fichier de symboles qui contient ce type d'image. Un moyen de contournement est de commenter toutes parties du fichier .map qui font référence à des fichiers de symboles contenant des images gif, et les couches qui invoquent ces symboles. Par exemple:

#MARKERSET symbols/marker.sym
...
#LAYER
#  NAME roads
#  MAXSCALE 300000
#  STATUS ON
#  DATA ctyrdln3
#  TYPE ANNOTATION
#  LABELITEM "road_name"
#  CLASS
#    COLOR 255 255 255
#    SYMBOL 'county_highway_shield' # <= the 'bad' line
#    LABEL
#      MINFEATURESIZE 40
#      MINDISTANCE 150
#      POSITION CC
#      SIZE TINY
#      COLOR 0 0 0
#    END
#  END
#END # county road annotation

Une autre alternative consiste à ne commenter que la partie CLASS plutôt que la totalité de la couche.

C'est probablement le même problème que précédemment: pas de support GIF. Vérifiez si l'image REFERENCE est un .GIF. Si oui commentez le bloc REF. (C'est un moyen de contournement, pas une résolution de bug)

Vous n'avez pas fermé une construction d'objet ou de classe avec le mot clé END et la fin du fichier .map a été détectée par MapServer. Indique habituellement que l'élément END a été oublié ou a été commenté par inadvertance. (Toute construction d'objet doit se terminer par END.  Etudiez la construction LAYER de l'exemple qui précède).

A lire pour les utilisateurs Windows:
Lorsque MapServer fonctionne sous Windows 2000 et IIS 5.0, en cliquant sur le bouton "Initialize" l'utilisateur est sollicité pour choisir entre enregistrer ou télécharger le fichier mapserv (ou mapserv.exe).

Ceci est un problème lié aux droits dans IIS. Vérifiez que mapserv.exe a les droits lecture et exécution pour le compte IUSR. De même, en utilisant le gestionnaire de services (Internet Services Manager), recherchez le dossier "Scripts" (ou cgi-bin). Faites un clique droit sur ce dossier et sélectionnez les propriétés. Vérifiez que les permissions d'exécution ou de répertoire virtuel sont paramétrées en scripts et exécutables. Si non, changez les. Relancez le service oueb. (Vous devez disposer des privilèges de l'administrateur.)

2.5 Messages d'erreur de mise au point

Comment interpréter les messages d'erreur que vous pouvez rencontrer. Par exemple nous utiliserons:

      loadString(): Incorrect data type. (105):(3)

La fonction "loadString" échoue parce qu'elle a été alimentée par une donnée d'un mauvais type; Elle attendait une chaîne de caractères et elle a reçu un nombre. L'erreur s'est produite à la ligne 3 dans le fichier .map file (le compteur de ligne commence à 0).

Le dernier ensemble entre parenthèses contient le numéro de la ligne:

      (3) # ligne 3

l'ensemble entre parenthèses précédent contient la valeur que mapserv a rencontrée:

      (105)    # la ligne dans le mapfile était: NAME  105d11

Ainsi MapServer a passé "NAME 105d11" comme un nombre
quand une chaîne de caractères est attendue. Dans cet exemple
la solution est de s'assurer de mettre les valeurs entre apostrophes
quand vous avez besoin qu'elles soient interprétées comme une
chaîne de caractères plutôt que comme un nombre:

      NAME "105d11"

3. Information supplémentaire

Les instructions décrites ici constituent le moyen de parvenir à une application de démonstration fonctionnelle.  En changeant les fichiers .map et de mise en forme, vous devriez être capable de vous faire une bonne idée des capacités de base de MapServer.  Si vous avez besoin d'exemples supplémentaires il existe un guide de   MapServer disponible sur http://terrasip.gis.umn.edu/projects/tutorial.  Pour la version Windows NT de ce guide, voyez http://128.101.73.80:82/projects/tutorial.  Bien entendu, la documentation et d'autres formes d'aide, incluant la liste de diffusion des utilisateurs de MapServer et ses archives, sont disponibles sur  http://mapserver.gis.umn.edu.

4. Remerciements

Cette application de démonstration a été créée et mise à disposition par Steve Lime, e-mail: steve.lime@dnr.state.mn.us..
Les parties Messages d'erreur habituels et Messages d'erreur de mise au point ont été aimablement indiquées par Matt Wilkie, e-mail: Matt.Wilkie@gov.yk.ca.

Dernière mise à jour: 03/15/2003 17:47:57 Paris, Madrid

[Homepage]  [Download]  [Documentation]  [Support]  [Gallery]