Как вручную править значения пикселей растра?
-
- Гуру
- Сообщения: 939
- Зарегистрирован: 29 май 2011, 19:41
- Репутация: 94
- Откуда: Киев
Как вручную править значения пикселей растра?
Есть растр высот в формате .tif, который в одном месте имеет отрицательную дыру. Высоты соседних с ней ячеек около 200м. Каким образом можно вручную исправить?
Арка 10.1
P.S.: вариант с созданием заплатки из constant raster и накладыванием его значений на существующий методом mosaic to new raster не подходит. Слишком большой квадрат получается, бросается в глаза.
Арка 10.1
P.S.: вариант с созданием заплатки из constant raster и накладыванием его значений на существующий методом mosaic to new raster не подходит. Слишком большой квадрат получается, бросается в глаза.
Последний раз редактировалось dime1 15 апр 2013, 14:02, всего редактировалось 1 раз.
- nadiopt
- Гуру
- Сообщения: 4744
- Зарегистрирован: 29 янв 2009, 13:27
- Репутация: 495
- Ваше звание: хрюкало
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Как вручную править значения пикселей растра?
так создать шейп, заделать дырку, присвоить атрибуту GridID значение 200, перегнать в растр и сделать мозаику
как вариант, сделать экстракт этой дырки по значению и сделать реклассифай этому куску в 200 и мозаику
как вариант, сделать экстракт этой дырки по значению и сделать реклассифай этому куску в 200 и мозаику
ин гроссен фамилен нихт клювен клац клац
-
- Гуру
- Сообщения: 939
- Зарегистрирован: 29 май 2011, 19:41
- Репутация: 94
- Откуда: Киев
Re: Как вручную править значения пикселей растра?
Шейп со значением в растр - гениально!
Но в атрибутивной таблице результирующего растра (после мозаики) остаётся только одна строка - Value(200), Count(2701).
Мне ж его потом еще раскрасить нужно по значениям
Но в атрибутивной таблице результирующего растра (после мозаики) остаётся только одна строка - Value(200), Count(2701).
Мне ж его потом еще раскрасить нужно по значениям

- nadiopt
- Гуру
- Сообщения: 4744
- Зарегистрирован: 29 янв 2009, 13:27
- Репутация: 495
- Ваше звание: хрюкало
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Как вручную править значения пикселей растра?
дык кусочек гадо мааасенький нарисовать, заплаточку:)
ин гроссен фамилен нихт клювен клац клац
-
- Гуру
- Сообщения: 939
- Зарегистрирован: 29 май 2011, 19:41
- Репутация: 94
- Откуда: Киев
Re: Как вручную править значения пикселей растра?
Всё, понял в чём проблема! Нужно просто к результирующему растру перестроить атрибутивную таблицу. Сейчас напишу алгоритм действий. Спасибо, nadiopt 
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 на полученном растре.

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

Редактор материалов, модератор форума
-
- Гуру
- Сообщения: 939
- Зарегистрирован: 29 май 2011, 19:41
- Репутация: 94
- Откуда: Киев
Re: Как вручную править значения пикселей растра?
Александр, тут еще не всё так просто. Я в итоге получаю растр с хаотически разбросанными значениями noData, коих в исходных данных не было...Александр Мурый писал(а):dime1, лювлю на слове: нельзя ли это оформить в виде небольшой заметки на вики? Сделаем статейку для народа
Еще немного разберусь и на неделе отпишу Вам в ЛС по заметке заплатки)
Последний раз редактировалось dime1 15 апр 2013, 14:51, всего редактировалось 1 раз.
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 792
- Ваше звание: званий не имею
- Откуда: Москва
Re: Как вручную править значения пикселей растра?
Ок, но лучше всё-таки на вики (там другие править могут).dime1 писал(а): Еще немного разберусь и на неделе отпишу Вам в ЛС по заметке заплатки)
Редактор материалов, модератор форума
- nadiopt
- Гуру
- Сообщения: 4744
- Зарегистрирован: 29 янв 2009, 13:27
- Репутация: 495
- Ваше звание: хрюкало
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Как вручную править значения пикселей растра?
а там где-то есть галка про ноу дата
я делаю обычно экстракт бай атрибут - смотрю все явно левые значения - выбираю КРОМЕ них, имею дырку. И выбираю ИХ - рекласс как мне надо. Соединяю гриды
я делаю обычно экстракт бай атрибут - смотрю все явно левые значения - выбираю КРОМЕ них, имею дырку. И выбираю ИХ - рекласс как мне надо. Соединяю гриды
ин гроссен фамилен нихт клювен клац клац
-
- Гуру
- Сообщения: 939
- Зарегистрирован: 29 май 2011, 19:41
- Репутация: 94
- Откуда: Киев
Re: Как вручную править значения пикселей растра?
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.
Потому и добавил обязательным пункт:
При Feature to Raster создается растр с pixel depth 8bit unsigned и nodata value: 255. А основной растр у меня был в 16bit signed и nodata value: 32767.
Потому и добавил обязательным пункт:
4) Экспортируем получившуюся заплатку указывая значение nodata как и в основном растре (чтоб pixel depth получились идентичные).
-
- Гуру
- Сообщения: 939
- Зарегистрирован: 29 май 2011, 19:41
- Репутация: 94
- Откуда: Киев
Re: Как вручную править значения пикселей растра?
Выпустили новый тулбокс
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.
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.
-
- Гуру
- Сообщения: 939
- Зарегистрирован: 29 май 2011, 19:41
- Репутация: 94
- Откуда: Киев
Re: Как вручную править значения пикселей растра?
Инструмент Erase Raster Values - не очень... Он, как обычно "раздувает" растр в 2 раза (32bit floating point). Потому моя инструкция все еще в силе. Иногда, другие инструменты не принимают растры более 1Gb.
Единственное, что нужно получать nodata value минусовым, а то при экспорте закладки, она может стать 16bit unsigned (потому что формат поддерживает значения от 0 до 65,535) и мозаика не получиться, т.к. SRTM-растр в формате 16 bit signed (– 32,768 до 32,767).
Единственное, что нужно получать nodata value минусовым, а то при экспорте закладки, она может стать 16bit unsigned (потому что формат поддерживает значения от 0 до 65,535) и мозаика не получиться, т.к. SRTM-растр в формате 16 bit signed (– 32,768 до 32,767).
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя