#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
Re: [TileCache] : Config TileCache : tuiles blanches
Bonjour,
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
Re: [TileCache] : Config TileCache : tuiles blanches
et bien cela signifie que c'est bien une image
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