#1 Thu 16 June 2011 13:47
- fowlie
- Participant occasionnel
- Date d'inscription: 16 Jun 2011
- Messages: 22
Problème zoom openlayer
Bonjour,
Je découvre openlayer et j'ai suivi ce tuto :http://softlibre.gloobe.org/openlayers/introduction qui marche trés bien. mais si je copie l'image sur mon serveur (j'utilise Wamp), lorsque je zoom j'affiche plusieur fois la même image plutot que mon image en plus gros. Aprés quelques recherche j'ai vu qu'il fallait faire du tuillage ou du dallage de l'image je me trompe?
Cependant je ne sais pas comment faire celà, pourriez-vous me guider?
Dois-je passer par un autre serveur que celui que j'ai créé avec wamp?
Merci d'avance pour vos réponses
Hors ligne
#2 Thu 16 June 2011 14:11
Re: Problème zoom openlayer
Bonjour,
OpenLayers réalise un tuilage par défaut, c'est pour cela que tu as un dallage d'image identique. À mon avis il y a un problème de configuration dans le code Javascript et/ou tes services. La page est elle publique ?
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 16 June 2011 14:13
- fowlie
- Participant occasionnel
- Date d'inscription: 16 Jun 2011
- Messages: 22
Re: Problème zoom openlayer
Oui il me semble que la page est publique (comment vérifier?)
Voici mon code :
Code:
<html> <head> <title>http://localhost:8080/OL/OpenLayers-2.10/OpenLayers.js</title> <script src="http://openlayers.org/api/OpenLayers.js"></script> <script defer="defer" type="text/javascript"> function init() { var map = new OpenLayers.Map('map'); var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS","http://localhost:8080/OL/stx1.jpg", {layers: 'basic'} ); map.addLayer(wms); map.zoomToMaxExtent(); } </script> </head> <body onload="init()"> <div style="width:100%; height:100%" id="map"> toto</div> </body> </html>
Hors ligne
#4 Thu 16 June 2011 14:40
- Tony VINCENT
- Participant actif
- Lieu: Poitiers
- Date d'inscription: 13 Jan 2010
- Messages: 86
Re: Problème zoom openlayer
Bonjour,
Oui il me semble que la page est publique (comment vérifier?)
C'est pour savoir si ta page est sur un serveur web qui peut être vu par tout les internautes.
Afin de voir le résultat de ta page.
Si oui, peux-tu communiquer l'URL (ex: http://nom_domaine.???/ta_page.html)
Tony
Hors ligne
#5 Thu 16 June 2011 14:43
- fowlie
- Participant occasionnel
- Date d'inscription: 16 Jun 2011
- Messages: 22
Re: Problème zoom openlayer
Oh j'avais mal compris :s dans ce cas non elle n'est pas publique, je n'y accéde que en local sur mon PC avec wamp. mais je suis sur que mon url est bon vu que je peux voir l'image si je rentre mon url dans IE ou firefox.
Hors ligne
#6 Thu 16 June 2011 14:50
- Tony VINCENT
- Participant actif
- Lieu: Poitiers
- Date d'inscription: 13 Jan 2010
- Messages: 86
Re: Problème zoom openlayer
Re-bonjour,
si tu remplace cela :
Code:
var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS","http://localhost:8080/OL/stx1.jpg", {layers: 'basic'} );
par ca :
Code:
var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS", "http://labs.metacarta.com/wms/vmap0", {layers: 'basic'} );
Est-ce que le zoom fonctionne correctement ?
Tony
Hors ligne
#7 Thu 16 June 2011 14:53
- fowlie
- Participant occasionnel
- Date d'inscription: 16 Jun 2011
- Messages: 22
Re: Problème zoom openlayer
Si je fais celà oui ça fonctionne, c'est dés que je met une image en local et que je met l'url pour l'atteindre, je l'affiche mais je ne zoom pas
Hors ligne
#8 Thu 16 June 2011 15:07
Re: Problème zoom openlayer
Bonjour,
Tony a trouvé ton problème : tu dois mettre en place un serveur WMS sur ton serveur local ou bien rajouter l'option singleTrue: true voici un exemple :
Code:
var new_ol_wms = new OpenLayers.Layer.WMS( "WMS w/singleTile", "http://vmap0.tiles.osgeo.org/wms/vmap0?", {layers: 'basic'}, { singleTile: true, ratio: 1 } );
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
#9 Thu 16 June 2011 15:11
- fowlie
- Participant occasionnel
- Date d'inscription: 16 Jun 2011
- Messages: 22
Re: Problème zoom openlayer
Voici mon nouveau code avec votre sugestion :
Code:
<html> <head> <title>http://localhost:8080/OL/OpenLayers-2.10/OpenLayers.js</title> <script src="http://openlayers.org/api/OpenLayers.js"></script> <script defer="defer" type="text/javascript"> function init() { var map = new OpenLayers.Map('map'); // var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS","http://localhost:8080/OL/stx1.jpg", {layers: 'basic'} ); var new_ol_wms = new OpenLayers.Layer.WMS( "WMS w/singleTile", "http://localhost:8080/OL/stx1.jpg", {layers: 'basic'}, { singleTile: true, ratio: 1 } ); map.addLayer(wms); map.zoomToMaxExtent(); } </script> </head> <body onload="init()"> <div style="width:100%; height:100%" id="map"> toto</div> </body> </html>
Mais là je n'affiche plus du tout l'image :s juste la barre de zoom
Dernière modification par fowlie (Thu 16 June 2011 15:15)
Hors ligne
#10 Thu 16 June 2011 15:19
- fowlie
- Participant occasionnel
- Date d'inscription: 16 Jun 2011
- Messages: 22
Re: Problème zoom openlayer
Aprés quelques modification voici le code :
Code:
<html> <head> <title>http://localhost:8080/OL/OpenLayers-2.10/OpenLayers.js</title> <script src="http://openlayers.org/api/OpenLayers.js"></script> <script defer="defer" type="text/javascript"> function init() { var map = new OpenLayers.Map('map'); // var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS","http://localhost:8080/OL/stx.jpg", {layers: 'basic'} ); var new_ol_wms = new OpenLayers.Layer.WMS( "WMS w/singleTile", "http://localhost:8080/OL/stx", {layers: 'basic'}, { singleTile: true, ratio: 1 } ); map.addLayer(new_ol_wms); map.zoomToMaxExtent(); } </script> </head> <body onload="init()"> <div style="width:100%; height:100%" id="map"> toto</div> </body> </html>
J'affiche bien mon image, elle prend même la place de tous l'écran ... mais je ne peut plus me servir du zoom, que je fasse + ou - ça ne change rien :s
Et si j'utilise les flêches directionnelles je bouge un l'image mais ça finit par revenir à sa position initial.
le map.ZoomToMaxExtent() est-il réellement nécessaire? si oui pourriez-voue me dire exactement son role?
Dernière modification par fowlie (Thu 16 June 2011 15:24)
Hors ligne
#11 Thu 16 June 2011 16:03
Re: Problème zoom openlayer
map.ZoomToMaxExtent() permet de revenir au zoom arrière maximum il me semble. On pourrait appeler ça "revenir à la maison"
Dernière modification par heretik25 (Thu 16 June 2011 16:03)
Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com
Hors ligne
#12 Thu 16 June 2011 16:14
- fowlie
- Participant occasionnel
- Date d'inscription: 16 Jun 2011
- Messages: 22
Re: Problème zoom openlayer
Merci pour l'info
j'ai testé tous les tutos de ce lien : http://geotribu.net/node/3#comment-1104
Et je n'ai aucun problème d'affichage, c'est juste avec mon image que j'ai mis sur mon serveur local que j'ai des problèmes.
Hors ligne
#13 Fri 17 June 2011 08:59
- fowlie
- Participant occasionnel
- Date d'inscription: 16 Jun 2011
- Messages: 22
Re: Problème zoom openlayer
Bonjour, je n'ai pas réussi à résoudre ce problème, quelqu'un a une idée? j'ai essayé avec l'image en .gif ou en .jpg mais cela ne change rien.
Mon but au final sera d'afficher un fichier .dwg, mais je ne pense pas qu'openlayer supporte ce format, suis-je obliger de convertir mon fichier? c'est ce que j'ai fait pour le moment mais la solution n'est pas satisfaisante.
---EDIT---
Quelqu'un pourrait-il m'aider? je suis bloqué et j'avoue que je suis un peu perdu aussi :s
Dernière modification par fowlie (Fri 17 June 2011 12:27)
Hors ligne
#14 Fri 17 June 2011 13:11
- Tony VINCENT
- Participant actif
- Lieu: Poitiers
- Date d'inscription: 13 Jan 2010
- Messages: 86
Re: Problème zoom openlayer
Bonjour,
après quelques recherche, pour afficher une image avec OpenLayers, il faut utiliser ceci :
Code:
OpenLayers.Layer.Image
à la place de
Code:
OpenLayers.Layer.WMS
Tony
Hors ligne
#15 Fri 17 June 2011 13:32
- fowlie
- Participant occasionnel
- Date d'inscription: 16 Jun 2011
- Messages: 22
Re: Problème zoom openlayer
Ah merci beaucoup ça marche mieux comme ça
Code:
<script defer="defer" type="text/javascript"> function init() { var map = new OpenLayers.Map('map'); var options = {numZoomLevels: 3}; var graphic = new OpenLayers.Layer.Image('City Lights', 'http://localhost:8080/OL/gapart1.gif', new OpenLayers.Bounds(-180, -88.759, 180, 88.759), new OpenLayers.Size(580, 288), options, {layers: 'basic'}, { singleTile: true, ratio: 1 } ); map.addLayer(graphic); map.setCenter(new OpenLayers.LonLat(0, 0), 2); map.addControl(new OpenLayers.Control.LayerSwitcher()); map.zoomToMaxExtent(); } </script>
Je copie mon code pour ceux que ça pourrait intéréssé
Merci encore.
Si je peux me permettre une autre question. OpenLayer permet-il l'affichage de fichier .dwg? si non faut-il vraiment les convertir? quel format supporte openlayer?
Dernière modification par fowlie (Fri 17 June 2011 14:26)
Hors ligne
#16 Fri 17 June 2011 16:00
- fowlie
- Participant occasionnel
- Date d'inscription: 16 Jun 2011
- Messages: 22
Re: Problème zoom openlayer
J'ai tenté d'afficher un fichier .dwg avec cette ligne de code :
Code:
var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS","http://localhost:8080/OL/ga04.dwg", {layers: 'basic'},{ singleTile: true, ratio: 1 } );
mais j'affiche un grand carré rose là ou devrait appraitre l'image. Est-ilimpossible d'afficher ce genre d'image? ou mon code est-il faut?
J'ai le même problème avec ce fichier si j'utilise OpenLayers.Layer.Image.
Dernière modification par fowlie (Fri 17 June 2011 16:01)
Hors ligne
#17 Mon 20 June 2011 09:42
- fowlie
- Participant occasionnel
- Date d'inscription: 16 Jun 2011
- Messages: 22
Re: Problème zoom openlayer
Personne n'a une idée pour m'aider? je ne trouve pas beaucoup d'infos sur le net, et c'est le seul forum vraiment spécialisé que j'ai trouvé.
Est-ce une bonne idée d'utiliser la bibliothéque OpenLayer pour travailler sur des plans .dwg? ou faut-il utiliser autre chose, OpenLayer c'est ce qu'on m'a conseillé mais je me doute qu'il existe d'autre possibilités.
Merci d'avance
Hors ligne
#18 Mon 20 June 2011 10:45
Re: Problème zoom openlayer
Bonjour,
Personne ne répond parce que tu mélanges tout : service Web, fichier brute. OpenLayers n'est pas un SIG desktop et ne sait lire que les flux WMS, WFS, etc. C'est important de bien comprendre ce que tu fais : lorsque tu écris OpenLayers.Layer.WMS cela signifie que tu crées une couche WMS au sein d'OpenLayers. Sais tu ce qu'est un service WMS ?
Je t'invite à parcourir le wiki de GeoRezo, notamment la page des standards : http://georezo.net/wiki/main/standards/start cela devrait t'aider à bien comprendre d'où vient ton erreur
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
#19 Mon 20 June 2011 10:58
- fowlie
- Participant occasionnel
- Date d'inscription: 16 Jun 2011
- Messages: 22
Re: Problème zoom openlayer
tu as raison je mélange un peu tout, j'essai de comprendre trop de choses en même temps et pas forcément dans le bon ordre :s
Le Web Map Service (WMS) est un standard OGC de service web qui permet de produire dynamiquement des cartes à partir de données géoréférencées.Sa mise en œuvre suppose l'utilisation d'un serveur WMS,
cela signifie-t-il qu'on apporte des données et c'est le serveur qui se charge de créer la carte? Dans ce cas en effet ce n'est pas ce que je recherche.
Mais alors si je souhaite travailler avec des fichiers AutoCAD, je ne peux utiliser ni la couche WMS, ni la couche Image, existe-t-il une autre couche que je pourrais utiliser? Ou alors OpenLayer ne me permet tout simplement pas de travailler avec ces fichiers et il faut que je les convertise moi-même en gif, png ou jpeg?
Je m'excuse si je m'éloigne un peu du sujet de base du forum que j'ai créé mais j'avoue être un peu perdue quand à la direction que je dois prendre pour réaliser mon projet.
Hors ligne
#20 Mon 20 June 2011 11:13
Re: Problème zoom openlayer
Bonjour,
Oui il faut soit un serveur cartographique soit transformer tes fichiers "brutes" en image. Mais pour cela il faut "styliser" les géométries donc tu auras besoin d'un moteur cartographique : QGIS (desktop), MapServer (web et scripts). Tu peux installer les deux en locals et générer une image (je te conseil à la rigueur MapServer car couplé avec TileCache tu pourras générer des images sous forme de tuile. Ces tuiles tu les placeras sur ton serveur et OpenLayers pourra les récupérer (via une couche OL de type xyz).
Contraintes : il y a des étapes de préparation à chaque mise à jour des données, cela peut prendre du temps et beaucoup d'espace en fonction de l'étendue de tes données. Mais généralement les données autocad sont localisé sur une "petite" surface.
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
#21 Mon 20 June 2011 11:21
- fowlie
- Participant occasionnel
- Date d'inscription: 16 Jun 2011
- Messages: 22
Re: Problème zoom openlayer
Je te remercie pour tes réponses, je vais suivre tes conseils
Hors ligne
#22 Mon 20 June 2011 13:21
- damien_boilley
- Participant assidu
- Lieu: Grenoble
- Date d'inscription: 16 Apr 2009
- Messages: 224
Re: Problème zoom openlayer
Si je peux me permettre une autre question. OpenLayer permet-il l'affichage de fichier .dwg? si non faut-il vraiment les convertir? quel format supporte openlayer?
Un peu après la bataille, et parce que personne ne semble avoir répondu clairement : la réponse est non, pour autant que je sache, le format DWG est le format propriétaire d'AutoCAD, aucun logiciel libre ne le lit facilement, il ne peut pas être utilisé par OpenLayers.
Hors ligne
#23 Mon 20 June 2011 15:27
- fowlie
- Participant occasionnel
- Date d'inscription: 16 Jun 2011
- Messages: 22
Re: Problème zoom openlayer
Un peu après la bataille, et parce que personne ne semble avoir répondu clairement : la réponse est non, pour autant que je sache, le format DWG est le format propriétaire d'AutoCAD, aucun logiciel libre ne le lit facilement, il ne peut pas être utilisé par OpenLayers.
J'avais malheureusement cru comprendre cela si je passe par mapserver tu pense que cela deviendra possible ou toujours pas?
Est-ce que le format .svg pourrait être utilisé? je pense convertir mes fichiers autocad en .svg, mais si cela reste impossible à afficher quand même je ne vais pas le faire.
Hors ligne
#24 Tue 21 June 2011 10:20
- damien_boilley
- Participant assidu
- Lieu: Grenoble
- Date d'inscription: 16 Apr 2009
- Messages: 224
Re: Problème zoom openlayer
Mapserver est un logiciel libre, DWG est un format propriétaire fermé, donc Mapserver ne peut pas diffuser du DWG.
La seule solution est donc de convertir dans un format plus ouvert sinon libre, comme SVG peut-être, ou GIF, PNG ou JPEG si du raster suffit, ou alors passer par du DXF (format d'export ouvert d'AutoCAD) si ce sont des données géoréférencées et le convertir ensuite dans un format compatible SIG comme MIF-MID, Shapefile, etc. qui pourront être traités par Mapserver. Bon courage !
Hors ligne
#25 Tue 21 June 2011 10:23
- fowlie
- Participant occasionnel
- Date d'inscription: 16 Jun 2011
- Messages: 22
Re: Problème zoom openlayer
Merci, je pense en effet passer pas du format SVG ou DXF, j'ai créer un nouveau sujet pour savoir comment faire avec ces formats.
Hors ligne
#26 Tue 28 June 2011 11:05
- fowlie
- Participant occasionnel
- Date d'inscription: 16 Jun 2011
- Messages: 22
Re: Problème zoom openlayer
Bonjour, je reviens vers vous car j'essai d'avancer avec OpenLayer grâce au exemple fourni dans cette page : http://softlibre.free.fr/ol/html/librar … ys-fr.html
Mais j'ai quelques problème.
Si je reviens au code le plus simple :
Code:
<html> <head> <title>OpenLayers Example</title> <script src="http://openlayers.org/api/OpenLayers.js"></script> <script defer="defer" type="text/javascript"> function init() { var map = new OpenLayers.Map('map'); var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS","http://labs.metacarta.com/wms/vmap0", {layers: 'basic'} ); map.addLayer(wms); map.zoomToMaxExtent(); } </script> </head> <body> <div style="width:100%; height:100%" id="map"></div> </body> </html>
Je n'affiche rien y a-t'il un problème avec l'url http://labs.metacarta.com/wms/vmap0 car la derniére fois que j'ai essayé cela marchait, enfin j'affichais la carte, comme j'essai de comprendre OpenLayer en travaillant sur cette carte pour le moment, si je ne l'affiche pas je ne risque pas de voir si mon code autour marche :s
Le sujet n'est peut-être pas placé dans le bon post, si c'est le cas je peux le déplacer.
Merci
Hors ligne
#27 Tue 28 June 2011 11:12
Re: Problème zoom openlayer
Bonjour,
Ta fonction init() tu la lances où ?
Code:
<body onload="init();">
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
#28 Tue 28 June 2011 11:21
- fowlie
- Participant occasionnel
- Date d'inscription: 16 Jun 2011
- Messages: 22
Re: Problème zoom openlayer
Euh ... ok j'aurais du mieux relire mon code avant de posé une question aussi bête ^^ désolé
Hors ligne