Расчет значения пикселя растра из значений других пикселей

ArcGIS 8.x,9.x,10.x (Arcview, ArcEditor, Arcinfo).
Аватара пользователя
Natalia Novoselova
Гуру
Сообщения: 3020
Зарегистрирован: 15 янв 2013, 20:14
Репутация: 69
Ваше звание: Лиса
Откуда: **
Контактная информация:

Расчет значения пикселя растра из значений других пикселей

Сообщение Natalia Novoselova » 23 мар 2013, 17:08

Данная тема является логическим продолжением темы предыдущей. ))
Обсуждение там подало мне идею о, возможно, лучшем решении задачи, а также дало наметки технической реализации.
Но всё же, мои идеи решения не кажутся мне совсем правильными. Возможно, в инструментах (предполагаю, что Spatial Analyst) есть что-то специальное для выполнения такой задачи.

Дано –
1. Растр со значением параметра Т для каждого пикселя (например, это температура)
2. Точечная тема, объекты которой наложены на растр.

Нужно – не просто присвоить значение параметра Т для каждой точки, попадающей на пиксель растра, а рассчитать его – по задаваемой пользователем формуле, исходя из пикселей определенного участка растра. Например, как осреднение значений параметра Т из квадрата с задаваемой стороной в пикселях, куда это точка попадает.


