алгоритм проверки точки внутри заданной области / координат

Мне нужна помощь здесь. Я до сих пор не знаю, как проверить, находится ли точка внутри локации (локация, заданная некоторыми координатами) или нет. Например, у меня есть область с заданной широтой и долготой, как эта картина

(https://i.stack.imgur.com/zR9VX.png) (тот, который покрыт линией)

и точка (флаг) внутри него. Какой самый быстрый способ проверить, находится ли эта точка внутри или снаружи области?

Пожалуйста, помогите мне здесь

0

Решение

Начнем с формулы для площади земли между линией широты и северным полюсом.

A = 2*pi*R*h

где R — радиус Земли, а h — перпендикулярное расстояние от плоскости, содержащей линию широты до полюса. Мы можем рассчитать ч, используя тригонометрию как

h = R*(1-sin(lat))

Таким образом, область к северу от линии широты

A = 2*pi*R^2(1-sin(lat))

Область между двумя линиями широты — это разница между областью к северу от одной широты и областью к северу от другой широты:

A = |2*pi*R^2(1-sin(lat2)) - 2*pi*R^2(1-sin(lat1))|
= 2*pi*R^2 |sin(lat1) - sin(lat2)|

Площадь прямоугольника с длинной широтой пропорциональна разности долгот. Область, которую я только что вычислила, является областью между линиями долготы, отличающимися на 360 градусов. Поэтому область, которую мы ищем

A = 2*pi*R^2 |sin(lat1)-sin(lat2)| |lon1-lon2|/360
= (pi/180)R^2 |sin(lat1)-sin(lat2)| |lon1-lon2|
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]