Подсчет числа ребер графа УДС в каждом узле этого графа

ArcGIS 8.x,9.x,10.x (Arcview, ArcEditor, Arcinfo).
Ответить
xar4enkkoff
Активный участник
Сообщения: 107
Зарегистрирован: 17 янв 2010, 00:07
Репутация: 5
Откуда: Курск

Подсчет числа ребер графа УДС в каждом узле этого графа

Сообщение xar4enkkoff » 24 ноя 2015, 16:38

Здравствуйте!
Есть линейный слой улично-дорожной сети (УДС). Понятно, что улицы пересекаются в "точках"-узлах. Из линейного слоя эти точки пересечений извлечены в точечный слой. Нужно в атрибуты каждой точки записать число - сколько линий пересекается в этой точке. Если ли в ArcGIS готовый инструмент/ряд инструментов для этого?

Я изощрялся. Делал растр плотности линий с небольшим размером ячейки и в небольшой окрестности от нее. По идее, узлам УДС должны были соответствовать пиксели растра с кол-вом линий (ну или по крайней мере плотности можно было пересчитать в кол-во линий при фиксированном размере ячейки). Получилось для точек схождения трех, четырех линий УДС. Но при бОльшем количестве линий инструмент плотности выдает еще бОльшее значение линий - например, при стыковке пяти ребер графа в ячейке растра почему-то значение 7 и т.д.

Так вот, может есть какой-то менее мудреный и более точный способ? Заранее спасибо!

giser
Завсегдатай
Сообщения: 388
Зарегистрирован: 09 ноя 2012, 09:25
Репутация: 113
Откуда: Москва

Re: Подсчет числа ребер графа УДС в каждом узле этого графа

Сообщение giser » 24 ноя 2015, 18:34

Готового инструмента "в один клик" не знаю. Собрал в MB. Попробуйте, надеюсь, что поможет.
Слои дорожного графа и точек предварительно импортируйте в БГД.
Вложения
Toolbox.7z
(9.72 КБ) 312 скачиваний

xar4enkkoff
Активный участник
Сообщения: 107
Зарегистрирован: 17 янв 2010, 00:07
Репутация: 5
Откуда: Курск

Re: Подсчет числа ребер графа УДС в каждом узле этого графа

Сообщение xar4enkkoff » 24 ноя 2015, 22:03

Большое спасибо за отзывчивость!
Но я, похоже, что-то делаю не так. Процесс проходит. Никакой новой информации нигде не появляется.

Вот данные лога:

Сообщения
Выполнение: Model C:\Users\Sergey\Cloud@Mail.Ru\Desktop\Geomorphologists\aa.gdb\line C:\Users\Sergey\Cloud@Mail.Ru\Desktop\Geomorphologists\aa.gdb\nodes
Время старта: Tue Nov 24 21:58:36 2015
Выполнение (Parse Path): ParsePath C:\Users\Sergey\Cloud@Mail.Ru\Desktop\Geomorphologists\aa.gdb\line PATH
Время старта: Tue Nov 24 21:58:37 2015
Успешно на Tue Nov 24 21:58:37 2015 (Затраченное время: 0,01 сек.)
Выполнение (Parse Path (2)): ParsePath C:\Users\Sergey\Cloud@Mail.Ru\Desktop\Geomorphologists\aa.gdb\nodes NAME
Время старта: Tue Nov 24 21:58:37 2015
Успешно на Tue Nov 24 21:58:37 2015 (Затраченное время: 0,00 сек.)
Выполнение (Intersect): Intersect "C:\Users\Sergey\Cloud@Mail.Ru\Desktop\Geomorphologists\aa.gdb\line #" C:\Users\Sergey\Cloud@Mail.Ru\Desktop\Geomorphologists\aa.gdb\Дорожный_граф_Intersect ALL "1 Meters" POINT
Время старта: Tue Nov 24 21:58:37 2015
Считывание пространственных объектов...
Разбиение пространственных объектов...
Компоновка пространственных объектов...
Успешно на Tue Nov 24 21:58:45 2015 (Затраченное время: 8,26 сек.)
Выполнение (Find Identical): FindIdentical C:\Users\Sergey\Cloud@Mail.Ru\Desktop\Geomorphologists\aa.gdb\Дорожный_граф_Intersect C:\Users\Sergey\Cloud@Mail.Ru\Desktop\Geomorphologists\aa.gdb\Дорожный_граф_Identical Shape # 0 ALL
Время старта: Tue Nov 24 21:58:45 2015
11706 дубликатов обнаружено в 3719 группах
Успешно на Tue Nov 24 21:58:52 2015 (Затраченное время: 7,18 сек.)
Выполнение (Join Field): JoinField C:\Users\Sergey\Cloud@Mail.Ru\Desktop\Geomorphologists\aa.gdb\Дорожный_граф_Intersect OBJECTID C:\Users\Sergey\Cloud@Mail.Ru\Desktop\Geomorphologists\aa.gdb\Дорожный_граф_Identical IN_FID IN_FID;FEAT_SEQ
Время старта: Tue Nov 24 21:58:52 2015
Успешно на Tue Nov 24 21:59:36 2015 (Затраченное время: 44,13 сек.)
Выполнение (Dissolve): Dissolve C:\Users\Sergey\Cloud@Mail.Ru\Desktop\Geomorphologists\aa.gdb\Дорожный_граф_Intersect C:\Users\Sergey\Cloud@Mail.Ru\Desktop\Geomorphologists\aa.gdb\Дорожный_Граф_Dissolve FEAT_SEQ "OBJECTID COUNT" MULTI_PART DISSOLVE_LINES
Время старта: Tue Nov 24 21:59:36 2015
Сортировка атрибутов...
Уничтожение границ...
Успешно на Tue Nov 24 21:59:39 2015 (Затраченное время: 2,28 сек.)
Выполнение (Spatial Join): SpatialJoin C:\Users\Sergey\Cloud@Mail.Ru\Desktop\Geomorphologists\aa.gdb\nodes C:\Users\Sergey\Cloud@Mail.Ru\Desktop\Geomorphologists\aa.gdb\Дорожный_Граф_Dissolve C:\Users\Sergey\Cloud@Mail.Ru\Desktop\Geomorphologists\aa.gdb\nodes_new JOIN_ONE_TO_ONE KEEP_ALL # INTERSECT_3D # #
Время старта: Tue Nov 24 21:59:39 2015
Успешно на Tue Nov 24 21:59:42 2015 (Затраченное время: 3,09 сек.)
Выполнение (Delete Field): DeleteField C:\Users\Sergey\Cloud@Mail.Ru\Desktop\Geomorphologists\aa.gdb\nodes_new Join_Count;TARGET_FID;FEAT_SEQ
Время старта: Tue Nov 24 21:59:42 2015
Удаление Join_Count из C:\Users\Sergey\Cloud@Mail.Ru\Desktop\Geomorphologists\aa.gdb\nodes_new...
Удаление TARGET_FID из C:\Users\Sergey\Cloud@Mail.Ru\Desktop\Geomorphologists\aa.gdb\nodes_new...
Удаление FEAT_SEQ из C:\Users\Sergey\Cloud@Mail.Ru\Desktop\Geomorphologists\aa.gdb\nodes_new...
Успешно на Tue Nov 24 21:59:43 2015 (Затраченное время: 1,43 сек.)
Успешно на Tue Nov 24 21:59:44 2015 (Затраченное время: 1 мин. 7 сек.)

