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

#1 Sat 20 July 2013 16:41

araking
Participant actif
Date d'inscription: 8 Jul 2013
Messages: 83

[openlayers/mapsrever] GetInfoFeature

Bonjour,
je veux utiliser GetInfoFeature,alors que je ne sais même pas qu'est ce que on doit mettre dans les templates files header et footer.Ainsi ou je dois écrire les requètes sql.Merci d'avance ,j'ai vraiment besoin de votre aide.

Hors ligne

 

#2 Sat 03 August 2013 15:44

araking
Participant actif
Date d'inscription: 8 Jul 2013
Messages: 83

Re: [openlayers/mapsrever] GetInfoFeature

Bonjour,
je reprends la discussion j'a cette erreur avec firebug quand je clique sur ma carte "NS_ERROR_DOM_BAD_URI: Access to restricted URI denied" je trouve quelque réponse qui parle de proxy mais je ne sais pas quoi faire je travail avec une distribution linux

Hors ligne

 

#3 Sun 04 August 2013 02:49

araking
Participant actif
Date d'inscription: 8 Jul 2013
Messages: 83

Re: [openlayers/mapsrever] GetInfoFeature

Bonjour,
je précse un peu mon problème c'est que j'ai pas pu  ajouter le fichier proxy.cgi dans /usr/lib/cgi-bin/ à cause du droit d'accé.
Cordialement

Dernière modification par araking (Sun 04 August 2013 02:50)

Hors ligne

 

#4 Sun 04 August 2013 17:11

araking
Participant actif
Date d'inscription: 8 Jul 2013
Messages: 83

Re: [openlayers/mapsrever] GetInfoFeature

Salut,

Si je me trompe pas proxy n'a rien à voir avec un serveur wms je vous montre mon code pour mon layer:

Code:

LAYER
    NAME TUN_adm2
    CONNECTIONTYPE POSTGIS
    CONNECTION 'dbname=template_postgis user=postgres password=tarek host=localhost port=5433'
DATA 'geom from public.tun_adm2   using unique gid'

HEADER "/home/arafet/projet1/templatess/tun_header.html"
FOOTER "/home/arafet/projet1/templatess/tun_footer.html"

    STATUS ON 
    TYPE POLYGON
    METADATA
      'wms_title' 'TUN_adm2'
    END

    PROJECTION
    "init=epsg:4326"
    END
