Есть ли инструмент Collect events для линий?
-
- Активный участник
- Сообщения: 244
- Зарегистрирован: 03 мар 2015, 10:01
- Репутация: 24
- Откуда: Санкт-Петербург
Есть ли инструмент Collect events для линий?
Добрый день.
У меня такая задача - есть сеть маршрутов, нужно посчитать, на каких участках сети сколько маршрутов проходит. Геометрически трассировка линий там, где на одном участке несколько маршрутов, совпадает. Подскажите, пожалуйста, есть ли в тулбоксе инструмент для линий, аналогичный "Собрать события" для точек?
Я это реализую достаточно нудным алгоритмом (разбиение маршрутов на пересечениях -> создание точек на пересечениях -> буфер вокруг отрезков маршрутов -> буфер большего размера вокруг точек пересечения -> вырезание буфера пересечений из буферного слоя маршрутов -> и! наконец! геометрическое соединение, из которого я беру созданный атрибут COUNT).
Есть ли более простой способ, может кто-то решал подобную задачу?
У меня такая задача - есть сеть маршрутов, нужно посчитать, на каких участках сети сколько маршрутов проходит. Геометрически трассировка линий там, где на одном участке несколько маршрутов, совпадает. Подскажите, пожалуйста, есть ли в тулбоксе инструмент для линий, аналогичный "Собрать события" для точек?
Я это реализую достаточно нудным алгоритмом (разбиение маршрутов на пересечениях -> создание точек на пересечениях -> буфер вокруг отрезков маршрутов -> буфер большего размера вокруг точек пересечения -> вырезание буфера пересечений из буферного слоя маршрутов -> и! наконец! геометрическое соединение, из которого я беру созданный атрибут COUNT).
Есть ли более простой способ, может кто-то решал подобную задачу?
-
- Завсегдатай
- Сообщения: 388
- Зарегистрирован: 09 ноя 2012, 09:25
- Репутация: 113
- Откуда: Москва
Re: Есть ли инструмент Collect events для линий?
Надеюсь, я правильно смоделировал аналогичную ситуацию. Попробовал собрать небольшой инструмент.
1. Настроен на работу с классами в базе геоданных.
2. Потребуется 2 класса линейных объектов: 1 - непосредственно слой маршрутов; 2 - слой дорожной сети. Слой дорожной сети должен включать в себя только один сложный объект (предварительно нужно произвести объединение всех объектов). Важно, чтобы объект этого слоя геометрически совпадал с объектами слоя маршрутов, а также полностью "покрывал" (вообще можно просто взять тот же слой с маршрутами, сохранить в отдельный класс, создать в нем сложный объект через Merge всех объектов).
3. Запустить инструмент в ArcCatalog, указать пути к классам. Новый класс должен появиться в той же директории, где лежит класс с маршрутами.
4. Если что-то получится не так, то, возможно, наведет Вас на какие-то мысли...
1. Настроен на работу с классами в базе геоданных.
2. Потребуется 2 класса линейных объектов: 1 - непосредственно слой маршрутов; 2 - слой дорожной сети. Слой дорожной сети должен включать в себя только один сложный объект (предварительно нужно произвести объединение всех объектов). Важно, чтобы объект этого слоя геометрически совпадал с объектами слоя маршрутов, а также полностью "покрывал" (вообще можно просто взять тот же слой с маршрутами, сохранить в отдельный класс, создать в нем сложный объект через Merge всех объектов).
3. Запустить инструмент в ArcCatalog, указать пути к классам. Новый класс должен появиться в той же директории, где лежит класс с маршрутами.
4. Если что-то получится не так, то, возможно, наведет Вас на какие-то мысли...
- Вложения
-
Маршруты.7z
- (7.74 КБ) 281 скачивание
-
- Активный участник
- Сообщения: 244
- Зарегистрирован: 03 мар 2015, 10:01
- Репутация: 24
- Откуда: Санкт-Петербург
Re: Есть ли инструмент Collect events для линий?
Спасибо большое, сейчас попробую! Относительно слоя дорожной сети - в своем долгом способе я так и делала, в идеале конечно круто было бы из него граф УДС сделать
-
- Активный участник
- Сообщения: 244
- Зарегистрирован: 03 мар 2015, 10:01
- Репутация: 24
- Откуда: Санкт-Петербург
Re: Есть ли инструмент Collect events для линий?
Товарищи, возвращаясь к этой задаче обнаружила очень полезную вещь, может быть, кому-нибудь пригодится.
Оказывается, если запустить инструмент "Пространственное соединение" не из подменю слоя, а из тулбокса, там появляется куча дополнительных параметров присоединения - опции сопоставления (intersect, contain, identical итд) и правила слияния (first, sum, count итд). Мне очень помогло просуммировать пассажиропотоки по разным видам транспорта разных маршрутов и посчитать, сколько какого транспорта на каждом участке УДС.
Оказывается, если запустить инструмент "Пространственное соединение" не из подменю слоя, а из тулбокса, там появляется куча дополнительных параметров присоединения - опции сопоставления (intersect, contain, identical итд) и правила слияния (first, sum, count итд). Мне очень помогло просуммировать пассажиропотоки по разным видам транспорта разных маршрутов и посчитать, сколько какого транспорта на каждом участке УДС.
-
- Завсегдатай
- Сообщения: 388
- Зарегистрирован: 09 ноя 2012, 09:25
- Репутация: 113
- Откуда: Москва
Re: Есть ли инструмент Collect events для линий?
Я, честно говоря, думал, что Вам нужен единый слой без накладок, разбитый на участки согласно количеству маршрутов. А если только посчитать, то этот инструмент хорош, сам его всегда использую. А в геометрическом смысле накладывает объекты друг на друга целиком, если выполняется установленное условие.
-
- Активный участник
- Сообщения: 244
- Зарегистрирован: 03 мар 2015, 10:01
- Репутация: 24
- Откуда: Санкт-Петербург
Re: Есть ли инструмент Collect events для линий?
Да, именно такой и нужен был!) Просто потом возникла необходимость привязать данные по количеству пассажиров для визуализации на карте.
Поэтому я сделала слой с отрезками маршрутов, удалив идентичные, как в вашей модели, а потом привязала к нему все маршруты этим инструментом, считая количество присоединенных к каждому отрезку объектов другого слоя и суммы одноименных полей атрибутов.
Поэтому я сделала слой с отрезками маршрутов, удалив идентичные, как в вашей модели, а потом привязала к нему все маршруты этим инструментом, считая количество присоединенных к каждому отрезку объектов другого слоя и суммы одноименных полей атрибутов.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя