Подсчет числа ребер графа УДС в каждом узле этого графа
-
- Активный участник
- Сообщения: 107
- Зарегистрирован: 17 янв 2010, 00:07
- Репутация: 5
- Откуда: Курск
Подсчет числа ребер графа УДС в каждом узле этого графа
Здравствуйте!
Есть линейный слой улично-дорожной сети (УДС). Понятно, что улицы пересекаются в "точках"-узлах. Из линейного слоя эти точки пересечений извлечены в точечный слой. Нужно в атрибуты каждой точки записать число - сколько линий пересекается в этой точке. Если ли в ArcGIS готовый инструмент/ряд инструментов для этого?
Я изощрялся. Делал растр плотности линий с небольшим размером ячейки и в небольшой окрестности от нее. По идее, узлам УДС должны были соответствовать пиксели растра с кол-вом линий (ну или по крайней мере плотности можно было пересчитать в кол-во линий при фиксированном размере ячейки). Получилось для точек схождения трех, четырех линий УДС. Но при бОльшем количестве линий инструмент плотности выдает еще бОльшее значение линий - например, при стыковке пяти ребер графа в ячейке растра почему-то значение 7 и т.д.
Так вот, может есть какой-то менее мудреный и более точный способ? Заранее спасибо!
Есть линейный слой улично-дорожной сети (УДС). Понятно, что улицы пересекаются в "точках"-узлах. Из линейного слоя эти точки пересечений извлечены в точечный слой. Нужно в атрибуты каждой точки записать число - сколько линий пересекается в этой точке. Если ли в ArcGIS готовый инструмент/ряд инструментов для этого?
Я изощрялся. Делал растр плотности линий с небольшим размером ячейки и в небольшой окрестности от нее. По идее, узлам УДС должны были соответствовать пиксели растра с кол-вом линий (ну или по крайней мере плотности можно было пересчитать в кол-во линий при фиксированном размере ячейки). Получилось для точек схождения трех, четырех линий УДС. Но при бОльшем количестве линий инструмент плотности выдает еще бОльшее значение линий - например, при стыковке пяти ребер графа в ячейке растра почему-то значение 7 и т.д.
Так вот, может есть какой-то менее мудреный и более точный способ? Заранее спасибо!
-
- Завсегдатай
- Сообщения: 388
- Зарегистрирован: 09 ноя 2012, 09:25
- Репутация: 113
- Откуда: Москва
Re: Подсчет числа ребер графа УДС в каждом узле этого графа
Готового инструмента "в один клик" не знаю. Собрал в MB. Попробуйте, надеюсь, что поможет.
Слои дорожного графа и точек предварительно импортируйте в БГД.
Слои дорожного графа и точек предварительно импортируйте в БГД.
- Вложения
-
Toolbox.7z
- (9.72 КБ) 313 скачиваний
-
- Активный участник
- Сообщения: 107
- Зарегистрирован: 17 янв 2010, 00:07
- Репутация: 5
- Откуда: Курск
Re: Подсчет числа ребер графа УДС в каждом узле этого графа
Большое спасибо за отзывчивость!
Но я, похоже, что-то делаю не так. Процесс проходит. Никакой новой информации нигде не появляется.
Вот данные лога:
Сообщения
Выполнение: 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 сек.)
Но я, похоже, что-то делаю не так. Процесс проходит. Никакой новой информации нигде не появляется.
Вот данные лога:
Сообщения
Выполнение: 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 сек.)
-
- Завсегдатай
- Сообщения: 388
- Зарегистрирован: 09 ноя 2012, 09:25
- Репутация: 113
- Откуда: Москва
Re: Подсчет числа ребер графа УДС в каждом узле этого графа
А какая у Вас версия ArcGIS? Было бы замечательно, если бы поделились данными, чтобы я смог у себя проверить. Хотя бы участок.
-
- Активный участник
- Сообщения: 107
- Зарегистрирован: 17 янв 2010, 00:07
- Репутация: 5
- Откуда: Курск
-
- Завсегдатай
- Сообщения: 388
- Зарегистрирован: 09 ноя 2012, 09:25
- Репутация: 113
- Откуда: Москва
Re: Подсчет числа ребер графа УДС в каждом узле этого графа
Я недавно сталкивался с похожей ситуацией, что инструменты, сделанные в 10.1 (у меня такая), не работают в 10.2.
Так что можете просто попробовать пересобрать у себя. Если интересует только результат, то завтра..
На всякий случай: содержание БГД обновляли после использования инструмента?
Так что можете просто попробовать пересобрать у себя. Если интересует только результат, то завтра..
На всякий случай: содержание БГД обновляли после использования инструмента?
-
- Активный участник
- Сообщения: 107
- Зарегистрирован: 17 янв 2010, 00:07
- Репутация: 5
- Откуда: Курск
Re: Подсчет числа ребер графа УДС в каждом узле этого графа
Моя пересобранная модель тоже не заработала. Но вполне возможно, что это по причине криворукости - я пользуюсь MB здесь первый раз в жизни, мог что-то упустить.
Зато заработал ручной запуск каждого из инструментов (собственно, что дополнительный аргумент в пользу кривой сборки модели в MB). В принципе, такое решение меня уже устраивает. Большое Вам спасибо!
Зато заработал ручной запуск каждого из инструментов (собственно, что дополнительный аргумент в пользу кривой сборки модели в MB). В принципе, такое решение меня уже устраивает. Большое Вам спасибо!
-
- Завсегдатай
- Сообщения: 388
- Зарегистрирован: 09 ноя 2012, 09:25
- Репутация: 113
- Откуда: Москва
Re: Подсчет числа ребер графа УДС в каждом узле этого графа
У меня все адекватно сработало. Дело в версионности, значит. Кстати, для некоторых точек образовались нулевые значения. Их нужно просто заполнить единичками. Я не думал, что у Вас еще и конечные точки ребер будут, которые находятся не в месте пересечений, поэтому и не предусмотрел в модели.
Нашел некоторое количество ошибок. Думаю, что можно решить увеличением допуска в инструментах.
Нашел некоторое количество ошибок. Думаю, что можно решить увеличением допуска в инструментах.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя