Как определить, находится ли самолет в воздушном пространстве, используя широту и долготу? [закрыто]

У меня есть данные широты и долготы н точки на границе воздушного пространства страны. У меня также есть координаты текущего местоположения самолета. Используя эти данные, как я узнаю, находится ли самолет внутри воздушного пространства или снаружи.

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

Что вы пытались сделать? Это больше похоже на геометрическую задачу (т.е. «эта точка находится внутри этой области?»), чем на авиационную.
Я все еще пытаюсь решить эту проблему. Все проблемы авиационной техники в конечном итоге являются проблемами физики и математики, поэтому я не вижу и не спорю с ними. Что касается этого вопроса, это очень распространенный вопрос, поэтому я уверен, что у нынешних авиакомпаний есть какие-то способы ответить на него? Я ищу этот метод.
Такое низкоуровневое решение проблем может не быть общеизвестным, если они разработали свои собственные алгоритмы, но вы всегда можете запросить алгоритмы общего назначения на math.se. Здесь все зависит от того, заинтересованы ли в этом люди. Тем не менее, не хватает того, что вы пробовали и почему вы не можете найти ответ.
Моя попытка все еще продолжается, и я надеюсь взломать ее, но тогда не нужно ждать, пока я закончу свою попытку задать вопрос. Зачем изобретать велосипед, если он уже изобретен. Это математически сложная задача, поэтому в Интернете не так много решений, которые могут быть математически точными и реализуемыми на практике.
Если вы не получите хорошего ответа здесь, вы также можете попробовать gis.SE . И в зависимости от того, что именно вы подразумеваете под «воздушным пространством», вам, возможно, придется учитывать и высоту самолета.
Первый шаг состоит в том, чтобы взять минимум/максимум всех широчайших/длинных, чтобы получить 4 очка, квадрат. Если точка находится внутри этого, то продолжайте идти, если не выходите. После этого это ничем не отличается от других проблем, подобных этой . Если вы хотите получить действительно фантазию, преобразуйте точки в ECEF из широты/долготы, чтобы учесть кривизну земли.
@RonBeyer, вы должны опубликовать это как ответ? (и лично я бы не советовал ECEF учитывать кривизну Земли, поскольку ECEF не очень хорошо с этим справляется)

Ответы (1)

Это просто известная задача вычислительной геометрии, называемая PIP (точка-в-многоугольнике). Я предполагаю, что воздушное пространство довольно маленькое, и мы можем рассматривать его границы как линии (не кривые) на плоскости.

Сначала преобразуйте минуты и секунды широты и долготы в дроби. Затем используйте любой из алгоритмов PIP (или библиотеки, если вы делаете это на любом языке программирования).

Для получения дополнительной информации проверьте: wiki или эта ссылка .

Вы также можете использовать для этого WolframAlpha или любой язык программирования с определенной библиотекой (например, OpenCV очень хорошо справляется с этим на C++ или python).