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
la source
Réponses:
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:
la source
J'ai eu un problème similaire il y a quelques semaines. Je l'ai résolu de cette façon:
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.
la source