#1 Mon 25 May 2009 18:16
- nicolas.leclerc
- Participant actif
- Date d'inscription: 8 Apr 2009
- Messages: 78
[mapserver] requete wms
Bonjour
je cherche à faire configurer mapserver en serveur wms. Je teste donc une requête du type :
Code:
http://127.0.0.1/cgi-bin/mapserv.exe?map=C:/ms4w/Apache/htdocs/geoportail_aurh_commerce/geoportail_aurh_commerce.map&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetCapabilities
et là il me demande si je veux enregistrer mapserv.exe !
il devrait me renvoyer un fichier xml non ?
Quelqu'un a t'il déjà rencontrer ce type de problème ?
mes couches ne s'affichent plus si je met leurs status en ON je le laisse tjs en default mais je crois que pour le mode wms je dois mettre le status on ou off
merci d'avance
Dernière modification par nicolas.leclerc (Mon 25 May 2009 18:25)
Hors ligne
#2 Mon 25 May 2009 20:21
Re: [mapserver] requete wms
Bonjour,
C'est tout à fait normal. Ce n'est pas un problème.
Enregistrez puis ouvrez avec un editeur de texte, vous verrez que l'extension n'est pas xml mais que le contenu est bien du xml.
Preuve puisque le début du fichier commence par
<?xml version='1.0' encoding="ISO-8859-1" standalone="no" ?>
Cordialement
ThomasG
Hors ligne
#3 Mon 25 May 2009 21:04
Re: [mapserver] requete wms
Bonjour,
Une précision : c'est un "bug" du standard WMS < 1.3.0 qui définie le fichier d'un typer incorrect. À partir de la version 1.3.0 (que vous pouvez tester en modifiant l'url par VERSION=1.3.0 avec une version récente de MapServer) le contenu s'affiche 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
#4 Tue 26 May 2009 10:28
- nicolas.leclerc
- Participant actif
- Date d'inscription: 8 Apr 2009
- Messages: 78
Re: [mapserver] requete wms
Bonjour,
merci de vos réponses en effet le mapserv.exe s'ouvre avec notepad++ sans problème.
mais si je fais :
Code:
http://127.0.0.1/cgi-bin/mapserv.exe?map=C:/ms4w/Apache/htdocs/geoportail_aurh_commerce/geoportail_aurh_commerce.map&SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities
il me propose quand même d'enregistrer mapserv.exe
je possède la dernière version de ms4w la 2.3.1 donc un mapserver 5.2.1.
faut il que j'installe un plus récent ?
lorsque je fais la requête :
Code:
http://127.0.0.1/cgi-bin/mapserv.exe?map=C:/ms4w/Apache/htdocs/geoportail_aurh_commerce/geoportail_aurh_commerce.map&SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&LAYERS=t_ext_ign_bdtop_2008_commune&STYLES=&SRS=EPSG:27561&BBOX=-434871,191628,465019,219048&WIDTH=450&HEIGHT=450&FORMAT=image/png
mapserver me renvoie
Code:
<?xml version='1.0' encoding="ISO-8859-1" standalone="no" ?> <!DOCTYPE ServiceExceptionReport SYSTEM "http://schemas.opengis.net/wms/1.1.1/exception_1_1_1.dtd"> <ServiceExceptionReport version="1.1.1"> <ServiceException code="LayerNotDefined"> msWMSLoadGetMapParams(): WMS server error. Invalid layer(s) given in the LAYERS parameter. </ServiceException> </ServiceExceptionReport>
je suppose que mon mapfile est mal configuré
Code:
MAP IMAGETYPE png24 EXTENT 434871 191628 465019 219048 SIZE 450 450 SHAPEPATH "C:\ms4w\Apache\htdocs\geoportail_aurh_commerce\data\lz1_ge_lehavre" FONTSET "./fonts/fonts.list" SYMBOLSET "./symbols/symbols.sym" PROJECTION "init=epsg:27561" END WEB TEMPLATE "C:\ms4w\Apache\htdocs\geoportail_aurh_commerce.html" IMAGEPATH "C:\ms4w\Apache\htdocs\geoportail_aurh_commerce\temp\" IMAGEURL "/geoportail_aurh_commerce/temp/" METADATA "wms_title" "commerce" "wms_onlineresource" "http://127.0.0.1/cgi-bin/mapserv.exe?map=C:/ms4w/Apache/htdocs/geoportail_aurh_commerce/geoportail_aurh_commerce.map&" "wms_srs" "EPSG:27561" END END LAYER DATA "t_ext_ign_bdtop_2008_commune" STATUS default TYPE POLYGON LABELITEM "NOM" CLASS NAME "Toponymes des Communes" LABEL SIZE TINY POSITION UC END STYLE COLOR 255 0 0 OUTLINECOLOR 100 100 100 END END END LAYER DATA "t_sig_rgvdh_toponymie_surf" STATUS ON TYPE POLYGON LABELITEM "TOPONYME" CLASS NAME "Toponymes surfaciques" LABEL SIZE TINY POSITION UC END STYLE COLOR 255 0 0 OUTLINECOLOR 100 100 100 END END END LAYER DATA "t_ext_insee_rgp_1999_iris" METADATA "wms_title" "t_ext_insee_rgp_1999_iris" END STATUS ON TYPE POLYGON LABELITEM "NOM_IRIS" CLASS NAME "Toponymes des IRIS" LABEL SIZE TINY POSITION UC END STYLE COLOR 255 0 0 OUTLINECOLOR 100 100 100 END END END LAYER DATA "sig_rgvdh_occupation_sol_vue" STATUS ON TYPE POLYGON CLASS NAME "Occupation du sol" LABEL SIZE TINY POSITION UC END STYLE COLOR 255 0 0 OUTLINECOLOR 100 100 100 END END END LAYER DATA "t_ext_insee_rgp_1999_quartier" STATUS ON TYPE POLYGON CLASS NAME "Toponymes des quartiers" LABEL SIZE TINY POSITION UC END STYLE COLOR 2 235 190 OUTLINECOLOR 142 142 142 END END END LAYER DATA "ext_ign_bdtop_2008_commune" STATUS ON TYPE POLYGON CLASS NAME "Fond communal" STYLE COLOR 215 235 190 OUTLINECOLOR 142 142 142 END END END LAYER DATA "lim_sigu_ext_insee_rgp_1999_quartier" METADATA "wms_title" "lim_sigu_ext_insee_rgp_1999_quartier" END STATUS ON TYPE POLYGON CLASS NAME "Limites des quartiers INSEE" STYLE COLOR 2 235 190 OUTLINECOLOR 142 142 142 END END END LAYER DATA "lz1_aurh_ccih_cce_07_proximite" STATUS ON TYPE POINT CLASS NAME "Commerces de proximité" STYLE COLOR 255 0 0 SIZE 3 SYMBOL "square" END END END LAYER DATA "t_sig_rgvdh_voie_troncon" STATUS ON TYPE LINE LABELITEM "VOIE" CLASS NAME "Libellés des tronçons de voie" LABEL SIZE TINY POSITION UC END STYLE COLOR 0 0 0 END END END SCALEBAR IMAGECOLOR 255 255 255 LABEL COLOR 0 0 0 SIZE TINY END STYLE 1 SIZE 175 10 COLOR 0 0 0 UNITS KILOMETERS INTERVALS 4 TRANSPARENT FALSE STATUS ON END # Scalebar object ends LEGEND KEYSIZE 12 12 LABEL TYPE BITMAP SIZE MEDIUM COLOR 0 0 89 END STATUS ON END END
Merci d'avance de votre temps et de votre aide
Dernière modification par nicolas.leclerc (Tue 26 May 2009 10:31)
Hors ligne
#5 Tue 26 May 2009 10:40
Re: [mapserver] requete wms
Bonjour,
Pour la première erreur : il faut MapServer 5.4.0
Pour la deuxième, l'objet LAYER doirt avoir un paramètre NAME 'toto' que tu utilises dans ta requête LAYERS=toto&STYLES=&SRS=EPSG:27561&BBOX=-434871,191628,465019,219048&WIDTH=450&HEIGHT=450&FORMAT=image/png
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 26 May 2009 11:22
- nicolas.leclerc
- Participant actif
- Date d'inscription: 8 Apr 2009
- Messages: 78
Re: [mapserver] requete wms
Merci !!
- il me reste cependant un petit souci ma carte est compressé sur elle même, ce problème n'apparaît pas en mode cgi.
- Si je veux afficher plusieurs couches je les sépare d'un - c'est cela ? du style
LAYERS=toto-toto1-toto2&STYLES=&SRS=EPSG:27561&BBOX=-434871,191628,465019,219048&WIDTH=450&HEIGHT=450&FORMAT=image/png
merci
Hors ligne
#7 Tue 26 May 2009 11:24
Re: [mapserver] requete wms
bonjour,
Non ! Les valeurs du paramètre LAYERS sont séparés par des virgules ','
Si l'image est compressée c'est que le ratio de la bbox et celui de la hauteur/largeur ne sont pas équivalent.
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 Tue 26 May 2009 11:58
- nicolas.leclerc
- Participant actif
- Date d'inscription: 8 Apr 2009
- Messages: 78
Re: [mapserver] requete wms
merci
en effet si je joue avec les paramètres ça bouge mais les ratio sont démesurés je dois mettre WIDTH=1000&HEIGHT=40 pour avoir une carte proportionnée mais pas besoin de vous dire que ma carte est minuscule donc inexploitable
les paramètres founis dans la bbox doivent être identiques à ceux fournis dans l'extent ?
Hors ligne
#9 Tue 26 May 2009 12:09
Re: [mapserver] requete wms
Bonjour,
La bbox est la zone géographique que tu veux obtenir. WIDTH et HEIGHT sont les paramètres de la taille de l'image. Si l'image est compressé c'est que la valeur de la bbox est incorrecte. La valeur de la bbox est à définir en fonction du ratio de la taille de l'image.
Comment as tu obtenu les valeurs de la bbox ?
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
#10 Tue 26 May 2009 12:33
- nicolas.leclerc
- Participant actif
- Date d'inscription: 8 Apr 2009
- Messages: 78
Re: [mapserver] requete wms
J'ai repris les valeurs de l'extent, y a t'il un moyen d'obtenir les valeurs de la bbox avec qgis par exemple ?
Hors ligne
#11 Tue 26 May 2009 12:39
Re: [mapserver] requete wms
Bonjour,
Oui en bas à droite de l'interface, il y a une possibilité de récupérer et/ou de définir l'extente. Attention, la taille de la carte devra être adapté !
Y.
[Edit] j'ai dit une erreur !
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
#12 Tue 26 May 2009 12:53
- nicolas.leclerc
- Participant actif
- Date d'inscription: 8 Apr 2009
- Messages: 78
Re: [mapserver] requete wms
Merci
je dois avouer que là je ne vous ai pas suivi, j'ai déjà récupérer les valeurs de mes extent grace à QGIS en bas à droite de l'interface mais je ne sais pas comment récupérer celles de la bbox, puisqu' apparemment ce ne sont pas les mêmes que celles de l'extent.
Hors ligne
#13 Tue 26 May 2009 13:30
Re: [mapserver] requete wms
Nicolas,
Je me suis trompé. Si ton serveur WMS fonctionne tu peux l'utiliser directement dans QGIS, cela sera plus simple pour vérifier l'affichage de la carte (Menu Couche=> Ajoutez une couche WMS, puis ajouter un serveur).
Autre possibilité manuelle, il existe un plugin qui te permet en un clic de récupérer les coordonnées d'un clic. Tu choisis deux points (le coin bas gauche et le coin haut droit) que tu rentres dans le paramètre de la BBOX. L'image sera certainement encore compressée car il faut trouver le bon ratio.
Généralement on n'écrit pas une requête WMS à la main mais on passe par une interface graphique (comme QGIS) car trouver le bon ratio pour la BBOX est assez hardu.
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
#14 Tue 26 May 2009 14:34
- nicolas.leclerc
- Participant actif
- Date d'inscription: 8 Apr 2009
- Messages: 78
Re: [mapserver] requete wms
Un grand merci pour votre temps et toutes ses précisions claires et rapides. Une petite question si vous le permettez, si l'on met de côté le souci du ratio, le serveur wms fonctionne, donc, en toute logique ma couche devrait apparaitre dans un page ou elle est appelée par openlayers ?
Hors ligne
#15 Tue 26 May 2009 14:47
Re: [mapserver] requete wms
Un grand merci pour votre temps et toutes ses précisions claires et rapides. Une petite question si vous le permettez, si l'on met de côté le souci du ratio, le serveur wms fonctionne, donc, en toute logique ma couche devrait apparaitre dans un page ou elle est appelée par openlayers ?
Oui ou même QGIS
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
#16 Tue 26 May 2009 19:31
- nicolas.leclerc
- Participant actif
- Date d'inscription: 8 Apr 2009
- Messages: 78
Re: [mapserver] requete wms
Victoire !
si je fais
Code:
http://192.168.25.22/cgi-bin/mapserv.exe?map=C:/ms4w/Apache/htdocs/geoportail_aurh_commerce/geoportail_aurh_commerce.map&SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&LAYERS=Fond_communal&STYLES=&SRS=EPSG:27561&BBOX=434871,191628,465019,219048&WIDTH=450&HEIGHT=450&FORMAT=image/png
ma carte s'affiche parfaitement sous mon browser, je vous tient au courant des prochaines investigations.
Hors ligne