Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Tue 27 May 2008 11:22

geocarto28
Participant occasionnel
Date d'inscription: 8 May 2008
Messages: 21

MapServer : Fonctionnement TEMPLATE

Bonjour,

Après avoir créé un mapfile (Paris.map) en mode map (carte statique), j'aimerais rendre mes cartes interactives (mode Browse) en leur ajoutant une légende, une échelle, un zoom, une sélection des couches...
Ces divers paramètres ont bien été renseignés dans le mapfile. Puis 2 fichiers ont été créés en suivant les indications du tutorial (section 2) : un fichier HTML (Paris.html) et un fichier HTML TEMPLATE (Paris_template.html) qui sert de modèle à MapServer.
Donc dans le mapfile, on a rajouté ce bloc WEB :

Code:

WEB
 TEMPLATE 'c:/ms4w/apps/France/htdocs/Paris.html'
 IMAGEPATH 'c:/ms4w/tmp/ms_tmp/'
 IMAGEURL 'c:/ms_tmp/'
END

Et le problème surgit lors du chargement de la page web :

http://localhost/cgi-bin/mapserv.exe?map=/ms4w/apps/France/htdocs/Paris.map
&layer=arrondissements&mode=browse&root=/France
&program=/cgi-bin/mapserv.exe&map_web=template+Paris.html

loadWeb(): General error message. URL-based TEMPLATE configuration failed pattern validation.

Merci d'avance pour vos conseils :-)

Dernière modification par geocarto28 (Tue 27 May 2008 12:05)

Hors ligne

 

#2 Tue 27 May 2008 11:29

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9869
Site web

Re: MapServer : Fonctionnement TEMPLATE

Bonjour,

Quel est le contenu de Paris.html ?

Y.


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

#3 Tue 27 May 2008 11:58

geocarto28
Participant occasionnel
Date d'inscription: 8 May 2008
Messages: 21

Re: MapServer : Fonctionnement TEMPLATE

Voici le contenu du fichier Paris.html :

Code:

<html>
<head>
<title>MapServer Paris</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link type="text/css" rel="stylesheet" href="[root]/ms35.css" />
</head>

<body bgcolor="#FFFFFF" text="#000000">
<table align="center" border="0"><tr>
    <td> <h3 align="center">carte interactive</h3>
 
<!-- START OF MAPSERVER FORM -->
<form name="mapserv" method="GET" action="[program]">

<!-- HIDDEN MAPSERVER CGI VARIABLES -->
    <input type="hidden" name="root" value="[root]">
    <input type="hidden" name="program" value="[program]">
    <input type="hidden" name="map_web" value="[map_web]">
    <input type="hidden" name="map" value="[map]">
    <input type="hidden" name="imgext" value="[mapext]">
    <input type="hidden" name="imgxy" value="[center]">

<table width="600" border="2" align="center">
  <tr>
    <td>
    <table width="400" border="1" align="center">
      <tr>
         <td colspan="4">Select Layers:
<!-- SPECIFY VECTOR LAYERS -->
          <input type="checkbox" name="layer" value="arrondissements" [arrondissements_check] checked>
           arrondissements&nbsp;
          <input type="checkbox" name="layer" value="ZAC" [ZAC_check]>
          ZAC&nbsp;
          <input type="checkbox" name="layer" value="ZAD" [ZAD_check]>
          ZAD<br>          
<!-- SPECIFY MAP MODE -->
          <div align="center">Map Mode:<br>
        <select name="mode">
          <option value="browse" [browse_select]>Browse</option>
        </select>
          </div>
        </td>
        <td>
<!-- FORM SUBMIT BUTTON -->
          <div align="center">
        <input type="submit" name="submit" value="Refresh">
          </div>
        </td>
        <td>
<!-- ZOOM/PAN CONTROLS -->
          <div align="center">Map Control: <br>
        <select name="zoom">
          <option value="4" [zoom_4_select]>Zoom In 4x</option>
          <option value="3" [zoom_3_select]>Zoom In 3x</option>
          <option value="2" [zoom_2_select]>Zoom In 2x</option>
          <option value="1" [zoom_1_select]>Recenter</option>
          <option value="-2" [zoom_-2_select]>Zoom Out 2x</option>
          <option value="-3" [zoom_-3_select]>Zoom Out 3x</option>
          <option value="-4" [zoom_-4_select]>Zoom Out 4x</option>
        </select>
          </div>
        </td>