То есть, если точка А1 попадает на пиксель растра `P1 (cо значением параметра Т= t1), то точке А1 присваивать не значение P1, а значение P = Cумма всех значений параметра P в квадрате пикселей 100х100 \ 10000 (на число всех пикселей в квадрате). Это простой вариант, формулы могут быть более сложными (с более сложной геометрией площади, осреднение параметра которой хочется получить)



Из данных мне в предыдущей теме советах, я предполагаю такой вариант решения.
1. Вот из этого:
Ariki писал(а):Я думаю, что сектора вам ни к чему. Если фиксируются расстояние и азимут объекта наблюдения (пусть даже приближённый) с известных точек, логично будет в первую очередь построить точечные объекты по известным данным. Сначала строим линии:
Bearing Distance To Line
Потом концы их превращаем в точки:
Feature Vertices To Points
Построить новую тему точек (N), исходя из каждой точки темы исходного массива точек (М) (для которых нужно получить осредненные значения параметра растра).
Смысл этого шага в том, что при построении темы N и задавать нужные параметры осреднения. Например, из каждой точки M1, M2... темы M - построить 4 точки темы N, удаленные от этой точки на 100 пикселей в заданных направлениях


2. Из этого:
swdartvader писал(а):В Spatial Analyst / Extraction / Extract Multi Values to points - натравливаете необходимые точки на необходимый растр, озаботившись пространственным экстентом и названиями выходных полей, в которые будет происходить извлечение.

Присваивать теме точек N значения параметра растра, над которыми они будут находиться.

3. А потом в калькуляторе поля – рассчитывать искомое среднее для исходного массива точек(M) по задаваемой формуле из значений параметра точечной темы N.


Но такой вариант – достаточно сложен, и, возможно, не совсем правилен технически. :roll:


Может быть есть специальные возможности (предполагаю, что Spatial Analyst, так как он работает с растрами), которые позволят решить эту задачу?

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9128
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 747
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: Расчет значения пикселя растра из значений других пиксел

Сообщение Максим Дубинин » 23 мар 2013, 17:50

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

Аватара пользователя
novia
Гуру
Сообщения: 2261
Зарегистрирован: 29 апр 2011, 15:06
Репутация: 489
Откуда: Тель-Авив

Re: Расчет значения пикселя растра из значений других пиксел

Сообщение novia » 24 мар 2013, 19:06

по полигонам тиссона, например)
понравилось? жми палец вверх :!:

Аватара пользователя
Natalia Novoselova
Гуру
Сообщения: 3020
Зарегистрирован: 15 янв 2013, 20:14
Репутация: 69
Ваше звание: Лиса
Откуда: **
Контактная информация:

Re: Расчет значения пикселя растра из значений других пиксел

Сообщение Natalia Novoselova » 24 мар 2013, 21:08

Спасибо за наводки )

swdartvader
Активный участник
Сообщения: 190
Зарегистрирован: 16 дек 2012, 09:08
Репутация: 48
Откуда: Калининград

Re: Расчет значения пикселя растра из значений других пиксел

Сообщение swdartvader » 25 мар 2013, 13:55

А Вы собираетесь полигоны Вороного (Тиссона) строить по точкам наблюдения птиц? это будет немного странно, ведь они будут с очень разными площадями, соответствующих точкам, судя по нынешней структуре точек.

[ Сообщение с мобильного устройства ]

swdartvader
Активный участник
Сообщения: 190
Зарегистрирован: 16 дек 2012, 09:08
Репутация: 48
Откуда: Калининград

Re: Расчет значения пикселя растра из значений других пиксел

Сообщение swdartvader » 25 мар 2013, 14:00

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

[ Сообщение с мобильного устройства ]

Аватара пользователя
Natalia Novoselova
Гуру
Сообщения: 3020
Зарегистрирован: 15 янв 2013, 20:14
Репутация: 69
Ваше звание: Лиса
Откуда: **
Контактная информация:

Re: Расчет значения пикселя растра из значений других пиксел

Сообщение Natalia Novoselova » 25 мар 2013, 15:23

swdartvader писал(а): А Вы собираетесь полигоны Вороного (Тиссона) строить по точкам наблюдения птиц? это будет немного странно, ведь они будут с очень разными площадями, соответствующих точкам, судя по нынешней структуре точек.

тогда может быть регуляризировать сеть - построить полигоны тиссона, посчитать зональную статистику и использовать ее для пространственно соответствующих им точек наблюдения птиц
Спасибо, я учту ваш комментарий, когда буду разбираться с этим.
Сейчас подвожу некоторые итоги уже набранного, да и по другим делам накопилось немерянно. Но пока этот путь в методике проекта - вижу ключевым, выводящим на стат. обработку материала. Так что, собрав все мысли в этой теме, буду изучать и пробовать разбираться.

Аватара пользователя
Natalia Novoselova
Гуру
Сообщения: 3020
Зарегистрирован: 15 янв 2013, 20:14
Репутация: 69
Ваше звание: Лиса
Откуда: **
Контактная информация:

Re: Расчет значения пикселя растра из значений других пиксел

Сообщение Natalia Novoselova » 27 мар 2013, 21:12

В online хелпе по ArcGIS достаточно понятно описан Инструмент Zonal Statistic (точнее пока всё более-менее понятно, пока не начала делать практически :) ). И видно, что это именно то, что будет решать данную задачу:
http://resources.arcgis.com/ru/help/mai ... 00w8000000
http://resources.arcgis.com/ru/help/mai ... 0wt000000/


Также нашлись два примера алгоритма решения сходной с моей задачи:
1. USE OF ZONAL STATISTICS FUNCTION in ArcGIS

2. ArcGIS Zonal Statistics Raster Procedure: How to Generate Statistics of Satellite Image (Raster) Cells within Designated Areas


Исходя из этого, думаю, можно пойти пока – копированием, то есть используя данные в примере алгоритмы, ориентируясь при этом на хелп ArcGIS. :roll:


Но вот по Thiessen polygons (полигны Тиссена или Воронова) – найденное в хелпе


- не дает понимания, как это использовать в приложении к данной задаче. Также это уже как бы не связано с самим инструментом - Zonal Statistics Tool в ArcGIS.

В общем его описание – конечно интересно и дает идеи к размышлениям (как бы это можно было бы использовать), но не выходит в понимании на данную задачу и на связь с использованием инструмента Zonal Statistics.
Может быть – поясните идею, если действительно это можно задействовать, чтобы мне более прицельно искать?

Возможно, что использование только инструмента Zonal Statistics Tool (например, по найденным алгоритмам) – будет более простым решением, а использование полигонов Тиссена – более усложненным, но и дающим, возможно, что-то дополнительное в результатах. Так мне сейчас, по крайней мере, кажется. Но всё же для начала хотелось бы понять идею их использования для данной задачи..

Аватара пользователя
Natalia Novoselova
Гуру
Сообщения: 3020
Зарегистрирован: 15 янв 2013, 20:14
Репутация: 69
Ваше звание: Лиса
Откуда: **
Контактная информация:

Re: Расчет значения пикселя растра из значений других пиксел

Сообщение Natalia Novoselova » 27 мар 2013, 23:35

Сейчас собираю все доступные способы решения, так как ни в каком пока не уверена полностью (т.к. нужно разбираться в деталях и пробовать). И вот в описании к ENVI нашла возможность фильтра, которая, вероятно, также могла бы быть решением к данной задаче. Точнее ее частью по самой обработке растра (по вычислению для каждого пикселя в заданном участке другого значения, исходя из формулы и значений соседних пикселей).

В хелпе ENVI об этом, к сожалению, очень кратко и совсем непонятно, называется там это "Co-occurrence-Based Filters"

В моём учебнике по Цифровой обработке снимков это называется "Janela Móvel ou Máscara" (что в переводе -"Движущееся окно или маска")

Изображение

swdartvader
Активный участник
Сообщения: 190
Зарегистрирован: 16 дек 2012, 09:08
Репутация: 48
Откуда: Калининград

Re: Расчет значения пикселя растра из значений других пиксел

Сообщение swdartvader » 28 мар 2013, 08:30

Natalia писал(а):
- не дает понимания, как это использовать в приложении к данной задаче. Также это уже как бы не связано с самим инструментом - Zonal Statistics Tool в ArcGIS.

Логика была такая: Значение точки распространения птиц зависит не только от значения всех остальных значений, пространственно находящихся под этой точкой, но и от значений соседних, в ее окрестности,. Т.е. на нее влияет некоторая совокупность значений одного и того же явления, а не одно единственное. Потому и предложили собирать зональную статистику полигонами Вороного. Каждый полигон Вороного - та самая окрестность точки, где будет производиться анализ влияния явлений на значение в точке. Ну разумеется необходимо будет определить характер такового влияния (среднее, сумма и т.д.). Ну и обдумать о построении п-гонов по регулярной сетке, чтобы обеспечить одинаковые площади окрестностей для точки.

И еще такая мысль пришла - влияние факторов на явление может происходить не только в строгих, взаимно не перекрытых, окрестностях точки, но и касаться при близости точек. Вам стоит обдумать тот самый размер окрестности, характерный для точки и решить - анализировать ли также с точки зрения возможного взаимного пересечения или сделать допуск что они не пересекаются (что будет проще с точки зрения анализа)

gamm
Гуру
Сообщения: 4057
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1053
Ваше звание: программист
Откуда: Казань

Re: Расчет значения пикселя растра из значений других пиксел

Сообщение gamm » 28 мар 2013, 09:43

Natalia писал(а):Сейчас собираю все доступные способы решения, так как ни в каком пока не уверена полностью (т.к. нужно разбираться в деталях и пробовать).
вы не с того конца взялись за задачу. Можно сначала моделировать плотность птиц, а потом смотреть зависимости плотности от факторов (все будет на единой сетке). И делать это лучше в системах, для этого предназначенных, например в R. Или вообще построить нормальную статмодель.

Аватара пользователя
Natalia Novoselova
Гуру
Сообщения: 3020
Зарегистрирован: 15 янв 2013, 20:14
Репутация: 69
Ваше звание: Лиса
Откуда: **
Контактная информация:

Re: Расчет значения пикселя растра из значений других пиксел

Сообщение Natalia Novoselova » 28 мар 2013, 13:27

Спасибо, swdartvader, стало понятней! И да, вами описанная логика - это именно то, чего хочу добиться.
Попробую тогда найти более понятную информацию по полигонам Тиссена, как-то после прочтения хелпа online (по ссылке выше) - у меня не осталось того понимания, которое вы передали. :(


gamm писал(а): И делать это лучше в системах, для этого предназначенных, например в R. Или вообще построить нормальную статмодель.
Спасибо, а нельзя еще уточнить, что такое "R" ?

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

Аватара пользователя
paleogis
Модератор
Сообщения: 1112
Зарегистрирован: 22 мар 2009, 08:54
Репутация: 200
Ваше звание: Модератоо

Re: Расчет значения пикселя растра из значений других пиксел

Сообщение paleogis » 28 мар 2013, 13:52

Natalia писал(а):Спасибо, а нельзя еще уточнить, что такое "R" ?
Нагуглил и еще пару ссылок

Аватара пользователя
Natalia Novoselova
Гуру
Сообщения: 3020
Зарегистрирован: 15 янв 2013, 20:14
Репутация: 69
Ваше звание: Лиса
Откуда: **
Контактная информация:

Re: Расчет значения пикселя растра из значений других пиксел

Сообщение Natalia Novoselova » 28 мар 2013, 15:58

paleogis писал(а):
Natalia писал(а):Спасибо, а нельзя еще уточнить, что такое "R" ?
Нагуглил и еще пару ссылок
Спасибо.. а я то думала это сокращение.. )
R — язык программирования для статистической обработки данных и работы с графикой
:roll:

Нет.. в планах и мечтах, конечно, стоит перейти когда-нибудь с уровня "просто пользователя" на уровень программирования по ГИС задачам, но до этого еще крайне далеко.. ))
Мне пока доступно, оперировать с тем, что есть.. точнее сейчас - учусь это делать, используя, вероятно, наилучшую мотивацию для обучения - поскольку задачи стоят не учебные, и конкретно-рабочие

gamm
Гуру
Сообщения: 4057
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1053
Ваше звание: программист
Откуда: Казань

Re: Расчет значения пикселя растра из значений других пиксел

Сообщение gamm » 28 мар 2013, 21:04

Natalia писал(а):Мне пока доступно, оперировать с тем, что есть.. точнее сейчас - учусь это делать, используя, вероятно, наилучшую мотивацию для обучения - поскольку задачи стоят не учебные, и конкретно-рабочие
я еще раз повторюсь - прежде, чем "оперировать", нужно правильно поставить задачу.

В вашем случае имеет место Пуассоновский процесс (появление отдельной птички), пространственно коррелированный (птички летают стаями), не гомогенный (вероятность встретить птичку в разных местах и в разное время разная; для места, кроме собственно координат, есть влияние разных "привязанных" к месту факторов).

для построения плотности такого процесса есть разные методы, в частности специальные методы кригинга (которых в арке нет), например такие. Если мне не изменяет память, у авторов есть соответствующая програмулька, погуглите "Poisson kriging"

дальше плотность можно соотносить с факторами, а можно сразу делать модель с факторами, например так тыц

статейки доступны на www.biomedcentral.com/

кое-что можно проделать и в Арке, не исключено, что для нее есть соответствующие надстройки ...

Ответить

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

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

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