Как вручную править значения пикселей растра?

ArcGIS 8.x,9.x,10.x (Arcview, ArcEditor, Arcinfo).
Ответить
dime1
Гуру
Сообщения: 939
Зарегистрирован: 29 май 2011, 19:41
Репутация: 94
Откуда: Киев

Как вручную править значения пикселей растра?

Сообщение dime1 » 15 апр 2013, 12:58

Есть растр высот в формате .tif, который в одном месте имеет отрицательную дыру. Высоты соседних с ней ячеек около 200м. Каким образом можно вручную исправить?
Арка 10.1

P.S.: вариант с созданием заплатки из constant raster и накладыванием его значений на существующий методом mosaic to new raster не подходит. Слишком большой квадрат получается, бросается в глаза.
Последний раз редактировалось dime1 15 апр 2013, 14:02, всего редактировалось 1 раз.

Аватара пользователя
nadiopt
Гуру
Сообщения: 4744
Зарегистрирован: 29 янв 2009, 13:27
Репутация: 495
Ваше звание: хрюкало
Откуда: Санкт-Петербург
Контактная информация:

Re: Как вручную править значения пикселей растра?

Сообщение nadiopt » 15 апр 2013, 13:02

так создать шейп, заделать дырку, присвоить атрибуту GridID значение 200, перегнать в растр и сделать мозаику
как вариант, сделать экстракт этой дырки по значению и сделать реклассифай этому куску в 200 и мозаику
ин гроссен фамилен нихт клювен клац клац

dime1
Гуру
Сообщения: 939
Зарегистрирован: 29 май 2011, 19:41
Репутация: 94
Откуда: Киев

Re: Как вручную править значения пикселей растра?

Сообщение dime1 » 15 апр 2013, 13:35

Шейп со значением в растр - гениально!
Но в атрибутивной таблице результирующего растра (после мозаики) остаётся только одна строка - Value(200), Count(2701).
Мне ж его потом еще раскрасить нужно по значениям :)

Аватара пользователя
nadiopt
Гуру
Сообщения: 4744
Зарегистрирован: 29 янв 2009, 13:27
Репутация: 495
Ваше звание: хрюкало
Откуда: Санкт-Петербург
Контактная информация:

Re: Как вручную править значения пикселей растра?

Сообщение nadiopt » 15 апр 2013, 13:50

дык кусочек гадо мааасенький нарисовать, заплаточку:)
ин гроссен фамилен нихт клювен клац клац

dime1
Гуру
Сообщения: 939
Зарегистрирован: 29 май 2011, 19:41
Репутация: 94
Откуда: Киев

Re: Как вручную править значения пикселей растра?

Сообщение dime1 » 15 апр 2013, 14:00

Всё, понял в чём проблема! Нужно просто к результирующему растру перестроить атрибутивную таблицу. Сейчас напишу алгоритм действий. Спасибо, nadiopt :idea:
P.S.: nadiopt, оно подсчитывает значения не только в моей заплатке, но и по всему растру, потому такое большое Count.

1) Создаём новый слой (заплатку) и обводим область, которую хотим убрать.
2) В атрибутивной таблице заплатки создаём поле GridID и вписываем нужное значение пикселя.
3) Конвертируем Feature to Raster, где в Field - GridID, а в Output cell size выбираем растр для которого мы создаём заплатку.
4) Экспортируем получившуюся заплатку указывая значение nodata как и в основном растре (чтоб pixel depth получились идентичные). nodata обязательно должны быть "-n" (-32767), а то можете получить при экспорте 16bit ubsigned, в то время как основной растр будет в формате 16bit signed.
5) Mosaic to new raster, первой добавляем заплатку, потом основной растр. Устанавливаем pixel depth и выбираем mosaic operator - first.
6) Build raster attribute table на полученном растре.
Последний раз редактировалось dime1 17 сен 2013, 12:32, всего редактировалось 3 раза.

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 792
Ваше звание: званий не имею
Откуда: Москва

Re: Как вручную править значения пикселей растра?

Сообщение Александр Мурый » 15 апр 2013, 14:14

