У меня есть шейп-файл с полигонами. И у меня есть глобальный растровый файл. Я хочу наложить полигоны шейп-файла на растровую сетку и рассчитать среднее значение растра для каждого полигона.
Как я могу сделать это с помощью GDAL, записав результаты в шейп-файл?
Ответы:
В R вы можете сделать
e - вектор со средними значениями растровых ячеек для каждого многоугольника.
источник
Следуя совету, который я получил в списке рассылки gdal-dev, я использовал StarSpan :
Результаты сохраняются в формате CSV. В то время этого уже было достаточно для меня, но должна быть возможность каким-то образом создать Shapefile из этой информации.
источник
Следующий скрипт позволяет вам выполнить задачу с GDAL: http://pcjericks.github.io/py-gdalogr-cookbook/raster_layers.html#calculate-zonal-statistics
источник
Загрузите свой шейп-файл и свой растр в PostGIS 2.0 и выполните:
источник
Я не думаю, что GDAL - лучший инструмент для этого, но вы можете использовать gdal_rasterize, чтобы «очистить» все значения вне полигона.
Что-то вроде:
Программа gdal_rasterize изменяет файл, поэтому мы создаем копию для работы. Мы также помечаем какое-то конкретное значение (в данном случае ноль) как nodata. «-Burn 0 -b 1» означает запись нулевого значения в полосу 1 целевого файла (work.tif). «-I» означает инвертированную растеризацию, поэтому мы записываем значения вне многоугольника, а не внутри него. Команда gdalinfo с параметром -stats сообщает о статистике группы. Я считаю, что это исключит значение nodata (которое мы пометили ранее с -a_nodata).
источник
Преобразуйте файл формы в растр с помощью gdal_rasterize и используйте код в http://www.spatial-ecology.net/dokuwiki/doku.php?id=wiki:geo_tools для вычисления зональной статистики для каждого многоугольника. Вы можете запустить http://km.fao.org/OFwiki/index.php/Oft-reclass, если хотите получить tif со своей статистикой растров. Наслаждайтесь кодом Ciao Giuseppe
источник
Это невозможно при использовании GDAL. Вы можете использовать другие бесплатные инструменты, например, saga gis:
источник
Вы также можете использовать rasterstats, это модуль Python, разработанный для этой цели:
Затем вы можете получить доступ к атрибуту первой зоны, используя:
источник
Вы можете использовать инструмент для расчета статистики точек в Arc Arc, и этот инструмент можно скачать с http://ianbroad.com/arcgis-toolbox-calculate-point-statistics-polygon-arcpy/
источник