#1 Thu 31 July 2008 09:20
- SophieB
- Juste Inscrit !
- Date d'inscription: 31 Jul 2008
- Messages: 7
OpenLayers.Layer.WMS et OpenLayers.Layer.MapServer
Bonjour à tous,
Je suis novice en ce qui concerne Openlayers...
J'ai installé Mapserver et je veux utiliser OpenLayers.
Je me demande quelle est la différence entre new OpenLayers.Layer.WMS et new OpenLayers.Layer.MapServer.
J'ai bien compris que l'un faisait appel à un service WMS, l'autre à un fichier MapServer, mais quelle est la différence en terme
de performance ? Y a -t-il une solution à préférer à l'autre ?
Merci de vos réponses
SophieB
Hors ligne
#2 Thu 31 July 2008 09:40
Re: OpenLayers.Layer.WMS et OpenLayers.Layer.MapServer
Bonjour,
Le premier utilise un WebService appelé WMS, ce n'est pas lié à une application particulière, tu peux ainsi utiliser MapGuide OS, Mapnik, Geoserver. Le deuxième est lié à mapserver en mode cgi.
De mémoire et d'expérience, le WMS est plus facile à mettre en place et plus modulaire (on peut facilement switcher entre plusieurs server carto).
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
#3 Thu 31 July 2008 10:08
- SophieB
- Juste Inscrit !
- Date d'inscription: 31 Jul 2008
- Messages: 7
Re: OpenLayers.Layer.WMS et OpenLayers.Layer.MapServer
Merci Yves pour ta réponse,
je pense donc que je vais passer par la commande WMS.
J'ai d'ailleurs un problème avec OpenLayers :
lorsque je passe par mapserver tout court pour afficher une "couche postgis", il n'y a pas de probleme.
Par contre avec open layers j'ai un message d'erreur : SRS invalid.
Est ce que quelqu'un a déjà rencontré ce type de problème ?
Si oui, comment y remédier.
Merci
SophieB
Hors ligne
#4 Thu 31 July 2008 10:24
Re: OpenLayers.Layer.WMS et OpenLayers.Layer.MapServer
bonjour,
SRS invalid indique un problème de définition de projection côté openlayers, il doit lui envoyer une "projection" définie à WGS84 alors que ton serveur ne gère que les projections en lambert 2 étendue (c'est juste une piste).
Regarde la requête qu'envoie openlayers à mapserver pourvoir quel srid il demande.
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 31 July 2008 11:33
- SophieB
- Juste Inscrit !
- Date d'inscription: 31 Jul 2008
- Messages: 7
Re: OpenLayers.Layer.WMS et OpenLayers.Layer.MapServer
en effet, il demande des srid différents.
Mais comment changer cela ?
Hors ligne
#6 Thu 31 July 2008 11:38
Re: OpenLayers.Layer.WMS et OpenLayers.Layer.MapServer
Tu dois définir la projection de ton objet map par l'intermédiaire des options :
Code:
var options = { projection: "EPSG:27572", units: "m", };
(suis pas bien sur)
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
#7 Thu 31 July 2008 12:11
- René-Luc D'Hont
- Participant assidu
- Date d'inscription: 7 Nov 2006
- Messages: 328
- Site web
Re: OpenLayers.Layer.WMS et OpenLayers.Layer.MapServer
tu peux définir la projection de ta carte mais je crois qu'il n'en tient pas compte lorsqu'il génère la requête WMS.
Le mieux, je crois est de spécifié le SRS de ta requête dans les options de requêtes à l'initialisation de ta couche WMS.
Code:
new OpenLayers.Layer.WMS( "Nom de ta couche WMS", "url de ta couche wms", {layers: 'nom des couches wms',SRS:'EPSG:27572'} );
Hors ligne
#8 Thu 31 July 2008 12:13
- SophieB
- Juste Inscrit !
- Date d'inscription: 31 Jul 2008
- Messages: 7
Re: OpenLayers.Layer.WMS et OpenLayers.Layer.MapServer
Re bonjour à tous,
voilà je suis en train de devenir folle pour je pense un problème tout bête.
Je vous explique: j'ai une base de données Posgresql/postgis dans laquelle est stockée une couche de points, la projection étant en lambert93. J'ai créé un mapfile qui me permet d'afficher cette couche sans aucun pb (en specifiant bien que l'epsg est 2154).
Maintenant je veux pouvoir afficher cette couche via openlayers, et la je tombe sur un message d'erreur systématique : "msWMSLoadGetMapParams() : WMS server error. Invalid SRS given : SRS must be valid for all requested layers.
Voilà si quelqu'un a une idee !!
Merci
SophieB
Hors ligne
#9 Thu 31 July 2008 12:16
Re: OpenLayers.Layer.WMS et OpenLayers.Layer.MapServer
Soiphie,
J'ai déplacé ce message ici, pas besoin de recréer un nouveau poste
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 Thu 31 July 2008 12:24
- SophieB
- Juste Inscrit !
- Date d'inscription: 31 Jul 2008
- Messages: 7
Re: OpenLayers.Layer.WMS et OpenLayers.Layer.MapServer
ok merci.
J'ai bien essayé les différentes solutions, cela ne change rien....
Je ne comprends vraiment pas d'où cela peut venir...
Je vais importer une autre couche sous postgis avec une projection différente et je vous tiendrais au courant
merci de votre aide
Hors ligne
#11 Thu 31 July 2008 12:31
Re: OpenLayers.Layer.WMS et OpenLayers.Layer.MapServer
Sophie,
Sous postgis tu peux modifier la projection, ajoute un nouveau champ :
Code:
SELECT addGeometryColumn();
puis met le à jour :
Code:
UPDATE table SET nouveauChamp = transformt('the_geom',27572);
Attention, je n'ai pas mis les paramètres dans la première requête.
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
#12 Thu 31 July 2008 13:49
Re: OpenLayers.Layer.WMS et OpenLayers.Layer.MapServer
Bonjour Sophie, bonjour Yves,
on peut aussi faire la reprojection à la volée en appelant une vue :
Code:
select id_point, transform('the_geom',27572) as the_geom from ma_table_de_point
Ca permet de ne pas ajouter de nouvelle colonne geométrique à la table.
dans ton .map :
Code:
DATA "the_geom FROM (select id_point, transform('the_geom',27572) as the_geom from ma_table_de_point) as points USING UNIQUE id_point USING srid=27572"
Bon courage,
Mathieu BOSSAERT.
Mathieu BOSSAERT
Association GeoRezo
Hors ligne
#13 Thu 31 July 2008 13:50
Re: OpenLayers.Layer.WMS et OpenLayers.Layer.MapServer
Merci Mathieu,
Je n'étais pas sur que cela pouvait fonctionner, dans le doute je me suis abstenu
Merci,
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 Thu 31 July 2008 15:43
- SophieB
- Juste Inscrit !
- Date d'inscription: 31 Jul 2008
- Messages: 7
Re: OpenLayers.Layer.WMS et OpenLayers.Layer.MapServer
merci d evotre aide,
je pense que cela vient de mes données d'origine, car lorsque j'importe un shape sous postgis puis que je l'appelle via mapserver/openlayers je n'ai aucun problème d'affichage, de srs...
Par contre il va falloir que je trouve pourquoi cette couche pose problème.
Merci encore
Sophie
Hors ligne