Имеется большой набор tiff растров, которые вместе представляют собой карту. Стоит задача создать на их основе мозаику в GeoServer с помощью плагина Image Mosaic JDBC.
По гайду link всё было сделано и работает, но возникла проблема с перекрывающимися участками тайлов. Опишу процесс создания мозаики:
1) Исходные растры - это tiff файлы ~ 4000х3000, 3х канальный цвет различного типа (Byte, U16Int), NoData = 255. Каждый из них при помощи gdal_warp я перевожу в Byte, добавляю Альфа канал и устанавливаю значение Nodata = 0.
gdal_info одного из растров после операции gdal_warp:
Код: Выделить всё
Driver: GTiff/GeoTIFF
Files: oo2.tif
Size is 4085, 3771
Coordinate System is:
PROJCS["Pulkovo_1995_GK_Zone_23N",
GEOGCS["GCS_Pulkovo_1995",
DATUM["Pulkovo_1995",
SPHEROID["Krassowsky 1940",6378245,298.2999999999985,
AUTHORITY["EPSG","7024"]],
AUTHORITY["EPSG","6200"]],
PRIMEM["Greenwich",0],
UNIT["degree",0.0174532925199433]],
PROJECTION["Transverse_Mercator"],
PARAMETER["latitude_of_origin",0],
PARAMETER["central_meridian",135],
PARAMETER["scale_factor",1],
PARAMETER["false_easting",500000],
PARAMETER["false_northing",0],
UNIT["metre",1,
AUTHORITY["EPSG","9001"]]]
Origin = (256692.450150862600000,4878306.704238589900000)
Pixel Size = (20.293822000000080,-20.293822000000080)
Metadata:
AREA_OR_POINT=Area
Image Structure Metadata:
COMPRESSION=LZW
INTERLEAVE=PIXEL
Corner Coordinates:
Upper Left ( 256692.450, 4878306.704) (131d57'59.80"E, 43d59'57.48"N)
Lower Left ( 256692.450, 4801778.701) (132d 0' 3.85"E, 43d18'41.33"N)
Upper Right ( 339592.713, 4878306.704) (132d59'57.73"E, 44d 1'19.43"N)
Lower Right ( 339592.713, 4801778.701) (133d 1'19.63"E, 43d20' 1.35"N)
Center ( 298142.582, 4840042.703) (132d29'50.18"E, 43d40' 4.09"N)
Band 1 Block=4085x1 Type=Byte, ColorInterp=Red
NoData Value=0
Band 2 Block=4085x1 Type=Byte, ColorInterp=Green
NoData Value=0
Band 3 Block=4085x1 Type=Byte, ColorInterp=Blue
NoData Value=0
Band 4 Block=4085x1 Type=Byte, ColorInterp=Alpha
NoData Value=0
Код: Выделить всё
gdal_retile -co "COMPRESS=LZW" -r bilinear -ps 512 512 -levels 3 -targetDir tiles 1.tif
Код: Выделить всё
raster2pgsql -I -M -F -N 0 -s 2482 *.tif public.forum | psql -U postgres -d gis_db

Однако при загрузки верхнего уровня пирамиды (одной из таблиц в PG) в QGIS через менеджер БД таких проблем нету:

Также подключался через QGis к WMS геосервера, проблема была аналогичная. Кроме того оказалось, что эта белая полоса - прозрачная (по крайней мере в QGis через неё виден фон). Как я себе это представляю: GeoServer, формируя мозаику, берет тайлы из одной из 4х таблиц, представляющих уровни пирамиды, в порядке, в котором они были загружены. Участки с NoData он делает прозрачными, как только их встретил и ему всё равно, что после появляются тайлы, часть важной информацией которых перекрывает NoData. Хотя по идеи она должна быть видна, т.к. перекрывающий её NoData прозрачный (или должен им быть).
По всей видимости всё это связано именно с настройками GeoServer и WMS. В настройках слоя, из относящихся к делу, есть разве что BackgroundColor и OutputTransparentColor. Их изменения ни то, что не помогают, но, кажется, вообще никак не влияют на слой.
Уже неделю гуглю и по-разному кручу эти тайлы и растры, ничего не помогает.