придать полигонам атрибуты соседей

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

придать полигонам атрибуты соседей

Сообщение nadiopt » 01 апр 2015, 19:59

товарищи, хелп
есть слой гарей
часть гарей была вручную дорисована по снимкам. при этом почти все дорисованные части примыкают к уже имеющимся гарям с атрибутикой
вопрос: как автоматом придать вновь нарисованным гарям атрибуты ближайшего соседа?
ин гроссен фамилен нихт клювен клац клац

Andrey Zhukov
Гуру
Сообщения: 838
Зарегистрирован: 10 дек 2009, 23:24
Репутация: 169
Ваше звание: старик-гисовик
Откуда: Москва
Контактная информация:

Re: придать полигонам атрибуты соседей

Сообщение Andrey Zhukov » 02 апр 2015, 10:34

Пройтись по каждому новому созданному объекту, по выборке найти ближайшего соседа, переписать атрибуты из соседа.
Последний раз редактировалось Andrey Zhukov 02 апр 2015, 10:41, всего редактировалось 2 раза.

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

Re: придать полигонам атрибуты соседей

Сообщение nadiopt » 02 апр 2015, 10:37

вау, какой полезный совет. спасибо, кэп
ин гроссен фамилен нихт клювен клац клац

Andrey Zhukov
Гуру
Сообщения: 838
Зарегистрирован: 10 дек 2009, 23:24
Репутация: 169
Ваше звание: старик-гисовик
Откуда: Москва
Контактная информация:

Re: придать полигонам атрибуты соседей

Сообщение Andrey Zhukov » 02 апр 2015, 10:41

Алгоритм довольно простой, реализация не сильно сложнее, особенно на питоне.

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

Re: придать полигонам атрибуты соседей

Сообщение nadiopt » 02 апр 2015, 10:51

а теперь внимание, вопрос: КАК ЭТО СДЕЛАТЬ?
ин гроссен фамилен нихт клювен клац клац

Andrey Zhukov
Гуру
Сообщения: 838
Зарегистрирован: 10 дек 2009, 23:24
Репутация: 169
Ваше звание: старик-гисовик
Откуда: Москва
Контактная информация:

Re: придать полигонам атрибуты соседей

Сообщение Andrey Zhukov » 02 апр 2015, 11:08

Уровень лицензии какой?
Для Advanced в 10.3 можно просто совсем сделать:
1. разбить на 2 класса;
2. через Near (Analysis) получить идентификаторы ближайших фич;
3. сделать в ArcMap соединение по атрибуту;
4. через калькулятор забить атрибуты.

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

Re: придать полигонам атрибуты соседей

Сообщение nadiopt » 02 апр 2015, 11:23

у меня 10.2.2 пока что
и я не поняла алгоритма. у меня атрибутика 1-155 и 0, надо чтоб нулевые подхватили атрибут от соседнего куска с имеющимся атрибутом
как их разбить на два класса (ноль и не ноль чтоль?)
получить идентификаторы - это понятно
вот мы их получили, они разные для каждого из 519 нулевых полигонов. как теперь их забить нулевкам-то? соединение тогда уж по месту получается, но ведь тогда могут не нулевые получить атрибуты, а имеющиеся обнулиться:(
пока что я просто тупо выбираю большой полигон с атрибутами, выбираю селектом все соседние нулевые и калькуляторм считаю
ин гроссен фамилен нихт клювен клац клац

Andrey Zhukov
Гуру
Сообщения: 838
Зарегистрирован: 10 дек 2009, 23:24
Репутация: 169
Ваше звание: старик-гисовик
Откуда: Москва
Контактная информация:

Re: придать полигонам атрибуты соседей

Сообщение Andrey Zhukov » 02 апр 2015, 11:26

Да, два класса, 0 и 1-155. К нулевым ищем ближайшего соседа, соединяем по NEAR_FID - FID.

Если обратный метод применить, то можно так:
1. делим на два класса (или на два слоя);
2. в модельбилдере итерируем ненулевые полигоны "по выборке" через атрибут со значением (или без параметров, если подход интивидуальный);
3. строим выборку по расположению (по примыканию или по близости);
4. берем значение атрибута, по которому итерировали (в модельбилдере это обычно %Value%) или извлекаем нужные атрибуты из родительского полигона, прописываем в выборке по калькулятору.
Последний раз редактировалось Andrey Zhukov 02 апр 2015, 11:46, всего редактировалось 1 раз.

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

Re: придать полигонам атрибуты соседей

Сообщение nadiopt » 02 апр 2015, 11:37

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

Ответить

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

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

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