GeoServer: le meilleur moyen de publier 2500 fichiers TIFF ou 71 fichiers ECW?

13

J'ai des ortophotographies d'une zone dont j'ai besoin pour servir de fond à mes vecteurs. Je l'ai obtenu sous la forme de 2500 fichiers (71,5 Mo chacun) au format TIFF brut avec le fichier de mots TFW correspondant - 180 Go de données. Le système de coordonnées est local et il correspond à mes vecteurs (il n'y a pas de code EPSG mais je l'ai nommé «32805» et mis une définition appropriée).

Pour une utilisation bureautique dans MapInfo, je les ai convertis en ECW (avec un outil fourni avec MapInfo) et je les retile beaucoup plus pour n'avoir que 71 fichiers car l'ouverture de 2500 fichiers tiff est exagérée. Je viens de fusionner 49 TIFF (7x7) en un ECW - 35000x35000pixels - le plus grand est d'environ 200 Mo). Il fonctionne très bien et c'est très rapide dans MapInfo.

Maintenant, je suis assez confus - COMMENT les servir dans GeoServer?

J'ai publié un TIFF et un ECW pour comparaison. ECW est beaucoup plus rapide dans l'aperçu du navigateur (je suis conscient du problème de licence du serveur ECW mais cela ne devrait pas être un problème). J'ai trouvé une présentation «GeoServer sur les stéroïdes» et j'ai lu sur ImageMosaic, ImagePyramid, le retiling, l'ajout d'un aperçu, etc. c'était assez informatif mais je ne sais toujours pas quoi faire.

Ma question est: comment dois-je le faire? Mosaïque ou Pyramide, et si l'une des réponses est positive, j'ai besoin de vos conseils ou de quelques conseils. J'aimerais vraiment être ECW à cause de l'espace disque, donc il n'y aura pas besoin de garder 180 Go de tiff sur un serveur.

Les données seront servies via LAN avec un maximum de 20 utilisateurs connectés aux heures de pointe. Le serveur SQL n'a pas une quantité de données aussi énorme. Désolé si je manque d'autres informations, mais je vous les enverrai si nécessaire.


