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é ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Wed 28 July 2010 14:30

zac
Participant occasionnel
Date d'inscription: 16 Apr 2009
Messages: 27

[TileCache] : Config TileCache : tuiles blanches

Bonjour,

Je développe une application webmapping grâce à Postgis/Mapserver/OL.
J'essaie d'installer TileCache afin d'accélérer les temps d'affichages de mes couches WMS. (shapefiles stockés dans PostGis grâce à un shp2pgsql).
Je me suis aidé des tutoriels sur le web (Osgeo, neogeo) et des discussions déjà présentes sur le forum (http://georezo.net/forum/viewtopic.php?id=60746&p=2, http://georezo.net/forum/viewtopic.php? … tilecache) qui m'ont beaucoup aidé.

J'ai toutefois encore quelques soucis : je n'arrive pas à faire fonctionner l'exemple de TileCache, j'obtiens l'erreur suivante "urlopenerror(11001;'getaddinfo failed')" et du coup des tuiles roses. Je suppose que c'est un problème de proxy. Ce post, (http://www.forumsig.org/showthread.php? … =tilecache) montre un blocage du au proxy, mais le message d'erreur n'est pas le même. Il faudrait que je teste sur un autre ordinateur sans proxy.


Concernant l'affichage des couches en local. J'ai la config suivante :
tilecache.cfg :

Code:

[cache]
type=DiskCache
base=c:/ms4w/Apache/htdocs/tilecache

Dans le httpd.conf, j'ai ajouté les lignes :

Code:

<Directory /ms4w/Apache/htdocs/tilecache>
    AddHandler cgi-script .cgi
    Options +ExecCGI
</Directory>

et

Code:

Alias /tilecache/ "c:/ms4w/Apache/htdocs/tilecache/"
<Directory "c:/ms4w/Apache/htdocs/tilecache/">
  AllowOverride None
  Options Indexes FollowSymLinks Multiviews 
  Order allow,deny
  Allow from all
  Options -Indexes
</Directory>

Voici la config TileCache :

Code:

[parc_digit_fd]
type=WMS
url=url=http://xxxxxxxxxxxxxxxxxxxxxxxxxx.fr/cgi-bin/mapserv.exe?map=c:/ms4w/Apache/htdocs/mapfile.map&
bbox=265000,580000,290600,605600
layers=parc_digit_fd
srs=EPSG:2972
extent_type=loose
resolutions=0.390625,0.1953125,0.09765625,0.048828125
maxresolution=0.390625
levels=4
extension=png
metaTile=true

Voici le bloc Outputformat dans le mapfile :

Code:

OUTPUTFORMAT
        NAME png
        DRIVER "GD/PNG"
        MIMETYPE "image/png"
        IMAGEMODE PC256
        EXTENSION "png"
        TRANSPARENT ON    
        FORMATOPTION "INTERLACE=OFF"
    END

Et enfin le code OL :

Code:

function init(){
            map = new OpenLayers.Map( $('map'), {'maxResolution': 0.390625, 
                            projection: new OpenLayers.Projection("EPSG:2972"),
                            maxExtent: new OpenLayers.Bounds(265000,580000,290600,605600),
                            units:"m"});
            layer = new OpenLayers.Layer.WMS( "parc_digit_fd","http://localhost/tilecache/tilecache.cgi?", {layers: 'parc_digit_fd', format: 'image/png' } );
            map.addLayer(layer);
            map.addControl(new OpenLayers.Control.Permalink());
            if (!map.getCenter()) map.zoomToMaxExtent();
        }

Lorsque je lance tileseed pour un niveau, j'obtiens les messages suivants :

Code:

Cachehit: 291000.0, 606000.0, 291100.0, 606100.0,
Tile: x:260, y:260, z:0
time: 0.0, debug: True
00<000260,000260>=<291000 606000 291100 606100>
[0.0000s: 154,187/s] 2809/2704

Mais je n'obtiens aucune tuile dans mon dossier "tiles" qui est pourtant autorisé en écriture.


Lorsque je lance le html, j'obtiens des dalles blanches. En inspectant avec Firebug, j'obtiens l'url suivante :

Code:

http://localhost/tilecache/tilecache.cgi?LAYERS=parc_digit_fd&FORMAT=image%2Fpng&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&SRS=EPSG%3A2972&BBOX=277600,592800,277700,592900&WIDTH=256&HEIGHT=256

En mettant cette adresse sous un nouvel onglet, j'obtiens également une dalle blanche.

Pour trouver les résolutions, j'ai utilisé le mapgetResolution() de Firebug.



Merci d'avance pour votre aide

Hors ligne

 

#2 Wed 28 July 2010 15:48

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9869
Site web

Re: [TileCache] : Config TileCache : tuiles blanches

Bonjour,

zac a écrit:

En mettant cette adresse sous un nouvel onglet, j'obtiens également une dalle blanche.


Je crois qu'il est possible de sauvegarder cette tuile puis de l'ouvrir comme un fichier texte. S'il y a des erreurs celles-ci seront affichées.

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 Wed 28 July 2010 15:56

zac
Participant occasionnel
Date d'inscription: 16 Apr 2009
Messages: 27

Re: [TileCache] : Config TileCache : tuiles blanches

Bonjour Yves,


J'ai réalisé cette manipulation. Malheureusement lorsque j'ouvre la tuile avec le bloc notes, j'obtiens un charabia de ce type

Code:

IHDR         k¬XT   PLTEÿÿÿ   d› Üxx            



   !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]

Donc impossible de déterminer une erreur

Hors ligne

 

#4 Wed 28 July 2010 16:27

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9869
Site web

Re: [TileCache] : Config TileCache : tuiles blanches

et bien cela signifie que c'est bien une image wink

et que je me suis un peu trompé. l'erreur xml aurait dû s'afficher dans le navigateur.

Pour l'instant je ne voie qu'une raison possible : l'extend n'est pas correcte et donc l'url tombe à un endroit où il n'y a pas de données.

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

 

#5 Wed 28 July 2010 17:32

zac
Participant occasionnel
Date d'inscription: 16 Apr 2009
Messages: 27

Re: [TileCache] : Config TileCache : tuiles blanches

Bien vu Yves !


Etant donné mes niveaux de zoom, je tombais sur un endroit sans données.
J'ai reéajusté les résolutions et ce coup ci je tombe bien dans la bbox.

Toutefois, j'affiche toujours des dalles blanches c'est bizarre.


Ce qui est étrange également c'est que le tileseed ne donne rien : il se lance (voir mon premier message pour les détails) mais ne crée pas de tuiles dans le répertoire associé (qui possède pourtant des droits en écriture).


C'est sûrement un petit détail qui me bloque la !


Merci encore !

Hors ligne

 

#6 Wed 28 July 2010 18:08

zac
Participant occasionnel
Date d'inscription: 16 Apr 2009
Messages: 27

Re: [TileCache] : Config TileCache : tuiles blanches

C'est bon le problème est réglé !
Autant pour moi une petite erreur dans le fichier de conf de tilecache et tout marche nickel !

Je vais passer aux optimisations suivantes !


Merci encore !

Dernière modification par zac (Thu 29 July 2010 15:19)

Hors ligne

 

#7 Thu 29 July 2010 16:22

zac
Participant occasionnel
Date d'inscription: 16 Apr 2009
Messages: 27

Re: [TileCache] : Config TileCache : tuiles blanches

Une dernière chose. J'ai encore un souci avec le tilecache_seed.
J'arrive à tuiler mes couches à la volée (en ayant toutefois quelques dalles roses malgré l'ajout de la ligne

Code:

OpenLayers.IMAGE_RELOAD_ATTEMPTS = 3;

) mais pour utiliser toute la puissance de tilecache, j'aimerais les tuiler d'avance.

