Використовуючи багатокутники, щоб застосувати унікальне значення до всіх растрових комірок у межах цих полігонів?


14

У ArcGIS 9.3 у мене є растровий файл, який я хотів би "замаскувати" багатокутниками, надавши єдине значення всім растровим клітинам, які перекривають полігони.

Як я можу це зробити?

Ось знімок екрана, де чорні багатокутники - це мій багатокутний шар, а решта - на растровій основі.

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

Відповіді:


15

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

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

"praster" - це ваш клас растрованих плеєрних плеєгонів із фоновим значенням 0, а "OrgRaster" - растром, який ви бажаєте змінити. Це твердження говорить про те, що якщо praster більше 0, то присвоюйте значення від praster else присвоюйте значення з OrgRaster.


1
Я змінив масштаб растру, потім перекласифікував, щоб змінити значення нодату до 0. дякую!
Лука

4

Ви можете розстрочити ( ArcToolbox> Інструменти перетворення> До растру ) свої полігони, а потім об'єднати два растри з Інструментами просторової аналітики> Math> Logical > Over .

Під час растрування полігонів у діалоговому вікні " Полігон до растру" вам потрібно скористатися параметром " Середовища -> Обробка обширних растрових оснасток ", щоб отримати комірки, відповідні вашому початковому растру.


2
Під час растрування полігонів у діалоговому вікні «Полігон до растрового» вам потрібно перейти до Середовища -> Загальні налаштування та скористатися опцією Snap Raster, щоб отримати комірки, відповідні вашому початковому растру.
nadya

1

Я застосував інший підхід, оскільки не міг з’ясувати вищезазначене рішення. Сказане, мабуть, легко, але я якось не зміг.

Мій підхід:

  1. Виконай об’єднання з [Полігон] та [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.