Клуб API Карт

Пересечение линий

Дмитрий
17 мая 2010, 14:24

Есть ли функция которая показывает пересекаются ли линии на карте?

13 комментариев
Подписаться на комментарии к посту
Данной функциональности в API нет. Точку пересечений линий придется искать самостоятельно.
Дмитрий
17 мая 2010, 16:57
то есть в ручную?
Пересечение отрезков искать. Это немного геометрии ;)
Дмитрий
17 мая 2010, 19:15
а если есть несколько линий, и мы ставим две точки, возможно ли найти совпадают ли поставленные точки с этими линиями? 
А расскажите поподробнее о задаче, которую вы решаете. Постараюсь подсказать что-то более конкретное.
Дмитрий
17 мая 2010, 19:26
В базе есть маршруты (линии), я ставлю на карте 2 точки (допустим от и до). Мне нужно узнать с какими маршрутами из базы совпадают мои точки, и не важно дальше маршруты моих точек или нет, главное чтобы маршруты из базы проходили через точки которые я указал. Вот как-то так )))
Т. е. нужно проложить путь из стартовой точки в конечную с помощью одного или нескольких маршрутов из базы?
Дмитрий
17 мая 2010, 19:31
Нет, нужно показать те маршруты с которыми совпадают мои точки.
Маршрут может быть ломаной? Нужно определить тот маршрут (или нескольки), к которому принадлежат поставленные точки?
Дмитрий
17 мая 2010, 19:37
да, именно
Самое простое решение: каждую ломаную разбить на отрезки и искать принадлежность точки отрезку.
http://algolist.manual.ru/maths/geom/belong/otr2d.php
Дмитрий
17 мая 2010, 20:05
вот в этом то я как раз и не силен)))) да и думаю что сервер не выдержит такое большое количество сложных запросов к базе.
Andrey.Cjkjvfnby
18 мая 2010, 10:07
Сформулируйте точнее что значит точка совпадает с маршрутом? 

Как происходит добавление точки?
Пользователь ставит сам?

Может быть подойти с другой стороны? например
http://api.yandex.ru/maps/jsapi/doc/mod/hotspots/concepts/api-modules-hotspots-overlay.xml
Тогда нужно будет ваши маршруты реализовать в виде активных областей, но поиск маршрут-точка будет реализовываться в самом браузере.