Сравнение соседних полигонов.
-
- Интересующийся
- Сообщения: 34
- Зарегистрирован: 14 сен 2012, 11:37
- Репутация: 2
Сравнение соседних полигонов.
Есть такая вот задача.
Имеется векторный файл в виде полигонов со значениями.
Нужно сравнить каждый полигон с соседними полигонами и определить, является ли он наибольшим значением или наименьшим. Если наибольшее то 1, если наименьшее то 0.
Например:
- возьмем один полигон. Его значение равна 5.
- окружающие его полигоны имеют значения 1,2,3,4
- получаем на взятом полигоне значение 1, так как среди окружающих его полигонов его значение наибольшее.
как это осуществить в ArcGIS 10?
-
- Активный участник
- Сообщения: 218
- Зарегистрирован: 21 дек 2012, 01:57
- Репутация: 52
- Откуда: Питер
Re: Сравнение соседних полигонов.
Нужно формальное определение что есть "соседний полигон" и как его можно отличить от "несоседнего".li_sasha писал(а):...с соседними полигонами
-
- Интересующийся
- Сообщения: 34
- Зарегистрирован: 14 сен 2012, 11:37
- Репутация: 2
Re: Сравнение соседних полигонов.
как один из вариантов можно задать радиус поиска соседних полигонов. Таким образом для каждого полигона будут сравниваться соседние полигоны. Но вот как все это дело осуществить в реальностьSergey Astakhov писал(а):Нужно формальное определение что есть "соседний полигон" и как его можно отличить от "несоседнего".li_sasha писал(а):...с соседними полигонами

-
- Гуру
- Сообщения: 4168
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1107
- Ваше звание: программист
- Откуда: Казань
Re: Сравнение соседних полигонов.
1) при построенной топологии в таблице дуг есть ID левого и правого полигонов, поэтому все делается SQL запросом с соединением таблиц и агрегацией. И наверняка есть приблуда для этого в Тулбоксе. Если топологии нет, ее нужно построить разными build + clean (в том же Тулбоксе)li_sasha писал(а):Но вот как все это дело осуществить в реальность
2) какие для этого кнопочки в Арке нужно нажимать, рассказывали на том занятии, вместо которого вы в кино ходили

3) если это для дела нужно, можно вывалить в shape, затащить в QGIS (или в R, или еще куда), и построить там этот SQL запрос, там все это намного проще и понятнее (по крайней мере для простого программиста, как я)

-
- Гуру
- Сообщения: 5355
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1021
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: Сравнение соседних полигонов.
Ммм, центройды=>диаграмма Вороного...
-
- Интересующийся
- Сообщения: 34
- Зарегистрирован: 14 сен 2012, 11:37
- Репутация: 2
Re: Сравнение соседних полигонов.
Возможно ли сделать это в Model builder?li_sasha писал(а):Здравствуйте.
Есть такая вот задача.
Имеется векторный файл в виде полигонов со значениями.
Нужно сравнить каждый полигон с соседними полигонами и определить, является ли он наибольшим значением или наименьшим. Если наибольшее то 1, если наименьшее то 0.
Например:
- возьмем один полигон. Его значение равна 5.
- окружающие его полигоны имеют значения 1,2,3,4
- получаем на взятом полигоне значение 1, так как среди окружающих его полигонов его значение наибольшее.
как это осуществить в ArcGIS 10?
например так:
1.поставить итератор на то, чтобы он выделял каждый полигон
2.при каждой итерации, исходя из выбранного полигона, находил соседние полигоны в радиусе 1 метра
3.среди выделенных полигонов осуществить сверку значений, и если один из соседних полигонов больше основного полигона, то присваиваем ему значение 1, иначе 0.
4. производим запись 1 и 0 в данные.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя