Pages: 1
- Sujet précédent - Afficher une couche sur carte du monde via pageweb openlayer/geoserver - Sujet suivant
#1 Tue 26 December 2017 21:04
- kenji
- Juste Inscrit !
- Date d'inscription: 25 Dec 2017
- Messages: 3
Afficher une couche sur carte du monde via pageweb openlayer/geoserver
bjr et joyeux noel a tous;
je suis nouveau dans les SIG et j'ai un souci.
J'ai importer d'abord dans Postgis les couches 5 suivantes: regions, departements,usines , pipeline_chad__cmr, dangers
Pour publier ces couches dans une page web grace à un serveur web wampserver, et geoserver
je procède par html et javascript.
Ainsi j'ai créé les fichier pipeline.html et carte.js
voici le code de carte.js:
function init() {
var osmLayer1 = new OpenLayers.Layer.OSM();
var regions = new OpenLayers.Layer.WMS( "regions", "http://localhost:8080/geoserver/pipeline/wms",{layers:'regions',transparent:"true"});
map.addLayers([osmLayer1,regions]);
map.zoomToMaxExtent();
map.addControl(new OpenLayers.Control.Navigation());
map.addControl(new OpenLayers.Control.PanZoomBar());
map.addControl(new OpenLayers.Control.OverviewMap());
map.addControl(new OpenLayers.Control.MousePosition());
map.addControl(new OpenLayers.Control.LayerSwitcher());
}
Ce code marche bien pour une seule couche region à afficher sur la carte du monde (voir limage img2 en pièce jointe)
mais quand je veux afficher plusieurs couches superposée exemple 3 couches(regions, departement,usines) sur la carte du monde cela ne marche pas. même apres avoir modifié le code:
var osmLayer1 = new OpenLayers.Layer.OSM();
var all= new OpenLayers.Layer.WMS("regions, departements, usines", "http://localhost:8080/geoserver/pipelinepg/wms",
{layers:'regions, departements, usines', transparent:"true"}
);
map.addLayers([osmLayer1,all]);
Merci pour votre aide
Hors ligne
#2 Tue 26 December 2017 22:51
Re: Afficher une couche sur carte du monde via pageweb openlayer/geoserver
Bonjour,
Avez-vous enlevé les espaces entre les noms des "layers" comme ci-dessous ?
Code:
var all= new OpenLayers.Layer.WMS("regions,departements,usines", "http://localhost:8080/geoserver/pipelinepg/wms", {layers:'regions, departements, usines', transparent:"true"} );
Avez-vous essayé de séparer les couches (pour debugger en particulier) en faisant?
var regions = new OpenLayers.Layer.WMS( "regions", "http://localhost:8080/geoserver/pipeline/wms",{layers:'regions',transparent:"true"});
var departements = new OpenLayers.Layer.WMS( "departements", "http://localhost:8080/geoserver/pipeline/wms",{layers:'departements',transparent:"true"});
var usines = new OpenLayers.Layer.WMS( "usines", "http://localhost:8080/geoserver/pipeline/wms",{layers:'usines',transparent:"true"});
map.addLayers([regions, departements, usines]);
Une autre remarque est de passer à la nouvelle version de OpenLayers: le code que vous utilisez est lié à OpenLayers 2 qui fonctionne encore mais n'est plus maintenu du tout.
Ne connaissant pas les circonstances de votre projet, à vous de voir ce que vous faites de ce dernier conseil de ma part.
Cordialement
Thomas
Hors ligne
#3 Wed 03 January 2018 17:10
- Pascal Boulerie
- Participant assidu
- Lieu: France
- Date d'inscription: 12 Sep 2005
- Messages: 2947
- Site web
Re: Afficher une couche sur carte du monde via pageweb openlayer/geoserver
à noter que Kenji a le même problème que... Benji :
http://www.forumsig.org/showthread.php/ … openlayers
et qu'il est étudiant :
http://www.forumsig.org/showthread.php/ … post351250
et que vu l'intitulé de sa formation, il doit être étudiant du Master M2 IASIG de l'AUF
(ce qui semble être confirmé par le fait que son jeu de données porte sur l'oléoduc Tchad - Cameroun)
« L'État est désormais quasi déliquescent. » (José Cohen-Aknine, ingénieur X-Ponts, IGPEF, dans Déliquescence et renaissance de l'État.)
Hors ligne
Pages: 1
- Sujet précédent - Afficher une couche sur carte du monde via pageweb openlayer/geoserver - Sujet suivant