2009-11-23 2 views
1

J'essaye d'installer Mapnik + tilecache mais je ne vois pas de tuiles dans le navigateur quand je mets les paramètres de bbox dans Tilecache.cfg et Openlayers mais quand je ne spécifie pas la bbox fonctionne bien et je peux voir les carreaux de la carte réelle.Openlayers + Mapnik + Problème de configuration de Tilecache

Je me demandais si quelqu'un pouvait signaler le problème dans le code. Je pense avoir tout essayé (dans ma capacité limitée) et ne pas vraiment comprendre pourquoi cela ne fonctionnerait pas. D'ailleurs toutes les couches de cartes (pour le style mapnik) proviennent d'une base de données PostGIS et ont des projections différentes et sont transformées à la volée par Mapnik.

OpenLayers code:

 var map, layer; 

    function init(){ 
     var map, layer; 

      var options =  { 
        numZoomLevels:20, 
        maxResolution: 360/512, 
        projection: "EPSG:4326", 
        maxExtent: new OpenLayers.Bounds(-2.0,50.0,2.0,54.0) 
        //not working when uncommented 
       }; 

     map = new OpenLayers.Map('map', options); 
     layer = new OpenLayers.Layer.WMS("Map24","tilecache.py?", 
            { 
             layers:'mapnik24', 
             format: 'image/png', 
             srs: 'EPSG:4326' 
            }); 
     map.addLayer(layer); 
     map.addControl(new OpenLayers.Control.PanZoomBar()); 
     map.addControl(new OpenLayers.Control.MousePosition()); 
     map.addControl(new OpenLayers.Control.LayerSwitcher()); 
     map.addControl(new OpenLayers.Control.Permalink("permalink")); 

     if (!map.getCenter()) map.zoomToMaxExtent(); 
    } 

Tilecache.cfg:

[mapnik24]

type = Mapnik

mapfile =/somedit/map24.xml

bbox = -2,0,50.0,2.0,54.0

niveaux = 20

srs = EPSG: 4326

projection = + proj = latlong + = donnée WGS84

- Merci, A

Répondre

1

En regardant votre code, je pense que vous demandent la région délimitée par 50 et 54 degrés est, et 2 degrés nord et sud. Est-ce correct?

Si c'est le cas, alors je pense que vos limites sont dans le mauvais sens. -2 degrés (sud) devraient être en bas, et 2 degrés (nord) devraient être en haut. Donc, la bbox devrait être 2.0,50.0,-2.0,54.0.

Aussi, en regardant cette région dans OpenStreetMap il semble qu'il n'y a pas beaucoup là-bas, est-ce vraiment ce que vous avez l'intention?

3

Les paramètres du constructeur OpenLayers.Bounds sont dans l'ordre à gauche, en bas, à droite en haut. En prenant les limites que vous utilisez changer votre javascript est:

  var options =  { 
       numZoomLevels:20, 
       maxResolution: 360/512, 
       projection: "EPSG:4326", 
       maxExtent: new OpenLayers.Bounds(50.0,-2.0,54.0,2.0) 
       //not working when uncommented 
      }; 

Avez-vous essayé de brancher les paramètres pour tilecache.py directement pour voir si une tuile est générée?