У меня есть набор координат в lon / lat. Всегда есть как минимум 3 упорядоченные координаты, которые образуют поли (если они были спроецированы на плоскость). Как я могу рассчитать минимальные границы для этих координат в виде набора допустимых диапазонов долготы и широты? (под «действительным» я подразумеваю диапазоны, которые явно учитывают антимеридиан). Трудно объяснить, что я ищу, поэтому у меня есть картинка.
Случай на картинке тривиален; Вы просто находите абсолютный минимум и максимум для всех точек. Это не работает для всех случаев, хотя. Есть ли общее решение?
Изменить: Чтобы уточнить, что я имею в виду под «действительным», скажем, что в моем наборе данных было три значения долготы: -76, -135 и 164. Значения пересекают антимеридиан, и я хотел бы, чтобы результирующие диапазоны были разделены: -76 до -180 и от 164 до 180.
Еще несколько уточнений. Точки образуют многоугольник, поэтому в некоторых случаях требуемый диапазон может быть от -180 до +180 (т. Е. Все 360 градусов):
Изображение слева показывает долготу четырех координат, которые встречаются на одной «половине» Земли. Представьте, что вы смотрите на северный полюс (черная точка). Розовый цвет показывает минимальный продольный диапазон, который охватывает многоугольник (многоугольник показан между четырьмя точками фиолетового цвета). Случай слева будет иметь два продольных диапазона: [-180 до -120] и [135 до 180] (просто визуально оценивая его)
На изображении справа показан другой случай, когда точки движутся вокруг Земли. Этот диапазон будет [-180 до 180].