Используя полигоны, чтобы применить уникальное значение ко всем растровым ячейкам в этих полигонах?


14

В ArcGIS 9.3 у меня есть растровый файл, который я хотел бы «замаскировать» с помощью полигонов, предоставляя одно значение всем растровым ячейкам, которые перекрывают полигоны.

Как я могу это сделать?

Вот снимок экрана, где черные полигоны - это мой слой многоугольника, а остальное - растровый.

введите описание изображения здесь

Ответы:


15

Вы можете использовать условное утверждение. Проблема с предыдущими рекомендациями состоит в том, что когда вы растеризуете свои полигоны (что необходимо), фон, который не содержит полигонов, будет NoData, в результате чего соответствующие области в выходных данных также будут NoData. Вам нужно будет установить свой экстент анализа на свой исходный растр, а затем установить фоновое значение (т. Е. 0) для растрированного многоугольного растра, используя SetNull. После того, как вы это сделаете, условный оператор в растровом калькуляторе будет выглядеть примерно так.

Con ("praster"> 0, "praster", "OrgRaster")

"praster" - это ваш растеризованный класс пространственных объектов ploygon с фоновым значением 0, а "OrgRaster" - это растр, который вы хотите изменить. Это утверждение говорит о том, что если praster больше 0, тогда присваивайте значения из praster, иначе присваивайте значения из OrgRaster.


1
В итоге я изменил растровый экстент, а затем переклассифицировал, чтобы изменить значения узлов на 0. Спасибо!
Люк

4

Вы можете растеризовать ( ArcToolbox> Инструменты преобразования> В растр ) свои полигоны, а затем объединить два растра с помощью инструментов Spatial Analyst> Math> Logical > Over .

При растеризации полигонов в диалоговом окне Polygon To Raster вам нужно использовать опцию Environments -> Processing Extent Snap Raster , чтобы получить ячейки, соответствующие вашему первоначальному растру.


2
При растеризации полигонов в диалоговом окне «Полигон в растр» необходимо перейти в «Среды» -> «Общие настройки» и использовать опцию «Snap Raster», чтобы получить ячейки, соответствующие исходному растру.
Надя

1

Я выбрал другой подход, так как не мог понять вышеприведенное решение. Выше, наверное, легко, но как-то мне не удалось.

Мой подход был:

  1. Выполните объединение с [Polygon] и [Study_Area]. Выходные данные: [Polygon_StudyArea_Union].
  2. Измените значения многоугольника в [Polygon_StudyArea_Union] на 0, а полученный результат на 1.
  3. Преобразовать [Polygon_StudyArea_Union] в растр. Выходные данные: [Polygon_StudyArea_Union_Raster]
  4. Выполните расчет растра: [Растр, который вы хотите редактировать] * [Polygon_StudyArea_Union_Raster]
  5. Затем переклассифицируйте в любое значение, которое вы хотите, чтобы нулевое (0) значение было.

Вероятно, слишком много шагов, но, надеюсь, это может кому-то помочь.


0

Вы можете преобразовать растровое значение в полигон

затем пространственно присоединиться к зоне многоугольника

затем преобразовать полигон зоны в растр, сохраняя поле от пространственного соединения

тогда я думаю, что вы должны составить их мозаику вместе, сохраняя «верхний» растр, то есть значения растра зоны (а не сумму / мин / макс / медиана) ...

знаешь что я имею ввиду?

-mb

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.