У меня есть растровый файл об использовании земли в северной Италии (посевы / городские районы и т. Д.)
Я определил несколько буферных зон вокруг некоторых заданных точек векторного слоя, и я хотел бы рассчитать% этих областей, занятых каждым значением растрового файла, чтобы сделать оценку среднего использования выбранных областей (например, 70% зерновых культур, 30% городских и т. Д.).
Я знаю, что в ArcGIS есть функция Spatial Analyst для так называемой «области табуляции », но я не могу найти такую функцию в QGIS.
Если кто-нибудь может мне помочь, я был бы так благодарен.
Ответы:
попробуйте использовать "Перекрестную классификацию и табулирование" SAGA GIS из плагина Sextante.
Надеюсь это поможет
источник
Я написал плагин для QGIS под названием LecoS (посмотрите в Plugin Downloader, экспериментальные плагины, сначала установите Scipy!). Он может достичь того, что вы хотите (в процентах от земного покрова для данного растра), однако до сих пор я не нашел времени для кодирования наложения полигонов в python, и поэтому вы должны заранее обрезать свой растр для каждого буфера и векторного объекта. Смотрите пример использования здесь .
источник
Для этого случая вы можете использовать перекрестную классификацию и табулирование, как было упомянуто выше. Чтобы использовать его, сначала вам нужно иметь растровый слой со значениями int. В зависимости от уровня использования вам потребуется выполнить некоторые переклассификации или перекодировать, чтобы подготовить растр.
Другая предпосылка заключается в том, что ваши полигоны (ваши буферные зоны) должны иметь некоторое значение типа int. Если нет, вы должны создать его (с помощью формулы калькулятора $ id + 1).
Растрируйте векторный слой, используя код int в качестве растрового значения. Здесь вы должны поставить некоторые условия: использовать то же значение пикселя и то же расширение, что и в растре, для которого вы хотите извлечь информацию.
Теперь используйте кросс-классификацию и табуляцию из инструментов SAGA. Вы должны учесть, что это создаст таблицу xy с количеством пикселей каждой категории использования в каждом полигоне. Здесь вы должны вставить «максимальное количество классов», что означает, что, например, если у вас есть растр с 10 категориями и 25 классами полигонов, ваш максимум будет 25.
Вот окончательный результат: таблица, где у вас есть количество пикселей каждой категории в каждом полигоне. Если вам нужно преобразовать его в область, просто умножьте количество ячеек на разрешение вашего растра.
источник
Инструмент Табулированные области находится в наборе инструментов Spatial Analyst в разделе Зональные инструменты для ArcGIS 10. Не уверен, какую версию вы используете. Обратите внимание, что для использования этих инструментов у вас должна быть отдельная лицензия на расширение Spatial Analyst. Похоже, этот инструмент будет делать то, что вы ищете.
Надеюсь это поможет
источник