Извлечь значение растра в атрибут полигона

31

У меня есть растровые данные для состояния, в котором данные высоты отображаются в пикселях. У меня также есть векторный слой, который имеет 300 делений штата. Что мне нужно, так это то, что я хочу получить среднее значение высоты для определенного деления из растровых данных, используя ArcGIS.

Я попытался извлечь по маске в ArcGIS, чтобы извлечь отдельный многоугольник, чтобы разделить растр на 300 растров, а затем из отдельного растра. Я собрал среднее значение высоты, но на завершение работы ушло несколько дней. Есть ли другой простой способ получить его?

Махеш
источник
Если у вас есть новый вопрос, задайте его, нажав кнопку « Задать вопрос» . Включите ссылку на этот вопрос, если это помогает обеспечить контекст.
Крис W
Огромное спасибо. Это сработало для меня. С давних пор я пытался сделать зональную статистику. Это сработало сейчас. Еще раз
спасибо

Ответы:

28

Есть несколько способов сделать это. Если у вас нет Spatial Analyst, вы можете сделать это в любом случае следующим образом:

  • Сначала преобразуйте растр в точки с помощью Raster to Pointинструмента. Это дает вам сетку точек и является относительно быстрой - 16 миллионов точек были созданы примерно за 2 минуты (обязательно отключите рендеринг, чтобы они не отображались ;-)).

  • Теперь используйте Инструменты анализа -> Наложение - Пространственное соединение . Целевой объект - это слой из 300 полигонов, соединение - это слой точек. Оставьте как один к одному. Создайте «Карту полей объединяемых объектов» - убедитесь, что правило слияния установлено как «среднее», «медианное» или «режим» (или все они, я думаю). Результирующий слой с одним полигоном должен иметь все 300 полигональных областей, каждая из которых имеет атрибуты с вычисленными в них запрошенными типами среднего.

Это должно дать вам необходимые вам цифры с минимальными усилиями (хотя ожидание довольно немного обработки - пространственные объединения выполняются медленно).

ГИС-Jonathan
источник
3
Очень хороший совет, избегая расширения Spatial Analyst. Просто это очень медленно для больших растров.
Надя
21

Это задача для инструмента зональной статистики . Перейдите в Spatial Analyst Tools> Zonal> Zonal Statistics и выберите Среднее значение статистики. Для этого у растра должна быть таблица атрибутов.

надя
источник
2
Примечание. Для этого требуется расширение Spatial Analyst.
ГИС-Джонатан
3
(+1) Еще одно примечание: обработка, рекомендованная здесь Надей, займет только секунды (или их доли), а не минуты. Принцип заключается в том, что когда вы анализируете растровые данные, использование растровых процедур (для которых, конечно, требуется растровое программное обеспечение, такое как SA) имеет тенденцию быть гораздо более эффективным (при использовании вашего времени, времени компьютера и оперативной памяти компьютера), чем преобразование растров в векторный формат и использование векторных процедур.
whuber
Я сердечный Спасибо "NADYA". Это работает, но результаты повышения меняются от 10 до 100 м, если я сравниваю это с моим отдельным результатом в виде зарезанного растра (я попытался извлечь по маске в ArcGIS, чтобы извлечь отдельный многоугольник, чтобы обрезать растр в 300 растров, а затем из отдельных растр Я собрал среднее значение высоты, но на завершение работы ушло несколько дней. Есть ли еще какой-нибудь простой способ ее получить?)
Махеш
Я выполнял ту же задачу, но выходная зональная сводная таблица не содержит всех объектов из шейп-файла зон. Как это возможно? Растр охватывает каждый элемент зоны, и я также выбрал игнорировать нулевые значения при запуске инструмента.
Салман
3
Хм, когда я делаю это, используя инструмент Zonal Statistics, он создает новый растр и не добавляет максимум (или среднее значение, но я ищу максимальные значения) в таблицу атрибутов слоя векторного слоя. Мне пришлось использовать инструмент Zonal Statistics as Table, а затем выполнить пространственное соединение между полученной таблицей и исходным векторным слоем.
traggatmot
3

Вы можете использовать инструменты Geospatial Modeling Environment (независимые инструменты), которые раньше были инструментами Hawths . Оттуда вы можете извлечь растровые значения экстентов полигонов с любой статистикой, которую вы хотите. Вы также можете извлечь тематические переменные с их долей. результат будет автоматически добавлен в ваш шейп-файл. Этот инструмент работает вместе с ArcGIS и R.

В частности, используйте инструмент isectpolyrst для помещения основной растровой информации в шейп-файлы полигонов. У него также нет проблем с перекрывающимися полигонами.

Nandika
источник
0

Шаг 1. Функция «точка-точка» (управление данными) Шаг 2. Извлечение нескольких значений в точки (Spatial Analyst)

Pieterjan
источник
3
Добавление небольшого контекста к вашему ответу полезно! Пожалуйста, примите участие в туре сообщества и посмотрите нашу страницу помощи! gis.stackexchange.com/help
MaryBeth
0

Вы можете использовать эти шаги: 1.Вектор в растр (ваши полигоны) 2. Используйте пример пространственного анализа, чтобы извлечь растровое значение в виде файла таблицы (ваш растровый файл и выходной файл из «шага 1». 3. Используйте «Объединить файл», чтобы добавить результат таблицы в полигон Атрибут Удачи

Вахид Насири
источник