Geoserver 2.1.4, Windows 7 32 bits, 2 Go de mémoire système, (1.7.0_09 (machine virtuelle Java HotSpot (TM) Server), Native JAI + Native JAI ImageIO = true


Original TIFF
gdalinfo D:\75720-47970.tif
Driver: GTiff/GeoTIFF
Files: D:\75720-47970.tif
       D:\75720-47970.tfw
Size is 5000, 5000
Coordinate System is `'
Origin = (7572000.000000000000000,4797500.000000000000000)
Pixel Size = (0.100000000000000,-0.100000000000000)
Metadata:
  TIFFTAG_SOFTWARE=Adobe Photoshop 7.0
  TIFFTAG_DATETIME=2006:10:09 13:02:57
  TIFFTAG_XRESOLUTION=72
  TIFFTAG_YRESOLUTION=72
  TIFFTAG_RESOLUTIONUNIT=2 (pixels/inch)
Image Structure Metadata:
  INTERLEAVE=PIXEL
Corner Coordinates:
Upper Left  ( 7572000.000, 4797500.000)
Lower Left  ( 7572000.000, 4797000.000)
Upper Right ( 7572500.000, 4797500.000)
Lower Right ( 7572500.000, 4797000.000)
Center      ( 7572250.000, 4797250.000)
Band 1 Block=5000x1 Type=Byte, ColorInterp=Red
Band 2 Block=5000x1 Type=Byte, ColorInterp=Green
Band 3 Block=5000x1 Type=Byte, ColorInterp=Blue
-------------

ECW file which is retiled from 7x7  original tiffs

gdalinfo D:\OF-45.ecw
Driver: ECW/ERDAS Compressed Wavelets (SDK 3.x)
Files: D:\OF-45.ecw
Size is 35000, 35000
Coordinate System is:
LOCAL_CS["LOCAL - (unsupported)",
    UNIT["Meter",1]]
Origin = (7571500.000000000000000,4798500.000000000000000)
Pixel Size = (0.100000000000000,-0.100000000000000)
Corner Coordinates:
Upper Left  ( 7571500.000, 4798500.000)
Lower Left  ( 7571500.000, 4795000.000)
Upper Right ( 7575000.000, 4798500.000)
Lower Right ( 7575000.000, 4795000.000)
Center      ( 7573250.000, 4796750.000)
Band 1 Block=35000x1 Type=Byte, ColorInterp=Red

  Overviews: 17500x17500, 8750x8750, 4375x4375, 2187x2187, 1093x1093, 546x546, 273x273, 136x136
Band 2 Block=35000x1 Type=Byte, ColorInterp=Green
  Overviews: 17500x17500, 8750x8750, 4375x4375, 2187x2187, 1093x1093, 546x546, 273x273, 136x136
Band 3 Block=35000x1 Type=Byte, ColorInterp=Blue
  Overviews: 17500x17500, 8750x8750, 4375x4375, 2187x2187, 1093x1093, 546x546, 273x273, 136x136
sys49152
la source
sys49152: l'une ou l'autre de ces réponses répond-elle vraiment à votre question?
BradHards
Oui, les deux m'ont aidé. Mais je n'ai pas ArcGIS, j'ai donc utilisé GDAL. J'ai comparé ECW et TIF. J'ai d'abord essayé les TIF. Cela a bien fonctionné, puis j'ai essayé les carreaux ECW tels quels. Le chargement dans les navigateurs Web a été beaucoup plus rapide avec ECW! Mais après un certain temps de temps en temps mon crash Tomcat. Je ne sais pas comment résoudre ce problème, mais il semble lié à l'ECW. Lorsque je n'utilise pas ECW, Tomcat est stable.
sys49152

Réponses:

7

J'ai mené une expérience avec un fichier TIFF et une ECW. Commencé avec une ECW de 1,2 Go et converti en TIFF avec compression et pyramides, il était d'environ 1,5 Go. Je pense donc qu'un TIFF peut avoir une taille similaire à une ECW.

Je mosaïque l'image à l'aide de GDAL, en veillant à ce que la compression soit activée. Ensuite, construisez des pyramides, et si le fichier résultant est raisonnable (moins de 10 Go, je suppose), je laisserais simplement GeoServer faire le reste.

Les performances entre PostGIS et TIFF favoriseront le tiff, je comprends.

Les références:

Alex Leith
la source
c'est la réponse exacte que j'ai donnée avant !!
Krystian
7

J'ai eu un problème similaire il y a quelques semaines. Je l'ai résolu de cette façon:

  1. création d'une image rasters de pyramides (tous les rasters avaient des pyramides dépend du taux d'échelle standard dans mon projet
  2. création de tuiles à partir d'un raster (mosaïque)
  3. mettre tous les fichiers dans postgis (par WKTRaster )

De cette façon, vous obtenez MRDB (base de données multi-résolution) qui est le moyen le plus efficace de traiter une grande quantité de données.

Après, vous pouvez simplement connecter GeoServer à PostGIS et servir vos données. Sur la base de mon propre exemple, j'ai dû utiliser 82 ortophotomaps (40 Go de données) dans mon application, j'ai donc fait comme suit et cela fonctionne très bien! L'inconvénient de cette situation est que les tuiles raster sont beaucoup plus grandes que celles d'origine. Donc, dans mon cas, les données sont passées de 40 Go à ~ 96 Go.

EDIT Et vous devriez surveiller les paramètres de votre serveur car 2 Go de RAM et win7 + geoserver + postgres peuvent parfois s'étouffer. Peut-être qu'un bon moyen d'augmenter les performances serait de déplacer la base de données vers une autre machine, ou de changer Win7 en Linux (ou les deux) parce que le système * nix est moins cher qu'un MS.

Krystian
la source
Quel était le format des données d'origine (par exemple, TIFF non compressé, ECW, MrSID, etc.)? Comment avez-vous configuré cette couche dans GeoServer?
BradHards
J'ai eu des geoTIFF sans aucune compression, et sur la configuration des couches, vous pouvez lire ici: docs.geoserver.org/stable/en/user/data/raster/… et sur l'instalation postgis raster ici: gis4free.wordpress.com/2011/03/ 10 /… Je vous propose de parcourir la page WKTRaster que je vous ai donnée dans ma réponse ci-dessus.
Krystian
Désolé, je voulais que vous publiez votre configuration exacte.
BradHards
Je ne comprends pas, vous voulez mes fichiers de configuration par exemple? Si oui, montrez-moi quels fichiers, ou peut-être pourriez-vous me montrer quels sont vos problèmes.
Krystian
2
Je n'en ai pas. Je veux cependant obtenir suffisamment d'informations pour que l'affiche originale trouve une solution viable. Vous avez montré une réponse sans les vrais outils et la configuration spécifique. Montrez les étapes pour créer le raster pyramidal, montrez la ligne de commande exacte ou tout autre processus pour faire le raster mosiac, montrez les outils spécifiques que vous avez utilisés pour WKTRaster, montrez la configuration pour le géoserveur et la configuration du raster postgis.
BradHards