banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

#1 Mon 28 June 2010 15:37

Fol
Participant occasionnel
Date d'inscription: 28 Jun 2010
Messages: 13

[Openlayers, Tilecache, Mapserver] Impossible de visualiser la carte

Bonjour,

J'essaie depuis quelques jours de mettre en place Tilecache entre Openlayers et Mapserver.
Sans Tilecache, ca fonctionne, pas de soucis. L'exemple fourni avec Tilecache fonctionne également, en CGI ou avec le mod_python. Seulement, ca coince quand j'essaie d'y mettre mes propres données...

Je n'ai aucun message d'erreur avec Firebug, uniquement une carte blanche. Je suspecte le système de projection (mes données sont en Lambert II étendu), la bbox ou quelque chose de ce genre là. En bref, je bloque sur un écran blanc...


Un bout du code javascript du *.html :

Code:

            var wms_sigma = new OpenLayers.Layer.WMS( 
                "Tilecache", 
                "http://localhost/tilecache-2.10/tilecache.py?",
                {layers: 'myOwnLayer'},
                {
                    projection: new OpenLayers.Projection("EPSG:27582"),
                    isBaseLayer: false,
                    numZoomLevels: 17,
                    visibility: true,
                    format: 'image/png',
                    maxResolution: 20,
                    maxExtent: new OpenLayers.Bounds(70000,2410000,80000,2420000)
                }
            );

            var options = {
                projection: new OpenLayers.Projection("EPSG:27582"),
                displayProjection: new OpenLayers.Projection("EPSG:27582"),
                units: "m",
                numZoomLevels: 10,
                };
            var map = new OpenLayers.Map('map', options);
            map.addLayers([poly_ex_wfs, wms_sigma]);

Ce qu'il y a dans mon tilecache.cfg :

Code:

[myOwnLayer]
type=WMSLayer
url=http://localhost/cgi-bin/mapserv?map=/var/www/tests/lanildutMap/ign.map
layers=ign
bbox=70000,2410000,80000,2420000
srs=EPSG:27582
extent_type=loose
maxResolutions=20
levels=10
extension=png
metaTile=true

Concernant le mapfile, je ne pense pas que ce doit intéressant de le mettre, étant donné qu'à priori il ne change pas énormément. Juste un "EXTENT" à ne pas oublier et enlever les possibles "wms_extent" si je ne raconte pas de bêtises.

Merci d'avance !

Hors ligne

 

#2 Mon 28 June 2010 16:20

Guillaume Sueur
Participant assidu
Lieu: Toulouse
Date d'inscription: 23 Sep 2005
Messages: 331
Site web

Re: [Openlayers, Tilecache, Mapserver] Impossible de visualiser la carte

Hello,

Je pense que dans la config Tilecache maxResolution est au singulier.

Sinon pour en savoir un peu plus sur un éventuel mauvais paramétrage, récupère l'url d'un tuile dans Firebug et affiche là dans un nouvel onglet. Il peut s'y trouver des infos intéressantes.

A plus

Guillaume

Hors ligne

 

#3 Tue 29 June 2010 11:42

Fol
Participant occasionnel
Date d'inscription: 28 Jun 2010
Messages: 13

Re: [Openlayers, Tilecache, Mapserver] Impossible de visualiser la carte

Merci pour la rapidité de la réponse !

Effectivement, ca va mieux avec "maxResolution" au singulier.

Maintenant, après quelques bidouillages ca marche, mais... je ne sais pas trop pourquoi ni comment... Mon erreur devait être passablement stupide...

Au cas où, je dépose quand même les bouts de code arrangés, ca pourrait servir, même s'il est moche, redondant, etc.

Le code Openlayers :

Code:

var poly_ex_wfs = new OpenLayers.Layer.WFS(
    "poly_ex",
    "http://localhost/cgi-bin/mapserv?map=/var/www/tests/lanildutMap/poly_ex.map&",
    {
        projection: new OpenLayers.Projection("EPSG:27582"),
        typename: 'poly_ex',
        format: 'image/png',
        maxResolution: 19.53,
        maxExtent: new OpenLayers.Bounds(70000, 2400000, 80000, 2420000),
        reproject: false
    },
    {style: featureStyle(1, "#000000", "#993399", 0.5), extractAttributes: true, visibility: false}
);

var wms_sigma = new OpenLayers.Layer.WMS( 
    "Tilecache", 
    "http://localhost/tilecache-2.10/tilecache.cgi?",
    {layers: 'myOwnLayer'},
    {
        projection: new OpenLayers.Projection("EPSG:27582"),
        isBaseLayer: true,
        numZoomLevels: 10,
        format: 'image/png',
        maxResolution: 19.53,
        maxExtent: new OpenLayers.Bounds(70000, 2400000, 80000, 2420000)
    }
);

var options = {
    projection: new OpenLayers.Projection("EPSG:27582"),
    displayProjection: new OpenLayers.Projection("EPSG:27582"),
    units: "m",
    controls: [
        // ...
        ]
    };
map = new OpenLayers.Map('map', options);
map.addLayers([poly_ex_wfs, wms_sigma]);

Le code tilecache.cfg

Code:

[myOwnLayer]
type=WMSLayer
url=http://localhost/cgi-bin/mapserv?map=/var/www/tests/lanildutMap/ign.map
layers=tuiles
bbox=70000,2400000,80000,2420000
srs=EPSG:27582
extent_type=loose
maxResolution=19.53
levels=10
extension=png
metaTile=true

Dernière modification par Fol (Tue 29 June 2010 14:48)

Hors ligne

 

#4 Tue 29 June 2010 15:15

Fol
Participant occasionnel
Date d'inscription: 28 Jun 2010
Messages: 13

Re: [Openlayers, Tilecache, Mapserver] Impossible de visualiser la carte

Ahem... j'ai crié trop tôt victoire...

Alors oui, j'ai bien quelque chose qui s'affiche avec Tilecache. Je vois bien ma "grande" carte, composée de deux fichiers *.tif reliés entre eux par un shapefile. C'est ce shapefile qui est appelé dans le mapfile pour me servir de fond de carte.

Au chargement de la page, la carte est au "maxExtend", tout est nikel. Le hic survient lorsque je zoome. À ce moment là, je me retrouve avec deux fois la moitié nord de ma carte. De plus, la partie du haut (celle qui est à sa place) est tronquée en bas, ce qui donne un beau trou blanc entre les deux bouts de carte.

Je ne pense pas que cela vienne du shapefile ou du mapfile, étant donné que ca fonctionne sans soucis avec ces fichiers quand je n'incorpore pas TileCache...

Je suis perplexe. Quelqu'un aurait-il une idée ?
Merci.

Hors ligne

 

Pied de page des forums

Powered by FluxBB