Пересечение полигонов и полилиний с помощью API карт Google v3

google-maps google-maps-api-3

2083 просмотра

2 ответа

1026 Репутация автора

У меня есть многоугольник и полилиния, созданные динамически. Теперь мне нужно проверить, пересекаются ли они оба или нет.

Как мне этого добиться? Поиск в Google не дал удовлетворительных результатов.

Спасибо Даниэль

Автор: dgamma3 Источник Размещён: 18.07.2016 07:08

Ответы (2)


0 плюса

15962 Репутация автора

Решение

Вам нужно перебрать каждый сегмент первого многоугольника / полилинии и проверить, пересекается ли он с каждым сегментом второго многоугольника / полилинии. Если один пересекается, то две геометрии пересекаются.

Если вам не нужно принимать во внимание геодезические линии, вы можете взглянуть на предлагаемые реализации здесь: Как вы обнаруживаете, где пересекаются два отрезка линии? (есть также реализация Javascript, которая может удовлетворить ваши потребности: https://github.com/pgkelley4/line-segments-intersect/blob/master/js/line-segments-intersect.js )

Автор: antonio Размещён: 18.07.2016 08:08

0 плюса

18 Репутация автора

Посмотрите на Turf.js, он предоставляет вам очень простой lineIntersectметод, который вы передаете ему координат1, координаты2, и он дает вам массив точных пересечений. Документация по Turf.js lineIntersect

Автор: Shabab Qaisar Размещён: 24.04.2019 09:27
Вопросы из категории :
32x32