#31 Fri 19 September 2008 11:50
Re: Projet de Webmapping, quelle(s) solution(s)?
Bonjour,
Ton paramètre SHAPEPATH me parait étrange pour quelqu'un travaillant sous windows ca serait pas plus c:/ms4w/... ?
D'autre part je viens de relire un de tes postes au dessus : http://georezo.net/forum/viewtopic.php? … 89#p115089 et il semble que tu ais confondu l'utilisation de mapserver en "mode CGI" et en tant que webservice (je sais c'est aussi du CGI mais bon jene sais pas trop comment les nommer).
Une url WMS type est de ce type :
http://localhost/cgi-bin/mapserv.exe?map=/ms4w/apps/tutorial/example1-1.map&SERVICE=WMS&REQUEST=GetCapabilities&VERSION=1.1.0
Tu peux installer l'extension Firebug (http://getfirebug.com) sous firefox et l'utiliser pour retrouver l'url envoyée par OpenLayers pour récupérer l'image.
Clique sur le cafard en bas à droite de la fenetre firefox, clique sur "Inspecter" dans l'ongelt console (attention tu devras activer firebug pour le site pour qu'il soit utilisable). après avoir cliquer sur Inspecter tu cliques sur la dalle dont tu veux récupérer l'url et le code html s'affiche dans firebug.
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
#32 Wed 24 September 2008 14:51
- Debey Nicolas
- Participant actif
- Lieu: Rouen
- Date d'inscription: 11 Oct 2006
- Messages: 63
Re: Projet de Webmapping, quelle(s) solution(s)?
Bonjour à tous.
Et bien depuis vendredi, je n'ai aps eu le temps de me pencher sur mon problème mais aujourd'hui j'ai recommencé.
Et il y a du progrès.
Je n'ai plus d'erreur javascript dans mon code de page et l'interface openlayers se charge impeccablement bien.
Seulement je ne vois pas ma carte.
En réalité, Firefox me dit "Transfert des données depuis localhost" et cela en boucle. et Internet Explorer affiche de jolis mais néanmoins inutiles cadres roses.
Auriez vous une idée d'ou cela peut venir?
Je vous joins mon code html:
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" > <head> <title>Bienvenue sur mon site !</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <script src="../lib/OpenLayers.js"></script> <script defer="defer" type="text/javascript"> <!-- var map,wms; function init() { map = new OpenLayers.Map('map'); wms = new OpenLayers.Layer.WMS( "essai2", "http://localhost/cgi-bin/mapserv.exe", {map:'essai.map'},{layers: 'essai2'}); map.addLayer(wms); map.zoomToMaxExtent(); }//--> </script> </head> <body Onload="init()"> <p> Essai pour Openlayer: </p> <div style="width:700px; height:700px;border:1px black solid;"id="map"></div> </body > </html>
ainsi que mon mapfile
Code:
MAP NAME 'essai2' # Map image size SIZE 700 700 UNITS meter EXTENT 375560.216089 113873.766361 486136.929816 232463.285451 PROJECTION 'init=epsg:27571' END # Background color for the map canvas -- change as desired IMAGECOLOR 192 192 192 IMAGEQUALITY 95 IMAGETYPE jpeg OUTPUTFORMAT NAME jpeg DRIVER "GD/JPEG" MIMETYPE "image/jpeg" IMAGEMODE RGB EXTENSION "jpg" END # Web interface definition. Only the template parameter # is required to display a map. See MapServer documentation WEB # Set IMAGEPATH to the path where MapServer should # write its output. IMAGEPATH 'C:/ms4w/tmp/ms_tmp/' # Set IMAGEURL to the url that points to IMAGEPATH # as defined in your web server configuration IMAGEURL 'C:/ms4w/tmp/ms_tmp/' #Scale range at which web interface will operate # Template and header/footer settings # Only the template parameter is required to display a map. See MapServer documentation END LAYER NAME 'essai2' DATA 'essai2' STATUS ON TYPE POLYGON PROJECTION 'init=epsg:27571' END END END
Je précise que la couche voulant etre affichée ne comporte que deux polygones et se trouve projeté en Lambert_Zone_1
Dernière modification par Debey Nicolas (Wed 24 September 2008 15:06)
Hors ligne
#33 Wed 24 September 2008 15:18
- ppluvinet
- Participant assidu
- Lieu: LYON
- Date d'inscription: 6 Aug 2007
- Messages: 609
Re: Projet de Webmapping, quelle(s) solution(s)?
Bonjour,
Ca fait longtemps que je n'ai pas écrit de MAPFILE et je n'ai jamais utilisé Openlayer, mais peut-être une piste :
n'est-il pas nécessaire de mettre le chemin du shape dans le bloc LAYER/DATA?
Pascal PLUVINET
Hors ligne
#34 Wed 24 September 2008 15:33
- Debey Nicolas
- Participant actif
- Lieu: Rouen
- Date d'inscription: 11 Oct 2006
- Messages: 63
Re: Projet de Webmapping, quelle(s) solution(s)?
J'ai essayé de mettre l'intégralité du chemin d'accès mais cela ne change rien.
Mais de toute manière, mon shape, mon mapfile et mon fichier html se trouvent tous dans le répertoire
"C:/ms4w/apps/openlayers-2.5/examples/"
donc je crois que normalement, le mapfile n'a pas besoin de tout le chemin.
Mais je peux me tromper ^^
Dernière modification par Debey Nicolas (Wed 24 September 2008 15:36)
Hors ligne
#35 Wed 24 September 2008 16:02
- ppluvinet
- Participant assidu
- Lieu: LYON
- Date d'inscription: 6 Aug 2007
- Messages: 609
Re: Projet de Webmapping, quelle(s) solution(s)?
En me remettant dans des mapfile que j'avais créé, je te propose ceci :
MAP
NAME 'essai2'
# Map image size
SIZE 700 700
UNITS meter
SHAPEPATH "../data"
EXTENT 375560.216089 113873.766361 486136.929816 232463.285451
PROJECTION
'init=epsg:27571'
END
# Background color for the map canvas -- change as desired
IMAGECOLOR 192 192 192
IMAGEQUALITY 95
IMAGETYPE jpeg
OUTPUTFORMAT
NAME jpeg
DRIVER "GD/JPEG"
MIMETYPE "image/jpeg"
IMAGEMODE RGB
EXTENSION "jpg"
END
# Web interface definition. Only the template parameter
# is required to display a map. See MapServer documentation
WEB
# Set IMAGEPATH to the path where MapServer should
# write its output.
IMAGEPATH 'C:/ms4w/tmp/ms_tmp/'
# Set IMAGEURL to the url that points to IMAGEPATH
# as defined in your web server configuration
IMAGEURL 'C:/ms4w/tmp/ms_tmp/'
#Scale range at which web interface will operate
# Template and header/footer settings
# Only the template parameter is required to display a map. See MapServer documentation
END
LAYER
NAME 'essai2'
TYPE Polygon
STATUS ON
CONNECTIONTYPE OGR
CONNECTION "../data/essai2.SHP"
TEMPLATE "null"
PROJECTION
'init=epsg:27571'
END
END
Pascal PLUVINET
Hors ligne
#36 Wed 24 September 2008 16:14
- Debey Nicolas
- Participant actif
- Lieu: Rouen
- Date d'inscription: 11 Oct 2006
- Messages: 63
Re: Projet de Webmapping, quelle(s) solution(s)?
Et bien cela ne change rien.
Mais pourquoi une connection de type OGR?
Et pour quoi le répertoire DATA?
Merci pour votre patience envers un débutant qui apprend au fur et à mesure.
Hors ligne
#37 Wed 24 September 2008 16:34
- ppluvinet
- Participant assidu
- Lieu: LYON
- Date d'inscription: 6 Aug 2007
- Messages: 609
Re: Projet de Webmapping, quelle(s) solution(s)?
Moi aussi encore un peu débutant.
J'avais créé un répertoire DATA où j'avais mis mes SHAPES. Dans le bloc MAP de mon mapfile, j'avais mis un SHAPEPATH.
Le morceau de script :
CONNECTIONTYPE OGR
CONNECTION "../data/essai2.SHP"
est une façon d'appeler les fichiers .shp
Ce qui m'étonne dans vos scripts Javascript et mapfile c'est que vous n'écrivez jamais l'extension du fichier ".shp". Essayez peut-être de remplacer essai2 par essai2.shp si tel est le nom de votre fichier.
Comme je l'avais dit précédemment, j'avais utilisé VEREMAP qui comporte un exemple et c'est à partir de cette exemple (sur la ville de PAMIERS) que j'ai créé mon application.
Pascal PLUVINET
Hors ligne
#38 Wed 24 September 2008 16:45
- ppluvinet
- Participant assidu
- Lieu: LYON
- Date d'inscription: 6 Aug 2007
- Messages: 609
Re: Projet de Webmapping, quelle(s) solution(s)?
Autre question, je me demande à quoi sert
{layers: 'essai2'});
dans
"http://localhost/cgi-bin/mapserv.exe", {map:'essai.map'},{layers: 'essai2'});
puisque les layers sont déclarés dans le mapfile.
Je me trompe peut-être completement ! Mais on est là pour apprendre.
Pascal PLUVINET
Hors ligne
#39 Thu 25 September 2008 10:14
- Debey Nicolas
- Participant actif
- Lieu: Rouen
- Date d'inscription: 11 Oct 2006
- Messages: 63
Re: Projet de Webmapping, quelle(s) solution(s)?
Bien, alors j'ai testé en modifiant ce que tu m'avais dit de modifier et cela ne marche toujours pas.
Pour répondre à ta question, {layers: essai2} sert si j'ai bien compris à spécifier quelle couche du mapfile afficher. Etant donné que mon mapfile ne contient qu'une couche, cela ne sert peut-etre à rien en effet. Mais j'ai en réalité suivi un modèle alors je l'ai mis.
Cela dit en le supprimant, cela ne donne pas de meilleure conclusion.
Hors ligne
#40 Thu 25 September 2008 10:31
- ppluvinet
- Participant assidu
- Lieu: LYON
- Date d'inscription: 6 Aug 2007
- Messages: 609
Re: Projet de Webmapping, quelle(s) solution(s)?
Lorsque Mozilla Firefox tourne en boucle, c'est généralement un problème de MAPFILE.
Essais de mettre tous les chemins en dur. Essais également de rajouter dans le bloc WEB sous NAME une ligne avec STATUS ON .
Enlève les décimales dans EXTENT.
Dans UNITS mettre METERS avec un S.
As-tu créé les répertoires 'C:/ms4w/tmp/ms_tmp/' ?
As-tu bien tous les fichiers de ton SHAPE (.shp, .dbf, .prj ....)?
Si tu es sur linux ou mac, fais attention à bien respecter les majuscules et minuscules.
Bon courage!
Pascal PLUVINET
Hors ligne
#41 Thu 25 September 2008 10:50
- Debey Nicolas
- Participant actif
- Lieu: Rouen
- Date d'inscription: 11 Oct 2006
- Messages: 63
Re: Projet de Webmapping, quelle(s) solution(s)?
Et bien en fait j'ai mis les chemins en dur et cela ne fonctionne toujours pas.
Je ne suis pas sur que ce soit un probleme de mapfile. En fait, quand je le teste en CGI avec l'adresse
Code:
http://localhost/cgi-bin/mapserv.exe?map=/ms4w/apps/openlayers-2.5/examples/essai.map&layer=essai2&mode=map
cela fonctionne bien.
Et au niveau des répertoires, je les ai bien tous créé et j'ai aussi tous les fichiers de mon shapes.
P.S.: je suis sous windows XP pro
Dernière modification par Debey Nicolas (Thu 25 September 2008 10:51)
Hors ligne
#42 Thu 25 September 2008 11:03
- ppluvinet
- Participant assidu
- Lieu: LYON
- Date d'inscription: 6 Aug 2007
- Messages: 609
Re: Projet de Webmapping, quelle(s) solution(s)?
Je compare avec des mapfiles que j'avais créé et qui marche.
Je me rend compte que je n'ai pas les lignes :
PROJECTION
'init=epsg:27571'
END
Regarde bien également si tu n'as pas des "END" en trop.
Si c'est un souci d'OpenLayers, je ne peux malheureusement pas t'aider.
A bientot
Pascal PLUVINET
Hors ligne
#43 Thu 25 September 2008 14:39
- Debey Nicolas
- Participant actif
- Lieu: Rouen
- Date d'inscription: 11 Oct 2006
- Messages: 63
Re: Projet de Webmapping, quelle(s) solution(s)?
CA Y EST. J'ai enfin réussi.
En réalité, l'erreur était dans ma page html. Il faut directement envoyer le serveur vers le mapfile
Le code html donne cela:
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" > <head> <title>Bienvenue sur mon site !</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <script src="../lib/OpenLayers.js"></script> <script defer="defer" type="text/javascript"> <!-- var map,wms; function init() { map = new OpenLayers.Map('map'); wms = new OpenLayers.Layer.WMS( 'essai2', 'http://localhost/cgi-bin/mapserv.exe?map=/ms4w/apps/openlayers-2.5/examples/essai2.map', {layers: 'essai2',isBaseLayer: true}); map.addLayer(wms); map.addControl(new OpenLayers.Control.LayerSwitcher()); map.zoomIn(); }//--> </script> </head> <body Onload="init()"> <p> Essai pour Openlayer: </p> <div style="width:700px; height:700px;border:1px black solid;"id="map"></div> </body > </html>
Voilà.
Merci à tous de m'avoir conseillé et aidé.
J'aurai d'ailleurs surement d'autres questions à l'avenir.
Hors ligne
#44 Thu 25 September 2008 17:05
Re: Projet de Webmapping, quelle(s) solution(s)?
Bonjour Nicolas,
Pour les prochaines questions concernant le code et surtout s'agissant d'exploiter des briques libres, je te propose d'ouvrir un ou des sujets sur le forum geolibre_web.
Amicalement,
Bruno
Hors ligne