giser
Завсегдатай
Сообщения: 388
Зарегистрирован: 09 ноя 2012, 09:25
Репутация: 113
Откуда: Москва

Re: Подсчет числа ребер графа УДС в каждом узле этого графа

Сообщение giser » 24 ноя 2015, 22:20

А какая у Вас версия ArcGIS? Было бы замечательно, если бы поделились данными, чтобы я смог у себя проверить. Хотя бы участок.

xar4enkkoff
Активный участник
Сообщения: 107
Зарегистрирован: 17 янв 2010, 00:07
Репутация: 5
Откуда: Курск

Re: Подсчет числа ребер графа УДС в каждом узле этого графа

Сообщение xar4enkkoff » 24 ноя 2015, 22:37

Версия 10.2.

Данные вот, пожалуйста:
https://cloud.mail.ru/public/4am6YvTzC7 ... _graph.rar

giser
Завсегдатай
Сообщения: 388
Зарегистрирован: 09 ноя 2012, 09:25
Репутация: 113
Откуда: Москва

Re: Подсчет числа ребер графа УДС в каждом узле этого графа

Сообщение giser » 24 ноя 2015, 23:07

Я недавно сталкивался с похожей ситуацией, что инструменты, сделанные в 10.1 (у меня такая), не работают в 10.2.
Так что можете просто попробовать пересобрать у себя. Если интересует только результат, то завтра..

На всякий случай: содержание БГД обновляли после использования инструмента?

xar4enkkoff
Активный участник
Сообщения: 107
Зарегистрирован: 17 янв 2010, 00:07
Репутация: 5
Откуда: Курск

Re: Подсчет числа ребер графа УДС в каждом узле этого графа

Сообщение xar4enkkoff » 25 ноя 2015, 00:40

Моя пересобранная модель тоже не заработала. Но вполне возможно, что это по причине криворукости - я пользуюсь MB здесь первый раз в жизни, мог что-то упустить.

Зато заработал ручной запуск каждого из инструментов (собственно, что дополнительный аргумент в пользу кривой сборки модели в MB). В принципе, такое решение меня уже устраивает. Большое Вам спасибо!

giser
Завсегдатай
Сообщения: 388
Зарегистрирован: 09 ноя 2012, 09:25
Репутация: 113
Откуда: Москва

Re: Подсчет числа ребер графа УДС в каждом узле этого графа

Сообщение giser » 25 ноя 2015, 11:00

У меня все адекватно сработало. Дело в версионности, значит. Кстати, для некоторых точек образовались нулевые значения. Их нужно просто заполнить единичками. Я не думал, что у Вас еще и конечные точки ребер будут, которые находятся не в месте пересечений, поэтому и не предусмотрел в модели.

Нашел некоторое количество ошибок. Думаю, что можно решить увеличением допуска в инструментах.

Ответить

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

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

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