ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
25 апреля
751540 Топик полностью
Николай Коровин (22.04.2017 23:28, просмотров: 189) ответил Гудвин на Поинтересуюсь: Кто как решает задачу определения вхождения точки с определенными координатами в полигон произвольной формы на карте? Например, имеется *.kml файл с несколькими десятками полигонов. Есть задача определить принадлежность точки
Возьмите прямые, образованные сторонами полигона. Опустите из точки на них нормали. Отбросьте те, которые пересекаются с прямыми вне пределов отрезка, являющегося стороной полигона. Выберите самую короткую нормаль. Самая короткая нормаль из тех, которые приходят в пределы отрезков — есть не что иное, как кратчайший путь до ближайшей стенки. Остаётся только посмотреть, «ткнулся» он в неё изнутри или снаружи. Если ни одна нормаль вообще в пределы ни одной стороны не попала и отбросить пришлось все — очевидно, точка вообще где-то в Китае. Т. е. составляем уравнения прямых, уравнения нормалей, решаем, смотрим попадание в границы между вершинами, выкидываем вылезшие, решаем уравнения длин, выбираем наименьшую, решаем неравенство из точки и уравнения той прямой, в которую ткнулись, чтобы понять, с какой она стороны. Это я навскидку с потолка, анализируйте и критикуйте.