dime1 писал(а):Всё, понял в чём проблема! Нужно просто к результирующему растру перестроить атрибутивную таблицу. Сейчас напишу алгоритм действий
dime1, лювлю на слове: нельзя ли это оформить в виде небольшой заметки на вики? Сделаем статейку для народа :)
Редактор материалов, модератор форума

dime1
Гуру
Сообщения: 939
Зарегистрирован: 29 май 2011, 19:41
Репутация: 94
Откуда: Киев

Re: Как вручную править значения пикселей растра?

Сообщение dime1 » 15 апр 2013, 14:39

Александр Мурый писал(а):dime1, лювлю на слове: нельзя ли это оформить в виде небольшой заметки на вики? Сделаем статейку для народа :)
Александр, тут еще не всё так просто. Я в итоге получаю растр с хаотически разбросанными значениями noData, коих в исходных данных не было...
Еще немного разберусь и на неделе отпишу Вам в ЛС по заметке заплатки)
Последний раз редактировалось dime1 15 апр 2013, 14:51, всего редактировалось 1 раз.

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 792
Ваше звание: званий не имею
Откуда: Москва

Re: Как вручную править значения пикселей растра?

Сообщение Александр Мурый » 15 апр 2013, 14:45

dime1 писал(а): Еще немного разберусь и на неделе отпишу Вам в ЛС по заметке заплатки)
Ок, но лучше всё-таки на вики (там другие править могут).
Редактор материалов, модератор форума

Аватара пользователя
nadiopt
Гуру
Сообщения: 4744
Зарегистрирован: 29 янв 2009, 13:27
Репутация: 495
Ваше звание: хрюкало
Откуда: Санкт-Петербург
Контактная информация:

Re: Как вручную править значения пикселей растра?

Сообщение nadiopt » 15 апр 2013, 18:13

а там где-то есть галка про ноу дата
я делаю обычно экстракт бай атрибут - смотрю все явно левые значения - выбираю КРОМЕ них, имею дырку. И выбираю ИХ - рекласс как мне надо. Соединяю гриды
ин гроссен фамилен нихт клювен клац клац

dime1
Гуру
Сообщения: 939
Зарегистрирован: 29 май 2011, 19:41
Репутация: 94
Откуда: Киев

Re: Как вручную править значения пикселей растра?

Сообщение dime1 » 15 апр 2013, 19:39

nadiopt, там прикол был в том, что нельзя применять mosaic to new raster для данных с разными pixel depth и nodata value, а то появятся артефакты в виде nodata по растру.
При Feature to Raster создается растр с pixel depth 8bit unsigned и nodata value: 255. А основной растр у меня был в 16bit signed и nodata value: 32767.
Потому и добавил обязательным пункт:
4) Экспортируем получившуюся заплатку указывая значение nodata как и в основном растре (чтоб pixel depth получились идентичные).

dime1
Гуру
Сообщения: 939
Зарегистрирован: 29 май 2011, 19:41
Репутация: 94
Откуда: Киев

Re: Как вручную править значения пикселей растра?

Сообщение dime1 » 06 авг 2013, 13:43

Выпустили новый тулбокс
http://blogs.esri.com/esri/arcgis/2013/ ... tal-tools/

Erase Raster Values

Have you ever wanted to just replace certain cells in a raster without having to go through a sequence of Con, SetNull and other operations? With the new Erase Raster Values tool, you can simply provide an input (feature or raster) that defines the areas of cells you want to change, and then specify if you want those cells to become NoData or some other value in the output raster.

dime1
Гуру
Сообщения: 939
Зарегистрирован: 29 май 2011, 19:41
Репутация: 94
Откуда: Киев

Re: Как вручную править значения пикселей растра?

Сообщение dime1 » 17 сен 2013, 12:37

Инструмент Erase Raster Values - не очень... Он, как обычно "раздувает" растр в 2 раза (32bit floating point). Потому моя инструкция все еще в силе. Иногда, другие инструменты не принимают растры более 1Gb.
Единственное, что нужно получать nodata value минусовым, а то при экспорте закладки, она может стать 16bit unsigned (потому что формат поддерживает значения от 0 до 65,535) и мозаика не получиться, т.к. SRTM-растр в формате 16 bit signed (– 32,768 до 32,767).

Ответить

Вернуться в «ArcGIS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя