Я использую gdal_proximity, чтобы найти расстояние до ближайшей крупной реки через США (нижние 48 штатов). Я спроецировал линии электропередач NHD + на Conus Albers (epsg: 5070), выбрал реки с порядком потока> 5 и растеризовал, сжигая реки как 255, без реки как 0. Это очень хорошо, но теперь мне нужно найти расстояние до ближайшей реки для сайтов в пределах 50 км. Входной файл имеет разрешение 30 м в континентальном масштабе, поэтому он очень большой, но преобразование должно быть простой командой gdal_proximity:
gdal_proximity.bat -values 255 -distunits GEO -maxdist 50000 -nodata -999 infile.tif outfile.tif -co COMPRESS=DEFLATE -co BIGTIFF=YES -co TILED=YES
Кажется, что это почти что работает, но на выходе получается странный геометрический рисунок (см. Изображение). Данные, которые присутствуют в выводе, обработаны правильно. Кто-нибудь может подсказать, почему так много не хватает?
Изменить: Чтобы проверить, было ли это вызвано каким-либо из дополнительных параметров, я снова запустил gdal_proximity в этой конфигурации:
gdal_proximity.bat H:\data\tmp\NHDplus_network_flowline_SO6plus.tif H:/data/tmp/NHDplus_network_flowline_SO6plus_proximity.tif -values 255 -maxdist 50000 -of GTiff
Который дал по существу тот же результат:
Моя единственная мысль - это то, что это может быть связано с размером растра (~ 100 ГБ без сжатия. Насколько я знаю, нет ограничения на размер BigTiff, но, возможно, есть предел тому, что может gdal эффективно анализировать?