<!-- REFERENCE AND LEGEND COLUMN -->
<!-- DISPLAY THE MAPSERVER-CREATED MAP IMAGE -->
        <td colspan="3" align="center" valign="top">
          <input type="image" name="img" src="[img]" width="400"
           height="300" border="0">
        </td>
      </tr>
    </table>
    </td>
  </tr>
</table>
</form>
</td>
</table>
</body>
</html>

ps : vector layers = fichiers MapInfo .TAB

Dernière modification par geocarto28 (Tue 27 May 2008 12:07)

Hors ligne

 

#4 Tue 27 May 2008 12:01

geocarto28
Participant occasionnel
Date d'inscription: 8 May 2008
Messages: 21

Re: MapServer : Fonctionnement TEMPLATE

Et le contenu de mon fichier TEMPLATE est le suivant :

Code:

<html>
<head>
<title>Paris Template Source</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link type="text/css" rel="stylesheet" href="/tutorial/ms35.css" />
</head>
<body>
<table width="600" align="center">
<tr>
<td> <h3 align="center">Paris HTML Template</h3>
<hr>
<xmp>
<html>
<head>
<title>MapServer Paris</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link type="text/css" rel="stylesheet" href="/tutorial/ms35.css" />
</head>

<body bgcolor="#FFFFFF" text="#000000">
<table align="center" border="0"><tr>
    <td> <h3 align="center">Carte interactive</h3>

<!-- START OF MAPSERVER FORM -->
<form name="mapserv" method="GET" action=[b]"/cgi-bin/mapserv.exe"[/b]>

<!-- HIDDEN MAPSERVER CGI VARIABLES -->
    <input type="hidden" name="map" value="[map]">
    <input type="hidden" name="imgext" value="[mapext]">
    <input type="hidden" name="imgxy" value=[b]"199.5 149.5"[/b]>
<table width="600" border="0" align="center">
  <tr>
    <td>
    <table width="400" border="1" align="center">
      <tr>
         <td>
<!-- SPECIFY VECTOR LAYERS -->
<!-- SPECIFY MAP MODE -->
          <div align="center">Map Mode:<br>
        <select name="mode">
          <option value="browse" [browse_select]>Browse</option>
        </select>
          </div>
        </td>
        <td>
<!-- FORM SUBMIT BUTTON -->
          <div align="center">
        <input type="submit" name="submit" value="Refresh">
          </div>
        </td>
        <td colspan="4">Select Layers:
<!-- SPECIFY VECTOR LAYERS -->
          <input type="checkbox" name="layer" value="arrondissements" [arrondissements_check] checked>
           arrondissements&nbsp;
          <input type="checkbox" name="layer" value="ZAC" [ZAC_check]>
          ZAC&nbsp;
          <input type="checkbox" name="layer" value="ZAD" [ZAD_check]>
          ZAD<br>      
<!-- ZOOM/PAN CONTROLS -->
          <div align="center">Map Control: <br>
        <select name="zoom">
          <option value="4" [zoom_4_select]>Zoom In 4x</option>
          <option value="3" [zoom_3_select]>Zoom In 3x</option>
          <option value="2" [zoom_2_select]>Zoom In 2x</option>
          <option value="1" [zoom_1_select]>Recenter</option>
          <option value="-2" [zoom_-2_select]>Zoom Out 2x</option>
          <option value="-3" [zoom_-3_select]>Zoom Out 3x</option>
          <option value="-4" [zoom_-4_select]>Zoom Out 4x</option>
        </select>
          </div>
        </td>
<!-- REFERENCE AND LEGEND COLUMN -->
<!-- DISPLAY THE MAPSERVER-CREATED MAP IMAGE -->
        <td colspan="3" align="center" valign="top">
          <input type="image" name="img" src="[img]" width="400" 
           height="300" border="0">
        </td>
      </tr>
    </table>
    </td>
  </tr>
</table>
</form>
</td>
</table>
</body>
</html>

Dernière modification par geocarto28 (Tue 27 May 2008 12:04)

Hors ligne

 

#5 Tue 27 May 2008 12:05

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9869
Site web

Re: MapServer : Fonctionnement TEMPLATE

Bonjour,

