Pages: 1
- Sujet précédent - [Geoserver + ImagePyramid]Créer une pyramide pour Geoserver - Sujet suivant
#1 Tue 01 December 2009 12:08
- r.c
- Participant occasionnel
- Date d'inscription: 5 Nov 2009
- Messages: 13
[Geoserver + ImagePyramid]Créer une pyramide pour Geoserver
Bonjour tout le monde,
Etant donné qu'il n'a pas été évident pour moi d'arriver à créer des pyramides sur Geoserver, je poste ici ce qui n'est pas un tutoriel, mais en tout cas des explications sur toutes les étapes que je fais pour créer cette pyramide.
En espérant que ça aide ceux qui ont du mal à trouver des tutos là dessus.
/* ***************************** */
/* Créer une pyramide pour Geoserver */
/* ***************************** */
1)
Télécharger et installer Geoserver 2.0.0
Télécharger et installer l'outil "FWTools"
2)
Créer un dossier dans Geoserver où les données sont accessibles :
Exemple : C:/Program Files/Geoserver 2.0.0/data_dir/data/myblueworld/
De même, créer un dossier appelé “tiles” dans le dossier « myblueworld ».
Placer l’image GeoTIFF préalablement géo référencée par un outil du type Global Mapper dans le dossier myblueworld.
3)
Lancer FWTools, puis se déplacer vers le dossier « myblueworld ».
Exemple pour un GeoTIFF de 52Mo en 21600x21600 géo référencée en EPSG :4326
Taper la commande :
gdal_retile –levels 7 -ps 5400 2700 –co « TILED=YES » -co « BLOCKXSIZE=512 » -co « BLOCKYSIZE=512 » -v –s_src EPSG:4326 –targetDir tiles mypicture.tif
4)
Maintenant, le dossier “tiles” contient une série de dossiers (de 1 à 7) et des images au format tif. Chaque dossier correspond à un niveau de la pyramide. Les images qui ne sont pas dans ces 7 dossiers sont les images du niveau 0.
5)
Créer donc un dossier nommé « 0 » et placer toutes ces images dans ce dossier.
L’arborescence de la pyramide est donc créée.
6)
Maintenant, pour chaque niveau, il faut construire l’index de la pyramide.
Démarrer Geoserver et créer un nouvel espace de travail pour que ce soit plus clair.
Appelons le « my ».
7)
Créer un nouvel entrepôt et sélectionner ImageMosaic.
Dans la liste déroulante « Espace de travail », choisir « my ».
Entrer un nom quelconque dans « Nom de la source de données » puis dans Paramètres de connexion>URL taper :
file:data/myblueworld/tiles/0/
Après avoir cliqué sur le bouton « Sauvegarder », des fichiers devraient être créés dans le dossier « 0 ». Il s’agit de : 0.dbf, 0.prj, 0.properties, 0.shp et 0.shx.
Cette étape consistait juste à créer ces fichiers. Supprimer maintenant tout ces entrepôts.
Répéter l’étape 7 pour tous les dossiers de 1 jusqu’à 7.
8)
Maintenant que chacune des mosaïques est créée dans chaque dossier, il faut créer l’index de la pyramide qui va contenir les informations de l’organisation de cette pyramide.
Créer un fichier dans le dossier « tiles » nommé « pyramid.properties ».
Insérer dedans :
Exemple pour l’arborescence créée à partir du GeoTIFF de l’étape 3) :
Code:
Name=blueworld Levels=0.0166666666666667,0.0166666666666667 0.0333333333333334,0.0333333333333334 0.0666666666666668,0.0666666666666668 0.1333333333333336,0.1333333333333336 0.2666666666666672,0.2666666666666672 0.5333333333333344,0.5333333333333344 1.0666666666666689,1.0666666666666689 2.1333333333333377,2.1333333333333377 LevelsDirs=0 1 2 3 4 5 6 7 LevelsNum=8 Envelope2D=-180.0,-90.00000000000037 180.00000000000074,90.0
En détails, voici ce qu’il faut mettre :
Name : un nom, peut importe lequel
Levels : tous les niveaux de chaque fichiers properties de la pyramide séparés par des virgules de la forme : a,b c,d etc… C’est un peu long car il faut ouvrir tous les fichiers. Comme il y a 8 niveaux dans la pyramide, il y a 16 nombres à entrer.
LevelsDirs : les noms des dossiers de la pyramide.
LevelsNum : tout simplement le nombre de niveaux que la pyramide possède. Attention, même si dans la commande « gdal_retile » nous demandons 7 niveaux, il n’en demeure pas moins que c’est 8 niveaux qui sont créés. (dossiers de 0 à 7, donc 8 dossiers pour 8 niveaux).
Envelope2D : prendre cette ligne dans le fichier 0>0.properties
9)
Maintenant il faut créer le reste de l’index de la pyramide.
Comme dans l’étape 7) créer un nouveau entrepôt, toujours en utilisant l’espace de travail « my ». Cette fois-ci dans l’URL taper :
file:data/myblueworld/tiles/
Ceci aura l’effet de créer des nouveaux fichiers comme dans l’étape 7).
Supprimer parmi eux le fichier properties qui est venu s’ajouter, et qui n’est pas celui créé à l’étape 8). Renommer le reste des fichiers en pyramid.prj, pyramid.dbf etc… Le tout c’est que ces 5 fichiers portent le même nom (mais bien sûr pas la même extension).
Une fois cette étape achevée, supprimer cet entrepôt.
10)
Télécharger l’extension ImagePyramid et placer ce JAR appelé « gt-imagepyramid-2.6.0.jar » dans le dossier approprié de Geoserver :
C:\Program Files\GeoServer 2.0.0\webapps\geoserver\WEB-INF\lib\
Redémarrer Geoserver pour prendre en compte cet ajout d’extension.
11)
Créer un dernier entrepôt mais cette fois-ci choisir « ImagePyramid ».
Choisir encore l’espace de travail « my » puis entrer le nom « blueworld » dans la case « Nom de la source de données ».
12)
Dans Paramètres de connexion>URL, taper :
file:data/myblueworld/tiles/pyramid.properties
La pyramide est créée. Elle devrait normalement s’appeler “0”. En cliquant dessus, la renommer en « blueworld » puis cliquer sur Sauvegarder
La pyramide est maintenant créée et prête à être visionnée dans le menu « Prévisualisation de la couche » puis cliquer sur OpenLayers à la ligne correspondant à votre nouvelle pyramide.
Si tout se passe bien, l’image s’affiche bien. Pour vérifier que Geoserver utilise bien la pyramide, renommer par exemple le fichier « 4 » en « 4_BACKUP ».
Dans le visionnage du résultat, lorsque le zoom est de moitié, la carte ne devrait pas s’afficher à un certain niveau de zoom.
Hors ligne
#2 Thu 26 August 2010 11:08
- GeoPAN
- Juste Inscrit !
- Date d'inscription: 6 Jul 2010
- Messages: 7
Re: [Geoserver + ImagePyramid]Créer une pyramide pour Geoserver
Testé avec une pyramide de plus de 40Go. Ça fonctionne. Dans mon cas, l'étape de suppression du fichier pyramide.properties (étape 9) n'a pas été nécessaire.
Merci
Hors ligne
Pages: 1
- Sujet précédent - [Geoserver + ImagePyramid]Créer une pyramide pour Geoserver - Sujet suivant