tilecache_seed me sort un message de ce type :

Code:

###### (0, 0, 0), (1, 1, 0)
Cache miss: 265000.0,580000.0,290600.0,605600.0, Tile: x: 0, y: 0, z: 0, time: 1
.04700016975
00 (000000, 000000) = (265000.0000 580000.0000 290600.0000 605600.0000) [1.0470s
 : 0.955/s] 1/1
Traceback (most recent call last):
  File "c:\ms4w\Apache\htdocs\tilecache\tilecache_seed.py", line 9, in <module>
    TileCache.Client.main()
  File "c:\ms4w\Apache\htdocs\tilecache\TileCache\Client.py", line 162, in main
    seed(svc, layer, map(int, args[1:3]), bboxlist , padding=options.padding, fo
rce = options.force, reverse = options.reverse)
  File "c:\ms4w\Apache\htdocs\tilecache\TileCache\Client.py", line 117, in seed
    svc.renderTile(tile,force=force)
  File "c:\ms4w\Apache\htdocs\tilecache\TileCache\Service.py", line 140, in rend
erTile
    else: raise Exception("Zero length data returned from layer.")
Exception: Zero length data returned from layer.

Je n'obtiens qu'un bout du 1er niveau de zoom tuilé.
Par contre je me suis rendu compte que ma bbox était supérieure à l'extent de mes shapefiles. L'erreur vient peut être de cela ? Ce serait gênant car si l'on veut superposer plusieurs couches, il faut bien adapter la bbox de la map à l'extent de la couche la plus étendue.


Merci d'avance pour votre analyse du message d'erreur !

Hors ligne

 

#8 Thu 29 July 2010 17:21

zac
Participant occasionnel
Date d'inscription: 16 Apr 2009
Messages: 27

Re: [TileCache] : Config TileCache : tuiles blanches

Je viens de me rendre compte qu'en commençant le tuilage (grâce à tileseed) au niveau 2 cela fonctionne.
Le niveau 2 correspond du coup au niveau 0.

Etrange...

Hors ligne

 

Pied de page des forums

Powered by FluxBB