Tenho ortophotos de uma área que preciso servir como mapa de fundo para meus vetores. Comprei como 2500 arquivos (71,5MB cada) no formato bruto TIFF com o arquivo de palavra TFW correspondente - 180 GB de dados. O sistema de coordenadas é local e corresponde aos meus vetores (não há código EPSG para ele, mas o nomeei como "32805" e coloquei uma definição adequada).
Para uso na área de trabalho no MapInfo, eu os convertei para ECW (com alguma ferramenta que acompanha o MapInfo) e retilei muito mais para ter apenas 71 arquivos, porque abrir 2500 arquivos tiff é um exagero. Acabei de mesclar 49 TIFFs (7x7) em um ECW - 35000x35000pixels - o maior é cerca de 200MB) Funciona muito bem e é muito rápido no MapInfo.
Agora estou bastante confuso - COMO servi-los no GeoServer?
Publiquei um TIFF e um ECW para comparação. O ECW é muito mais rápido na visualização do navegador (estou ciente do problema de licenciamento do servidor ECW, mas isso não deve ser um problema). Eu encontrei uma apresentação “GeoServer em esteróides” e li sobre ImageMosaic, ImagePyramid, recontando, adicionando uma visão geral etc. foi bastante informativa, mas ainda não sei o que fazer.
Minha pergunta é: como devo fazer isso? Mosaico ou pirâmide, e se é uma das respostas positivas, preciso do seu conselho ou de algumas dicas. Eu realmente gostaria de ser ECW por causa do espaço em disco, para que não haja necessidade de manter 180 GB de tiff em um servidor.
Os dados serão veiculados através da LAN, com no máximo 20 usuários conectados no horário de ponta. O servidor SQL não possui uma quantidade tão grande de dados. Desculpe se sinto falta de outras informações, mas enviarei se necessário.
Geoserver 2.1.4, Windows 7 de 32 bits, 2 GB de memória do sistema (1.7.0_09 (VM do servidor Java HotSpot (TM)), JAI nativo + JAI nativo 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
fonte
Respostas:
Fiz uma experiência com um arquivo TIFF e um ECW. Iniciado com um ECW de 1,2 GB e convertido para TIFF com compactação e pirâmides, era de ~ 1,5 GB. Então, eu acho que um TIFF pode ter um tamanho semelhante a um ECW.
Mosaico a imagem usando GDAL, garantindo que a compactação esteja ativada. Em seguida, crie pirâmides e, se o arquivo resultante for razoável (menos de 10 GB, suponho), deixaria o GeoServer fazer o resto.
O desempenho entre o PostGIS e o TIFF favorecerá a disputa, eu entendo.
Referências:
fonte
Eu tive um problema semelhante há algumas semanas. Eu resolvi assim:
Dessa forma, você obtém o MRDB ( banco de dados com várias resoluções), que é a maneira mais eficaz de fornecer uma grande quantidade de dados.
Depois, você pode simplesmente conectar o GeoServer ao PostGIS e fornecer seus dados. Com base no meu próprio exemplo, eu tive que usar 82 ortophotomaps (40GB de dados) no meu aplicativo, então fiz o seguinte e funciona muito bem! A desvantagem dessa situação é que os blocos de varredura são muito maiores que os de origem. Então, no meu caso, os dados aumentaram de 40 GB para ~ 96 GB.
EDITAR E você deve monitorar os parâmetros do servidor, pois 2 GB de RAM e win7 + geoserver + postgres às vezes podem engasgar. Talvez uma boa maneira de aumentar o desempenho seja mover o banco de dados para outra máquina ou alterar o Win7 para Linux (ou ambos) porque o sistema * nix é mais barato que o sistema MS.
fonte