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 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

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

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.

la documentation de MapServer a écrit:

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

 

Pied de page des forums

Powered by FluxBB