Bonjour,
après 105 heures de travail/lecture/et autres en 6 jours et malgrès l'aide des bonnes âmes de georezo, je n'arrive pas à résoudre mon problème : Ma couche de donnée wms issue de mapserver se balade partout sauf où elle devrait être. Quelqu'un aurait-il une idée de mon(mes) erreur(s) ?
Détails :
- Ubuntu 12.04 + ubuntugis stable en VM
- mapserver 6.0.3 + openlayers 2.12
- ma page html est : carte.html, couplée à une feuille carte.css et carte.js
HTML :
CSS
JS
- j'ai créé un mapfile à partir de données topo de l'IGN en L93
je peux changer le srs dans le fichier.js par ce que je veux("tata", "2154", "4326", ...), cela ne change rien alors qu'il me semble que cela devrait modifier quelque chose.
Avec 4326 comme code epsg de ma couche, elle apparaît en Belgique au maxextent, puis si je zoome seule une tuile transparente centrée sur le Nigéria représente ma donnée, puis si je zoome encore j'ai toujours une tuile transparente mais dans l'Atlantique sud.
Si une bonne âme pouvait m'expliquer où se trouve mon erreur ...
En tout cas merci par avance à tous ceux qui atterrissent ici.
après 105 heures de travail/lecture/et autres en 6 jours et malgrès l'aide des bonnes âmes de georezo, je n'arrive pas à résoudre mon problème : Ma couche de donnée wms issue de mapserver se balade partout sauf où elle devrait être. Quelqu'un aurait-il une idée de mon(mes) erreur(s) ?
Détails :
- Ubuntu 12.04 + ubuntugis stable en VM
- mapserver 6.0.3 + openlayers 2.12
- ma page html est : carte.html, couplée à une feuille carte.css et carte.js
HTML :
Code:
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>Première carte avec OpenStreetMap</title>
<script type="text/javascript" src="OpenLayers-2.12/lib/OpenLayers.js"></script>
<link rel="stylesheet" href="carte.css" type="text/css">
</head>
<body onload="init()">
<div id="map">
<script type="text/javascript" src="carte.js"></script>
</div>
</body>
</html>
Code:
#map {
width: 800px;
height: 520px;
border: 1px solid #000;
}
Code:
function init() {
var map = new OpenLayers.Map('map', {controls:[]});
var osmLayer = new OpenLayers.Layer.OSM();
var wms = new OpenLayers.Layer.MapServer("communes", "http://localhost/cgi-bin/mapserv?map=/var/www/mapfile/admin.map&",
{layers: "communes",
isBaseLayer: false,
transparent: true,
srs: "2154"
}
);
map.addLayer(wms);
map.addLayer(osmLayer);
/*map.setCenter(new OpenLayers.LonLat(80000, 6005000), 12);*/
map.zoomToMaxExtent();
map.addControl(new OpenLayers.Control.LayerSwitcher());
map.addControl(new OpenLayers.Control.Navigation());
map.addControl(new OpenLayers.Control.PanZoomBar());
}
Code:
MAP
NAME "communes"
STATUS ON
SIZE 600 400
EXTENT -180 -90 180 90
UNITS DD
SHAPEPATH "/var/www/data_carto/H_ADMINISTRATIF/"
IMAGECOLOR 255 255 255
TRANSPARENT ON
PROJECTION
"init=epsg:4326"
END # PROJECTION
#
# Start of web interface definition
#
WEB
IMAGEPATH "/var/www/image_tmp/"
IMAGEURL "/image_tmp/"
METADATA
"wms_title" "WMS Alea Demo Server"
"wms_onlineresource" "localhost/cgi-bin/mapserv?map=/var/www/mapfile/admin.map&"
# "wms_srs" "epsg:2154"
"wms_format" "image/png"
"wms_enable_request" "*"
END # METADATA
END # WEB
#
# Start of layer definitions
#
LAYER
NAME "communes"
TYPE POLYGON
DATA COMMUNE
STATUS DEFAULT
OPACITY 75
CLASS
NAME "communes"
OUTLINECOLOR 0 0 255
END # CLASS
METADATA
"wms_title" "communes"
END # METADATA
EXTENT 462600 6622000 491000 6746000
UNITS meters
PROJECTION
"init=epsg:4326"
END
END # LAYER
END # MAP
Avec 4326 comme code epsg de ma couche, elle apparaît en Belgique au maxextent, puis si je zoome seule une tuile transparente centrée sur le Nigéria représente ma donnée, puis si je zoome encore j'ai toujours une tuile transparente mais dans l'Atlantique sud.
Si une bonne âme pouvait m'expliquer où se trouve mon erreur ...
En tout cas merci par avance à tous ceux qui atterrissent ici.