Сравнение соседних полигонов.

Не знаете, где задать вопрос? Задавайте здесь.
Ответить
li_sasha
Интересующийся
Сообщения: 34
Зарегистрирован: 14 сен 2012, 11:37
Репутация: 2

Сравнение соседних полигонов.

Сообщение li_sasha » 10 янв 2014, 10:47

sample.jpg
присвоить ко взятой ячейке значение 1, так как среди окружающих его полигонов, он имеет наибольшее значение.
sample.jpg (8.4 КБ) 4905 просмотров
Здравствуйте.
Есть такая вот задача.
Имеется векторный файл в виде полигонов со значениями.
Нужно сравнить каждый полигон с соседними полигонами и определить, является ли он наибольшим значением или наименьшим. Если наибольшее то 1, если наименьшее то 0.
Например:
- возьмем один полигон. Его значение равна 5.
- окружающие его полигоны имеют значения 1,2,3,4
- получаем на взятом полигоне значение 1, так как среди окружающих его полигонов его значение наибольшее.

как это осуществить в ArcGIS 10?

Sergey Astakhov
Активный участник
Сообщения: 218
Зарегистрирован: 21 дек 2012, 01:57
Репутация: 52
Откуда: Питер

Re: Сравнение соседних полигонов.

Сообщение Sergey Astakhov » 10 янв 2014, 13:51

li_sasha писал(а):...с соседними полигонами
Нужно формальное определение что есть "соседний полигон" и как его можно отличить от "несоседнего".

li_sasha
Интересующийся
Сообщения: 34
Зарегистрирован: 14 сен 2012, 11:37
Репутация: 2

Re: Сравнение соседних полигонов.

Сообщение li_sasha » 11 янв 2014, 07:42

Sergey Astakhov писал(а):
li_sasha писал(а):...с соседними полигонами
Нужно формальное определение что есть "соседний полигон" и как его можно отличить от "несоседнего".
как один из вариантов можно задать радиус поиска соседних полигонов. Таким образом для каждого полигона будут сравниваться соседние полигоны. Но вот как все это дело осуществить в реальность :?:

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

Re: Сравнение соседних полигонов.

Сообщение gamm » 11 янв 2014, 08:05

li_sasha писал(а):Но вот как все это дело осуществить в реальность :?:
1) при построенной топологии в таблице дуг есть ID левого и правого полигонов, поэтому все делается SQL запросом с соединением таблиц и агрегацией. И наверняка есть приблуда для этого в Тулбоксе. Если топологии нет, ее нужно построить разными build + clean (в том же Тулбоксе)
2) какие для этого кнопочки в Арке нужно нажимать, рассказывали на том занятии, вместо которого вы в кино ходили :mrgreen:
3) если это для дела нужно, можно вывалить в shape, затащить в QGIS (или в R, или еще куда), и построить там этот SQL запрос, там все это намного проще и понятнее (по крайней мере для простого программиста, как я) :D

trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Сравнение соседних полигонов.

Сообщение trir » 11 янв 2014, 09:24

Ммм, центройды=>диаграмма Вороного...

li_sasha
Интересующийся
Сообщения: 34
Зарегистрирован: 14 сен 2012, 11:37
Репутация: 2

Re: Сравнение соседних полигонов.

Сообщение li_sasha » 31 янв 2014, 12:24

li_sasha писал(а):
sample.jpg
Здравствуйте.
Есть такая вот задача.
Имеется векторный файл в виде полигонов со значениями.
Нужно сравнить каждый полигон с соседними полигонами и определить, является ли он наибольшим значением или наименьшим. Если наибольшее то 1, если наименьшее то 0.
Например:
- возьмем один полигон. Его значение равна 5.
- окружающие его полигоны имеют значения 1,2,3,4
- получаем на взятом полигоне значение 1, так как среди окружающих его полигонов его значение наибольшее.

как это осуществить в ArcGIS 10?
Возможно ли сделать это в Model builder?
например так:
1.поставить итератор на то, чтобы он выделял каждый полигон
2.при каждой итерации, исходя из выбранного полигона, находил соседние полигоны в радиусе 1 метра
3.среди выделенных полигонов осуществить сверку значений, и если один из соседних полигонов больше основного полигона, то присваиваем ему значение 1, иначе 0.
4. производим запись 1 и 0 в данные.

Ответить

Вернуться в «Я новичок!»

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

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