2014-10-12 2 views
0

Я дал ограничительную рамку, широту и долготу, которые являются следующие: Bounding box = 59.3518076,59.5915769,24.55017,24.9262831 Latitude = 59.4372155 Longitude = 24.7453688Как преобразовать координаты ограничительной рамки в радиус?

Мой вопрос, как я конвертировать ограничивающего параллелепипеда в радиусе, используя эти 3 параметра?

+0

Существует уже вопрос, как это: [Здесь] (http://stackoverflow.com/questions/1689096/calculating-bounding-box-a-certain -расстояние вдали от-а-ш-давно координатно-я n-j) –

+0

К сожалению, в этом вопросе они задают ограничительную рамку. У меня есть один, но я понятия не имею, как преобразовать его обратно в радиус :) – Evald

+0

Если вы прочтете все это, вы увидите, что он также пытается получить радиус. Я прокрутил вниз и прочитал два лучших ответа. –

ответ

0

Вот алгоритм, на моем взгляде:

  • первым найти кратчайшую сторону BBOX: мин (| LAT1-LAT2 |, | lon1-lon2 |)
  • преобразовать его длину в десятичных градусах км (http://en.wikipedia.org/wiki/Decimal_degrees#Precision)
  • у вас есть минимальный радиус
+0

Спасибо, я попробую это. Я также нашел способ использовать весь ограничивающий прямоугольник в моем коде, но я буду помнить о первоначальной идее. – Evald

+0

Я реализовал алгоритм (который дает оба измерения ограничивающей рамки, поэтому нужно только проверять только минимальные значения. haversine https://github.com/sabas/sabas.github.io/blob/master/tools/bboxcalculator.html#L123 – sabas

Смежные вопросы