LABELITEM 'name_2'
CLASS
    template "/home/arafet/projet1/templatess/template_query.html"
    NAME "tunsie"
    COLOR 200 255 0

      LABEL
        COLOR 132 0 0
        SHADOWCOLOR 218 218 218
        SHADOWSIZE 2 2
        TYPE TRUETYPE
        FONT arial
        SIZE 11
        ANTIALIAS TRUE
        POSITION CL
        PARTIALS FALSE
        MINDISTANCE 300
        BUFFER 4
      END # end of label
      STYLE
        OPACITY 100
      END

    END
  END[

Code:

WEB
HEADER "/home/arafet/projet1/templatess/header.html"
FOOTER "/home/arafet/projet1/templatess/footer.html"

METADATA
"wms_title" "WMS_TUNISIA"
"wms_onlineresource" "http://localhost/cgi-bin/mapserv?map=/home/arafet/projet1/proj1.map&"
"wms_srs" "epsg:4326 epsg:4269 epsg:3978 epsg:3857"
"wms_enable_request" "*"
"wms_format" "image/png"
"wms_feature_info_mime_type" "text/html"

END
END

pour les template files
footer.html

Code:

</body>
</html>

header.html

Code:

<html>
<head>
<title>MapServer Demo
Interface</title>
<link type="text/css
" rel="stylesheet"
href="/ms101/ms35.css" />
</head>
<body bgcolor=#FFFFFF>
<h1 align="center"
>MapServer Query Interface</h1>

template_query.html

Code:

<tr>
<td>[name_2]</td>
<td>[id_2]</td>
</tr>

tun_footer.html

Code:

</table>
<p>&nbsp;</p>

tun_header.html

Code:

<h4>
<b>Layer: TUN_adm2</b>
</h4>
<table cellpadding=5 cellspacing=2 border=0>
<tr bgcolor=#CCCCCC>
<th>name_2</th>
<th>id_2</th>

</tr>

y en a t-il un problème ici j'en suis sûr à 99% que mon fichier de openlayers est juste puisque firebug ne retourne auccune erreur j'attends votre réponse c'est la dernière fonction pour que j'en finisse avec ce bolo sad

Dernière modification par araking (Sun 04 August 2013 17:12)

Hors ligne

 

#5 Mon 05 August 2013 16:56

araking
Participant actif
Date d'inscription: 8 Jul 2013
Messages: 83

Re: [openlayers/mapsrever] GetInfoFeature

bonjour,
avec cette url:

Code:

http://localhost/cgi-bin/mapserv?map=/home/arafet/projet1/proj1.map&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetFeatureInfo&LAYERS=TUN_adm2&QUERY_LAYERS=TUN_adm2&STYLES=&SRS=EPSG:4326&BBOX=7.49222%20,30.23440%20,11.58170%20,%2037.34040&WIDTH=600&HEIGHT=420&FORMAT=image/png&X=300&Y=130

j'ai comme résultat:
GetFeatureInfo results:

Layer 'TUN_adm2'
  Feature 206:

Hors ligne

 

#6 Tue 13 August 2013 16:43

araking
Participant actif
Date d'inscription: 8 Jul 2013
Messages: 83

Re: [openlayers/mapsrever] GetInfoFeature

Bonjour j'ai pas réussit à utiliser les template fichiers mais je me contente d'avoir un GetFeatureInfo classique après un clique sur mon map la résultat est de cette format:

GetFeatureInfo results:

Layer 'TUN_adm2'
  Feature 188:
    gid = '188'
    id_0 = '225'
    iso = 'TUN'
    name_0 = 'Tunisia'
    id_1 = '2959'
    name_1 = 'Sfax'
    id_2 = '33547'
    name_2 = 'Kerkennah'
    varname_2 = ''
    nl_name_2 = ''
    hasc_2 = 'TN.SF.KE'
    cc_2 = ''
    type_2 = 'Delegation'
    engtype_2 = 'Delegation'
    validfr_2 = 'Unknown'
    validto_2 = 'Present'
    remarks_2 = ''
    shape_leng = '2.09721300998'
    shape_area = '0.0154428217495'
    links = 'http://fr.wikipedia.org/wiki/Sfax'

donc si vous voyez bien j'ai ajouté une colonne qui contient des liens 'links' qui décrivent les endroits cliquer mais le problème c'est que je veux que ces liens soit cliquable puisque là je dois sélictionner le lien pour que je puisse l'ouvrir.
mon code javascrpt

Code:

 map.events.register('click', map, function (e) {
    OpenLayers.Util.getElement('nodeList').innerHTML = "Loading... please wait...";
    var url =  dist.getFullRequestString({
      REQUEST: "GetFeatureInfo",

      BBOX: dist.map.getExtent().toBBOX(),
      X: e.xy.x,
      Y: e.xy.y,

      QUERY_LAYERS: dist.params.LAYERS,
      
      WIDTH: dist.map.size.w,
      HEIGHT: dist.map.size.h});
    window.open(url);
                OpenLayers.Util.getElement('north').innerHTML = url;
    OpenLayers.Event.stop(e);
    });

Dernière modification par araking (Tue 13 August 2013 16:50)

Hors ligne

 

#7 Tue 13 August 2013 21:25

zinat
Participant occasionnel
Date d'inscription: 6 Aug 2013
Messages: 31

Re: [openlayers/mapsrever] GetInfoFeature

Bonsoir ;
à quoi sa sert  GetInfoFeature ?

Hors ligne

 

#8 Tue 13 August 2013 22:45

araking
Participant actif
Date d'inscription: 8 Jul 2013
Messages: 83

Re: [openlayers/mapsrever] GetInfoFeature

Bonsoir Zinat content de voir qq1 qui commente ici apart moi ,en tous cas ça sert à rien qu'à m'énerver :p
c'est tous simplement à récupérer des données lors d'un clique sur la carte je vous invite de voir l'exemple http://openlayers.org/dev/examples/getf … ntrol.html le code que j'ai posté dés le debut de la discussion il vous sera trés utile malgré que j'ai eu qqs problèmes à récupérer mes données peut être dû à une mal configuration de mon serveur

Hors ligne

 

#9 Wed 14 August 2013 01:45

zinat
Participant occasionnel
Date d'inscription: 6 Aug 2013
Messages: 31

Re: [openlayers/mapsrever] GetInfoFeature

araking a écrit:

Bonsoir Zinat content de voir qq1 qui commente ici apart moi ,en tous cas ça sert à rien qu'à m'énerver :p
c'est tous simplement à récupérer des données lors d'un clique sur la carte je vous invite de voir l'exemple http://openlayers.org/dev/examples/getf … ntrol.html le code que j'ai posté dés le debut de la discussion il vous sera trés utile malgré que j'ai eu qqs problèmes à récupérer mes données peut être dû à une mal configuration de mon serveur


apparemment on travaille sur les même outils ça pourra bien m'aider ,merci et espérons que vous trouviez quelqu'un à part moi qui vous réponde   .

Bon Courage

Hors ligne

 

#10 Wed 21 August 2013 14:00

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

Re: [openlayers/mapsrever] GetInfoFeature

Bonjour,

Deux choses :

1) je pense que tu ne devrais pas définir une sortie de ton GetFeatureInfo en mode plain/Text mais plutôt xml voire mieux : gml ca sera plus  facile à traiter par la suite
2) la mise en page (et donc le fait d'avoir un lien réellement cliquable) doit être fait côté javaScript, ie tu récupères les infos et tu les traites en JavaScript (par exemple : var html = '<a href="'+links+'">Mon lien</a>'; donnera ce que tu  veux. Pour le moment ta variable url est de type texte, il faut qu'il devienne un objet JavaScript pour être traité correctement.

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

 

Pied de page des forums

Powered by FluxBB