#1 Thu 17 April 2014 11:27
- Georgie
- Participant assidu
- Date d'inscription: 28 May 2011
- Messages: 232
Afficher données attributaires WMS Postgres-MapServ
Bonjour à tous !
Je cherche toujours aussi désespérément à afficher les données attributaires d'une couche Postgres sur une carte, via un popup d'info.
Carte sur laquelle s'affichent déjà proprement les données géographiques.
GetFeaturesInfo, queryable, include items... J'ai essayé toutes les syntaxes possibles, without succeed...
Je n'ai aucune erreur sur l'interface, mais ça me renvoie sans cesse :
msWMSFeatureInfo(): WMS server error. Requested layer(s) are not queryable.
Je me sentirais vraiment redevable envers celui ou celle qui me débloquera ça ! J'ai fait une interface où on peut visualiser tous les éléments, y compris le code du Mapfile, ici :
http://hg-map.fr/maps.html
Il s'agit de la 1ère carte nommée "Rokin".
Merci d'avance à ceux qui ont le temps de jeter un œil !!!
Dernière modification par Bruno (Sun 20 April 2014 06:20)
Hors ligne
#2 Thu 17 April 2014 12:57
- Laurent Jégou
- Participant assidu
- Lieu: Toulouse
- Date d'inscription: 5 Sep 2005
- Messages: 447
- Site web
Re: Afficher données attributaires WMS Postgres-MapServ
Est-ce que, dans le mapfile, le layer possède un paramètre TEMPLATE (même factice) ?
Dernière modification par Laurent Jégou (Thu 17 April 2014 12:57)
Enseignant-Chercheur en Géomatique
UT2J - Dept Géo / CNRS UMR LISST-Cieu / Master Sigma - Revue Mappemonde
Hors ligne
#3 Thu 17 April 2014 13:28
- Georgie
- Participant assidu
- Date d'inscription: 28 May 2011
- Messages: 232
Re: Afficher données attributaires WMS Postgres-MapServ
Bonjour Laurent, et merci de vos conseils.
Oui j'avais mis le paramètre TEMPLATE, puis retiré, puis là je viens de le remettre. Ce qui me donne actuellement ceci à l'intérieur du bloc LAYER :
Code:
TEMPLATE "templates/content.html" HEADER "templates/header.html" FOOTER "templates/footer.html"
Aucun de ces fichiers n'existe.
L'appli me renvoie maintenant ceci dans le popup :
Content-type: application/vnd.ogc.se_xml msReturnPage(): Unable to access file. templates/header.html
Rappel : vous pouvez visualiser à quoi ressemble mon Mapfile ici : http://hg-map.fr/vision_mapfile_evenement.html
Any idea ?
Dernière modification par Georgie (Thu 17 April 2014 13:29)
Hors ligne
#4 Thu 17 April 2014 13:54
Re: Afficher données attributaires WMS Postgres-MapServ
Bonjour,
Le TEMPLATE est dans l'objet LAYER (et obligatoire), les deux autres HEADER et FOOTER ne sont pas utile sauf si vous désirez faire un GetFeatureInfo en HTML.
Depuis MapServer 4.6, vous devez obligatoirement définir la métadonnée gml_* pour les attributs de la couche qui doivent être renvoyés (voir l’objet METADATA du bloc LAYER dans la section de référence plus loin dans ce document). Pour inclure les géométries, gml_geometries et gml_[nom_de_la_géométrie]_type doivent être spécifié.
Vérifie également que wms_enable_request (ou ows_enable_request) autorise(nt) bien le GetFeatureInfo.
Tu peux aussi récupérer :
1. le GetCapabilites et vérifier que la couche en question est bien noté comme "queryable"
2. la requête envoyée par OpenLayers et travailler dessus (éventuellement vérifier qu'elle est correcte).
Sinon postes le bout de mapfile : LAYER + le début dans un message pour que l'on vérifie celui-ci.
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
#5 Thu 17 April 2014 14:41
- Georgie
- Participant assidu
- Date d'inscription: 28 May 2011
- Messages: 232
Re: Afficher données attributaires WMS Postgres-MapServ
Ok merci des infos.
A priori, j'ai déjà testé toutes ces syntaxes, mais sans doute mal, et/ou dans le mauvais ordre...
Voici le bloc WEB et le bloc LAYER :
Rappel : vous pouvez visualiser l'intégralité du mapfile ici : http://hg-map.fr/vision_mapfile_evenement.html
Code:
... WEB METADATA "wms_title" "evenements" "wms_include_items" "all" "gml_include_items" "all" "wms_onlineresource" "http://hg-map.fr/cgi-bin/mapserv?map=./mapfiles/rokin/evenements.map&" "wms_srs" "epsg:4326" "wms_enable_request" "GetMap GetCapabilities GetFeatureInfo DescribeLayer GetLegendGraphic" "wms_feature_info_mime_type" "text/html" "queryable" "true" END END ... LAYER CONNECTIONTYPE POSTGIS NAME "evenements" CONNECTION "user=xxx password=xxx dbname=xxx host=xxx port=5432" DATA "geom from evenements" STATUS DEFAULT TYPE POINT TEMPLATE "templates/content.html" HEADER "templates/header.html" FOOTER "templates/footer.html" DUMP TRUE METADATA "ows_title" "layer_evenements" "ows_include_items" "all" "ows_enable_request" "*" "gml_include_items" "all" "wms_title" "layer_evenements" "wms_srs" "epsg:4326" "wms_enable_request" "GetMap GetCapabilities GetFeatureInfo DescribeLayer GetLegendGraphic" "queryable" "true" END PROJECTION "init=epsg:4326" END CLASS NAME 'style_evenements' STYLE SYMBOL 'circle' SIZE 16 COLOR 255 0 0 #Couleur du fond OUTLINECOLOR 0 0 0 #Couleur des bordures END END END
Alors alors !?! Pour une fois je serais content d'apprendre que j'ai fait une erreur, car ça voudrait dire qu'on sait OÛ est l'erreur !!!
Hors ligne
#6 Sat 19 April 2014 08:30
- Laurent Jégou
- Participant assidu
- Lieu: Toulouse
- Date d'inscription: 5 Sep 2005
- Messages: 447
- Site web
Re: Afficher données attributaires WMS Postgres-MapServ
Enseignant-Chercheur en Géomatique
UT2J - Dept Géo / CNRS UMR LISST-Cieu / Master Sigma - Revue Mappemonde
Hors ligne
#7 Sun 20 April 2014 06:16
- obedel
- Juste Inscrit !
- Date d'inscription: 9 Mar 2008
- Messages: 1
Re: Afficher données attributaires WMS Postgres-MapServ
Bonjour,
Essayez en rajoutant
TEMPLATE fooOnlyForWMSGetFeatureInfo
dans la définition de votre couche.
Olivier.
--
Olivier BEDEL
ALKANTE SAS
Ingénieur R&D SIG
Parc d'activités des Vents d'Ouest
4, rue Alain Colas
35 530 Noyal Sur Vilaine
Bur: + 33 (0) 2 99 22 25 70
fax : + 33 (0) 2 99 32 12 76
Hors ligne
#8 Wed 23 April 2014 13:42
- Georgie
- Participant assidu
- Date d'inscription: 28 May 2011
- Messages: 232
Re: Afficher données attributaires WMS Postgres-MapServ
Bonjour et merci de vos infos.
Cependant j'ai testé les 2 solutions sans succès !
Après ajout d'un fichier template, j'ai ça :
Code:
Web application error. Missing magic string, content.html doesn't look like a MapServer template.
Cela doit venir de mon mapfile qui doit définitivement avoir des erreurs !
Je pense que je vais donc repartir à zéro, sur l'exemple fourni par Laurent, où la personne a résolu son pb !
Dernière modification par Georgie (Wed 23 April 2014 13:47)
Hors ligne
#9 Thu 24 April 2014 13:35
- nworr
- Participant actif
- Date d'inscription: 10 Apr 2014
- Messages: 77
Re: Afficher données attributaires WMS Postgres-MapServ
Le 'magic string' qui manque c'est "mapserver template" qu'il faut placer dans le fichier content.html
Généralement en commenataire HTML "<!-- mapserver template -->" pour qu'il ne soit pas affichée.
Hors ligne
#10 Fri 25 April 2014 19:45
- Georgie
- Participant assidu
- Date d'inscription: 28 May 2011
- Messages: 232
Re: Afficher données attributaires WMS Postgres-MapServ
Ouaaaa !!!
Et bien un grand merci à tous et particulièrement à Nworr, c'est toujours le p'tit détail qui fait plaiz !!!
C'est bon ça marche parfaitement, récupération des données attributaires !
Encore merci !
Hors ligne