Je ne vois rien qui pose problème (mais je connais mal ce mode d'utilisation de mapserver). Tu peux tenter en enlevant une partie du contenu pour retrouver la ligne qui fait planter le script CGI. Ou bien tenter d'activer les logs de mapserver.

Y.


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

#6 Tue 27 May 2008 12:11

geocarto28
Participant occasionnel
Date d'inscription: 8 May 2008
Messages: 21

Re: MapServer : Fonctionnement TEMPLATE

Ok merci, je vais alléger le contenu des 2 fichiers HTML et voir si le problème se reproduit.
Qu'entends-tu par "activer les logs MapServer" ?

Autrement, je viens de penser à truc : le fait que l'extension.TAB des couches vecteur n'est pas précisée dans la partie <! -- SPECIFY VECTOR LAYERS -->, ne pose pas de souci ?

Hors ligne

 

#7 Tue 27 May 2008 12:16

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9869
Site web

Re: MapServer : Fonctionnement TEMPLATE

Bonjour,

geocarto28 a écrit:

Ok merci, je vais alléger le contenu des 2 fichiers HTML et voir si le problème se reproduit.
Qu'entends-tu par "activer les logs MapServer" ?


Il y a possibilité pour que mapserver envoie des informations dans des fichiers de log (généralement inclus dans ceux d'Apache).

geocarto28 a écrit:

Autrement, je viens de penser à truc : le fait que l'extension.TAB des couches vecteur n'est pas précisée dans la partie <! -- SPECIFY VECTOR LAYERS -->, ne pose pas de souci ?


Je ne pense pas.

Y.


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

#8 Wed 28 May 2008 11:00

ElDeivid
Juste Inscrit !
Lieu: 80 Rue du Dessous des Berges
Date d'inscription: 3 May 2006
Messages: 4
Site web

Re: MapServer : Fonctionnement TEMPLATE

Bonjour.
Essei avec ton address:
http://localhost/cgi-bin/mapserv.exe?map=/ms4w/apps/France/htdocs/Paris.map Simplement car map server applel a Paris.html directement.
Si no, pour debuger tu peux ayouter a tes  objets MAP et Layers l'option DEBUG ON (ou un valeur numerique de 1 a 5 le 5 est plus detaille)

Hors ligne

 

#9 Thu 29 May 2008 09:33

geocarto28
Participant occasionnel
Date d'inscription: 8 May 2008
Messages: 21

Re: MapServer : Fonctionnement TEMPLATE

Bonjour,

Après vérification du mapfile et des fichiers HTML et Template, l'os venait du mapfile dans lequel on avait omis le paramètre
TEMPLATEPATTERN 'toto*'...
En voici le code corrigé :


Code:

MAP
  NAME Paris
  IMAGETYPE      JPEG
  EXTENT         530000 142000 535000 150000
  UNITS          meters
  SIZE           800 800
  SHAPEPATH      "../data"
  IMAGECOLOR     220 240 255
  SYMBOLSET      "/ms4w/apps/tutorial/symbols/symbols35.sym"
  FONTSET        "/ms4w/apps/tutorial/fonts/fonts.list"
  TEMPLATEPATTERN 'Paris*' 
  ...etc.

A bientôt

Dernière modification par geocarto28 (Thu 29 May 2008 09:35)

Hors ligne

 

#10 Tue 01 December 2009 11:01

Fritsch
Participant occasionnel
Lieu: Paris
Date d'inscription: 8 Nov 2006
Messages: 32

Re: MapServer : Fonctionnement TEMPLATE

Bon, m'étant frotté au même problème, je me permets de dépoussiérer ce sujet.

1- Le message d'erreur est dû au fait que MapServer n'arrive pas à apparier la commande map_web=template+Paris.html avec un objet du mapfile.

2- Cette commande de map_web sert à basculer dynamiquement d'un template vers un autre. Ici, il ne bascule rien, car il reste sur Paris.html, mais en vrai, c'est à cela qu'il sert.

3- pendant ce temps là, le fichier Paris_template.html ne sert à rien. En fait, c'est lui qui doit figurer, soit dans la commande map_web=, soit dans l'objet WEB du mapfile.

4- le barrage du TEMPLATEPATTERN ressemble à une sécurité, et la proposition '.' me semble un peu trop permissive.

Et deux références :
http://n2.nabble.com/Changing-layer-tem … 72037.html
http://mapserver.org/cgi/controls.html# … m-or-a-url

Emmanuel.

Dernière modification par Fritsch (Tue 01 December 2009 11:09)

Hors ligne

 

Pied de page des forums

Powered by FluxBB