У меня есть ортофото области, которая должна служить фоновой картой для моих векторов. Я получил его в виде 2500 файлов (71,5 МБ каждый) в необработанном формате TIFF с соответствующим файлом слов TFW - 180 ГБ данных. Система координат является локальной и соответствует моим векторам (для нее нет кода EPSG, но я назвал ее «32805» и дал правильное определение).
Для использования на настольном компьютере в MapInfo я преобразовал их в ECW (с некоторым инструментом, который поставляется с MapInfo) и увеличил размер файла до 71, потому что открывать 2500 файлов TIFF - это излишне. Я только что слил 49 TIFF (7x7) в один ECW - 35000x35000 пикселей - самый большой - около 200 МБ). Он отлично работает и очень быстро работает в MapInfo.
Теперь я совсем запутался - КАК их обслуживать в GeoServer?
Я опубликовал один TIFF и один ECW для сравнения. ECW намного быстрее в браузере предварительного просмотра (я знаю о проблеме лицензирования сервера ECW, но это не должно быть проблемой). Я нашел презентацию «GeoServer на стероидах» и прочитал о ImageMosaic, ImagePyramid, ретайлинге, добавлении обзора и т. Д. Это было довольно информативно, но все еще не знаю, что делать.
Мой вопрос: как мне это сделать? Мозаика или пирамида, и если один из ответов положительный, мне нужен ваш совет или несколько советов. Я действительно хотел бы быть ECW из-за дискового пространства, поэтому нет необходимости хранить 180 ГБ TIFF на сервере.
Данные будут передаваться через локальную сеть максимум с 20 пользователями, подключенными в час пик. На сервере Oracle не так много данных. Извините, если я пропустил какую-то другую информацию, но я отправлю ее, если потребуется.
Geoserver 2.1.4, Windows 7 32-битная, 2 ГБ системной памяти, (1.7.0_09 (серверная виртуальная машина Java HotSpot TM), собственный JAI + собственный 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
источник
Ответы:
Я провел эксперимент с файлом TIFF и ECW. Начал с ECW 1,2 ГБ, и преобразовал его в TIFF со сжатием и пирамидами, это было ~ 1,5 ГБ. Поэтому я думаю, что TIFF может быть размером с ECW.
Я бы мозаику изображения с использованием GDAL, гарантируя, что сжатие включено. Затем создайте пирамиды, и если полученный файл будет приемлемым (менее 10 ГБ, я полагаю), я просто позволю GeoServer сделать все остальное.
Я понимаю, что производительность между PostGIS и TIFF будет благоприятствовать.
Ссылки:
источник
У меня была похожая проблема несколько недель назад. Я решил это так:
Таким образом, вы получаете MRDB (базу данных с множественным разрешением), которая является наиболее эффективным способом обслуживания большого количества данных.
После вышеупомянутого вы можете просто подключить GeoServer к PostGIS и обслуживать ваши данные. Исходя из моего собственного примера, мне пришлось использовать 82 ортофотокарты (40 ГБ данных) в моем приложении, поэтому я сделал так, как следует, и это прекрасно работает! Недостатком этой ситуации является то, что растровые тайлы намного больше исходных. Так что в моем случае данные выросли с 40 ГБ до ~ 96 ГБ.
РЕДАКТИРОВАТЬ И вы должны следить за параметрами вашего сервера, потому что 2 ГБ ОЗУ и win7 + геосервер + postgres могут иногда подавиться. Возможно, хорошим способом увеличения производительности было бы перемещение БД на другую машину или изменение Win7 на Linux (или оба этих варианта), потому что система * nix дешевле, чем система MS.
источник