Определение взаимной ориентации дорог
-
- Новоприбывший
- Сообщения: 1
- Зарегистрирован: 29 мар 2017, 17:38
- Репутация: 0
Определение взаимной ориентации дорог
Приветствую,
Возможно кто-то сможет помочь с интересной задачкой.
Есть группа линий разной длины, попарно идущих вдоль друг друга - то есть линии представляют собой две полосы движения на одной дороге (В одну сторону и обратную).
Никаких атрибутов нет, есть только координаты конечных точек линий.
Если принять во внимание что движение правостороннее и считать начальной точкой каждой линии к примеру самую южную конечную точку, есть ли способ задать атрибут направления движения для каждой линии?
Я пытался определить взаимную ориентацию средних или конечных точек на линиях, но это не работает в случае, если линии находящиеся друг напротив друга сильно разной длины или извиваются...
Пытался построить кратчайшие линии от средних точек дорог до буфера, чтобы опять таки определить взаимное расположение конечных точек уже этих кратчайших линий. Но это не срабатывает в местах где линии сильно извиваются.
Пока ничего не приходит в голову. Может кто уже сталкивался с подобным.
Спасибо,
Возможно кто-то сможет помочь с интересной задачкой.
Есть группа линий разной длины, попарно идущих вдоль друг друга - то есть линии представляют собой две полосы движения на одной дороге (В одну сторону и обратную).
Никаких атрибутов нет, есть только координаты конечных точек линий.
Если принять во внимание что движение правостороннее и считать начальной точкой каждой линии к примеру самую южную конечную точку, есть ли способ задать атрибут направления движения для каждой линии?
Я пытался определить взаимную ориентацию средних или конечных точек на линиях, но это не работает в случае, если линии находящиеся друг напротив друга сильно разной длины или извиваются...
Пытался построить кратчайшие линии от средних точек дорог до буфера, чтобы опять таки определить взаимное расположение конечных точек уже этих кратчайших линий. Но это не срабатывает в местах где линии сильно извиваются.
Пока ничего не приходит в голову. Может кто уже сталкивался с подобным.
Спасибо,
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Определение взаимной ориентации дорог
Я правильно понял, что нужно получить значения азумута для каждого из отрезков каждой из полилиний?
Редактор материалов, модератор форума
-
- Гуру
- Сообщения: 1195
- Зарегистрирован: 23 апр 2011, 10:32
- Репутация: 205
- Откуда: Ульяновск
Re: Определение взаимной ориентации дорог
Нет, ему нужно найти для линии её соседа и из них двоих определить, кто левый, а кто правый.
-
- Гуру
- Сообщения: 4056
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1054
- Ваше звание: программист
- Откуда: Казань
Re: Определение взаимной ориентации дорог
берете любой сегмент любой дороги, и строите луч от середины сегмента влево (глядя от начала сегмента в сторону конца), длиной более расстояния между дорогами. Если есть пересечение со второй линией, то вы едите по своей полосе. Если нет, то по встречке. Для надежности повторяете это 16 раз, и применяете мажоритарное правило.
-
- Гуру
- Сообщения: 1195
- Зарегистрирован: 23 апр 2011, 10:32
- Репутация: 205
- Откуда: Ульяновск
Re: Определение взаимной ориентации дорог
Это если гарантировано, что все сегменты развёрнуты по направлению движения.
-
- Гуру
- Сообщения: 4056
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1054
- Ваше звание: программист
- Откуда: Казань
Re: Определение взаимной ориентации дорог
это все равно, вы же просто определяете, едите вы по встречке или нет, двигаясь от начала сегмента к концу. Когда вы едите правильно, у вас вторая дорога слева. Когда неправильно - справа.freeExec писал(а):Это если гарантировано, что все сегменты развёрнуты по направлению движения.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 14 гостей