Используя полигоны, чтобы применить уникальное значение ко всем растровым ячейкам в этих полигонах?
14
В ArcGIS 9.3 у меня есть растровый файл, который я хотел бы «замаскировать» с помощью полигонов, предоставляя одно значение всем растровым ячейкам, которые перекрывают полигоны.
Как я могу это сделать?
Вот снимок экрана, где черные полигоны - это мой слой многоугольника, а остальное - растровый.
Вы можете использовать условное утверждение. Проблема с предыдущими рекомендациями состоит в том, что когда вы растеризуете свои полигоны (что необходимо), фон, который не содержит полигонов, будет NoData, в результате чего соответствующие области в выходных данных также будут NoData. Вам нужно будет установить свой экстент анализа на свой исходный растр, а затем установить фоновое значение (т. Е. 0) для растрированного многоугольного растра, используя SetNull. После того, как вы это сделаете, условный оператор в растровом калькуляторе будет выглядеть примерно так.
Con ("praster"> 0, "praster", "OrgRaster")
"praster" - это ваш растеризованный класс пространственных объектов ploygon с фоновым значением 0, а "OrgRaster" - это растр, который вы хотите изменить. Это утверждение говорит о том, что если praster больше 0, тогда присваивайте значения из praster, иначе присваивайте значения из OrgRaster.
В итоге я изменил растровый экстент, а затем переклассифицировал, чтобы изменить значения узлов на 0. Спасибо!
Люк
4
Вы можете растеризовать ( ArcToolbox> Инструменты преобразования> В растр ) свои полигоны, а затем объединить два растра с помощью инструментов Spatial Analyst> Math> Logical > Over .
При растеризации полигонов в диалоговом окне Polygon To Raster вам нужно использовать опцию Environments -> Processing Extent Snap Raster , чтобы получить ячейки, соответствующие вашему первоначальному растру.
При растеризации полигонов в диалоговом окне «Полигон в растр» необходимо перейти в «Среды» -> «Общие настройки» и использовать опцию «Snap Raster», чтобы получить ячейки, соответствующие исходному растру.
Надя
1
Я выбрал другой подход, так как не мог понять вышеприведенное решение. Выше, наверное, легко, но как-то мне не удалось.
Мой подход был:
Выполните объединение с [Polygon] и [Study_Area]. Выходные данные: [Polygon_StudyArea_Union].
Измените значения многоугольника в [Polygon_StudyArea_Union] на 0, а полученный результат на 1.
Преобразовать [Polygon_StudyArea_Union] в растр. Выходные данные: [Polygon_StudyArea_Union_Raster]
Выполните расчет растра: [Растр, который вы хотите редактировать] * [Polygon_StudyArea_Union_Raster]
Затем переклассифицируйте в любое значение, которое вы хотите, чтобы нулевое (0) значение было.
Вероятно, слишком много шагов, но, надеюсь, это может кому-то помочь.
Вы можете преобразовать растровое значение в полигон
затем пространственно присоединиться к зоне многоугольника
затем преобразовать полигон зоны в растр, сохраняя поле от пространственного соединения
тогда я думаю, что вы должны составить их мозаику вместе, сохраняя «верхний» растр, то есть значения растра зоны (а не сумму / мин / макс / медиана) ...
Вы можете растеризовать ( ArcToolbox> Инструменты преобразования> В растр ) свои полигоны, а затем объединить два растра с помощью инструментов Spatial Analyst> Math> Logical > Over .
При растеризации полигонов в диалоговом окне Polygon To Raster вам нужно использовать опцию Environments -> Processing Extent Snap Raster , чтобы получить ячейки, соответствующие вашему первоначальному растру.
источник
Я выбрал другой подход, так как не мог понять вышеприведенное решение. Выше, наверное, легко, но как-то мне не удалось.
Мой подход был:
Вероятно, слишком много шагов, но, надеюсь, это может кому-то помочь.
источник
Вы можете преобразовать растровое значение в полигон
затем пространственно присоединиться к зоне многоугольника
затем преобразовать полигон зоны в растр, сохраняя поле от пространственного соединения
тогда я думаю, что вы должны составить их мозаику вместе, сохраняя «верхний» растр, то есть значения растра зоны (а не сумму / мин / макс / медиана) ...
знаешь что я имею ввиду?
-mb
источник