Как найти расстояние между городами в окружности

Как измерить расстояние на карте с помощью градусной сетки?

С помощью карты можно определять расстояние между точками на земной поверхности, но точность таких вычислений невысока.

Ситуация относительно проста, если точки лежат на одном меридиане. Все меридианы имеют одинаковую длину. Можно подсчитать, что одному градусу широты соответствует примерно 111,3 км реальной длины. Поэтому надо найти разницу в долготе между точками и умножить ее на 111,3 км. Например, если точка А находится на северной широте 50°, а Б располагается на северной широте 32°, и при этом у них совпадает долгота, то расстояние между ними составит.

111,3х(50° – 32°) = 111,3х16 = 1780,8 км

Ситуация меняется, когда одна точка имеет северную, а другая – южную широту. В этом случае широты уже надо складывать. Так, если бы точка Б из предыдущего примера располагалась бы на южной широте 32°, то расстояние от А до Б составило бы:

111,3х(50° + 32°) = 111,3х82 = 9126,6 км

Ситуация усложняется, когда точки находятся на разных меридианах, но на одной параллели. Если у обеих точек долгота западная (или, наоборот, восточная), то сначала надо найти разницу их долгот. Если же одна точка имеет восточную, а другая западную долготу, то их надо суммировать. Далее результат надо умножить на длину 1° параллели. Эта длина у параллелей различна и зависит от их широты. Можно воспользоваться таблицей ниже:

Широта параллели Длина ее дуги величиной в 1°
111,3
110,9
10° 109,6
15° 107,6
20° 104,6
25° 102,1
30° 96,5
35° 91,3
40° 85,4
45° 78,8
50° 71,7
55° 64,0
60° 55,8
65° 47,2
70° 38,2
75° 28,9
80° 19,4
85° 9,7
90° 0

Например, нужно найти расстояние между точками, имеющими координаты:

А – 60° с. ш, 39° з. д.
Б – 60° с. ш, 25° з. д.

Широты у них одинаковы, поэтому смотрим на долготу. Она у обеих точек западная, поэтому надо найти их разницу:

39° – 25° = 14°

Полученный результат надо умножить на длину 1° параллели, широта которой составляет 60°. По табличке определяем, что на широте 60° дуга в 1° имеет длину 55,8 км. Перемножаем два числа:

14°х 55,8 км = 781,2 км

Список использованных источников

Расчет расстояний между городами по их координатам

Расчет расстояний между точками по их координатам на плоскости элементарен, на поверхности Земли — немного посложнее: мы рассмотрим измерение расстояния и начального азимута между точками без проекционных преобразований.

Для начала разберемся в терминологии.

Введение

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

Сферическая геометрия отличается от обычной Эвклидовой и уравнения расстояния также принимают другую форму. В Эвклидовой геометрии, кратчайшее расстояние между двумя точками – прямая линия. На сфере, прямых линий не бывает. Эти линии на сфере являются частью больших кругов – окружностей, центры которых совпадают с центром сферы.

Начальный азимут — азимут, взяв который при начале движения из точки А, следуя по большому кругу на кратчайшее расстояние до точки B, конечной точкой будет точка B. При движении из точки A в точку B по линии большого круга азимут из текущего положения на конечную точку B постоянно меняется. Начальный азимут отличен от постоянного, следуя которому, азимут из текущей точки на конечную не меняется, но маршрут следования не является кратчайшим расстоянием между двумя точками.

Через любые две точки на поверхности сферы, если они не прямо противоположны друг другу (то есть не являются антиподами), можно провести уникальный большой круг. Две точки, разделяют большой круг на две дуги. Длина короткой дуги – кратчайшее расстояние между двумя точками. Между двумя точками-антиподами можно провести бесконечное количество больших кругов, но расстояние между ними будет одинаково на любом круге и равно половине окружности круга, или π*R, где R – радиус сферы.

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

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

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

Известно, что более точно описывает форму Земли не сфера, а эллипсоид, однако в данной статье рассматривается вычисление расстояний именно на сфере, для вычислений используется сфера радиусом 6372795 метров, что может привести к ошибке вычисления расстояний порядка 0.5%.

Формулы

Существует три способа расчета сферического расстояния большого круга.

1. Сферическая теорема косинусов

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

φ1, λ1; φ2, λ2 — широта и долгота двух точек в радианах

Δλ — разница координат по долготе

Δδ — угловая разница

Для перевода углового расстояния в метрическое, нужно угловую разницу умножить на радиус Земли (6372795 метров), единицы конечного расстояния будут равны единицам, в которых выражен радиус (в данном случае — метры).

2. Формула гаверсинусов

Используется, чтобы избежать проблем с небольшими расстояниями.

3. Модификация для антиподов

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

Расстояние между двумя координатами

Расчет расстояния между двумя точками по координатам

Известны географические координаты двух точек на Земле. Кратчайшим расстоянием между ними является длина дуги круга, проведенного на сфере по этим двум точкам. Здесь я придерживаюсь убеждения, что Земля не плоская, а круглая, а точнее, имеет форму, приближенную к сфере, то есть, Земля — сфероид.
Формула для расчета расстояний на плоскости, известная всем из курса школьной геометрии, тут не подойдет, нужна формула расчета длины дуги. Это так называемая «модифицированная формула гаверсинусов».
Здесь http://en.wikipedia.org/wiki/Great_circle_distance все описано достаточно подробно.
Поскольку в расчете участвует радиус, а у Земли, как у не совсем правильной сферы, он разный, скажем на северном полюсе (6356.752 км) и на экваторе (6378.137 км), то в расчете берется среднее значение (6371.008 км), что должно давать, по утверждению той же Википедии, ошибку около 0.5%. Значения радиусов соответствуют WGS 84.

В калькуляторе ниже значения координат по умолчанию соответствуют Москве и Санкт-Петербургу.

Расчет расстояний между точками по их координатам на плоскости элементарен, на поверхности Земли — немного посложнее: мы рассмотрим измерение расстояния и начального азимута между точками без проекционных преобразований.

Для начала разберемся в терминологии.

Введение

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

Сферическая геометрия отличается от обычной Эвклидовой и уравнения расстояния также принимают другую форму. В Эвклидовой геометрии, кратчайшее расстояние между двумя точками – прямая линия. На сфере, прямых линий не бывает. Эти линии на сфере являются частью больших кругов – окружностей, центры которых совпадают с центром сферы.

Начальный азимут — азимут, взяв который при начале движения из точки А, следуя по большому кругу на кратчайшее расстояние до точки B, конечной точкой будет точка B. При движении из точки A в точку B по линии большого круга азимут из текущего положения на конечную точку B постоянно меняется. Начальный азимут отличен от постоянного, следуя которому, азимут из текущей точки на конечную не меняется, но маршрут следования не является кратчайшим расстоянием между двумя точками.

Через любые две точки на поверхности сферы, если они не прямо противоположны друг другу (то есть не являются антиподами), можно провести уникальный большой круг. Две точки, разделяют большой круг на две дуги. Длина короткой дуги – кратчайшее расстояние между двумя точками. Между двумя точками-антиподами можно провести бесконечное количество больших кругов, но расстояние между ними будет одинаково на любом круге и равно половине окружности круга, или π*R, где R – радиус сферы.

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

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

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

Известно, что более точно описывает форму Земли не сфера, а эллипсоид, однако в данной статье рассматривается вычисление расстояний именно на сфере, для вычислений используется сфера радиусом 6372795 метров, что может привести к ошибке вычисления расстояний порядка 0.5%.

Формулы

Существует три способа расчета сферического расстояния большого круга.

1. Сферическая теорема косинусов

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

φ1, λ1; φ2, λ2 — широта и долгота двух точек в радианах

Δλ — разница координат по долготе

Δδ — угловая разница

Δδ = arccos {sin φ1 sin φ2 + cos φ1 cos φ2 cos Δλ}

Для перевода углового расстояния в метрическое, нужно угловую разницу умножить на радиус Земли (6372795 метров), единицы конечного расстояния будут равны единицам, в которых выражен радиус (в данном случае — метры).

2. Формула гаверсинусов

Используется, чтобы избежать проблем с небольшими расстояниями.

3. Модификация для антиподов

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

Моя реализация на РНР

// Радиус земли
define('EARTH_RADIUS', 6372795);
 
/*
* Расстояние между двумя точками
* $φA, $λA - широта, долгота 1-й точки,
* $φB, $λB - широта, долгота 2-й точки
* Написано по мотивам http://gis-lab.info/qa/great-circles.html
* Михаил Кобзарев <mikhail@kobzarev.com>
*
*/
function calculateTheDistance ($φA, $λA, $φB, $λB) {
 
// перевести координаты в радианы
$lat1 = $φA * M_PI / 180;
$lat2 = $φB * M_PI / 180;
$long1 = $λA * M_PI / 180;
$long2 = $λB * M_PI / 180;
 
// косинусы и синусы широт и разницы долгот
$cl1 = cos($lat1);
$cl2 = cos($lat2);
$sl1 = sin($lat1);
$sl2 = sin($lat2);
$delta = $long2 - $long1;
$cdelta = cos($delta);
$sdelta = sin($delta);
 
// вычисления длины большого круга
$y = sqrt(pow($cl2 * $sdelta, 2) + pow($cl1 * $sl2 - $sl1 * $cl2 * $cdelta, 2));
$x = $sl1 * $sl2 + $cl1 * $cl2 * $cdelta;
 
//
$ad = atan2($y, $x);
$dist = $ad * EARTH_RADIUS;
 
return $dist;
}

Пример вызова функции:

$lat1 = 77.1539;
$long1 = -139.398;
$lat2 = -77.1804;
$long2 = -139.55;
 
echo calculateTheDistance($lat1, $long1, $lat2, $long2) . " метров";
// Вернет "17166029 метров"

Статья взята с сайта gis-lab.info Автор: Максим Дубинин

Ссылки

  • Вычисление расстояния и начального азимута между двумя точками на сфере(официальный источник)
  • Haversine formula
  • Способы расчета сферического расстояния большого круга
  • Сферическая система координат
  • Сферические координаты
  • Calculate distance, bearing and more between Latitude/Longitude points

coordinates distance PHP tips tricks

Расчет расстояний между точками по их координатам на плоскости элементарен, на поверхности Земли — немного посложнее: мы рассмотрим измерение расстояния и начального азимута между точками без проекционных преобразований. Для начала разберемся в терминологии.

Введение

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

Начальный азимут — азимут, взяв который при начале движения из точки А, следуя по большому кругу на кратчайшее расстояние до точки B, конечной точкой будет точка B. При движении из точки A в точку B по линии большого круга азимут из текущего положения на конечную точку B постоянно меняется. Начальный азимут отличен от постоянного, следуя которому, азимут из текущей точки на конечную не меняется, но маршрут следования не является кратчайшим расстоянием между двумя точками.

Через любые две точки на поверхности сферы, если они не прямо противоположны друг другу (то есть не являются антиподами), можно провести уникальный большой круг. Две точки, разделяют большой круг на две дуги. Длина короткой дуги – кратчайшее расстояние между двумя точками. Между двумя точками-антиподами можно провести бесконечное количество больших кругов, но расстояние между ними будет одинаково на любом круге и равно половине окружности круга, или π*R, где R – радиус сферы.

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

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

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

Известно, что более точно описывает форму Земли не сфера, а эллипсоид, однако в данной статье рассматривается вычисление расстояний именно на сфере, для вычислений используется сфера радиусом 6372795 метров, что может привести к ошибке вычисления расстояний порядка 0.5%.

Формулы

Существует три способа расчета сферического расстояния большого круга.

1. Сферическая теорема косинусов

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

φ1, λ1; φ2, λ2 — широта и долгота двух точек в радианах

Δλ — разница координат по долготе

Δδ — угловая разница

Δδ = arccos {sin φ1 sin φ2 + cos φ1 cos φ2 cos Δλ}

Для перевода углового расстояния в метрическое, нужно угловую разницу умножить на радиус Земли (6372795 метров), единицы конечного расстояния будут равны единицам, в которых выражен радиус (в данном случае — метры).

2. Формула гаверсинусов

Используется, чтобы избежать проблем с небольшими расстояниями.

3. Модификация для антиподов

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

Моя реализация на РНР

// Радиус земли
define('EARTH_RADIUS', 6372795);

/*
 * Расстояние между двумя точками
 * $φA, $λA - широта, долгота 1-й точки,
 * $φB, $λB - широта, долгота 2-й точки
 * Написано по мотивам http://gis-lab.info/qa/great-circles.html
 * Михаил Кобзарев <mikhail@kobzarev.com>
 *
 */
function calculateTheDistance ($φA, $λA, $φB, $λB) {

    // перевести координаты в радианы
    $lat1 = $φA * M_PI / 180;
    $lat2 = $φB * M_PI / 180;
    $long1 = $λA * M_PI / 180;
    $long2 = $λB * M_PI / 180;

    // косинусы и синусы широт и разницы долгот
    $cl1 = cos($lat1);
    $cl2 = cos($lat2);
    $sl1 = sin($lat1);
    $sl2 = sin($lat2);
    $delta = $long2 - $long1;
    $cdelta = cos($delta);
    $sdelta = sin($delta);

    // вычисления длины большого круга
    $y = sqrt(pow($cl2 * $sdelta, 2) + pow($cl1 * $sl2 - $sl1 * $cl2 * $cdelta, 2));
    $x = $sl1 * $sl2 + $cl1 * $cl2 * $cdelta;

    //
    $ad = atan2($y, $x);
    $dist = $ad * EARTH_RADIUS;

    return $dist;
}

Пример вызова функции:

$lat1 = 77.1539;
$long1 = -139.398;
$lat2 = -77.1804;
$long2 = -139.55;

echo calculateTheDistance($lat1, $long1, $lat2, $long2) . " метров";
// Вернет "17166029 метров"

Статья взята с сайта gis-lab.info Автор: Максим Дубинин

Ссылки

  • Вычисление расстояния и начального азимута между двумя точками на сфере(официальный источник)
  • Haversine formula
  • Способы расчета сферического расстояния большого круга
  • Сферическая система координат
  • Сферические координаты
  • Calculate distance, bearing and more between Latitude/Longitude points

Расстояние между двумя точками и путевые углы по дуге большого круга

Рассчитывает расстояние между двумя точками на планете Земля, заданными геодезическими (географическими) координатами по кратчайшему пути — дуге большого круга (ортодромии). Вычисляет начальный конечный путевой угол, а также азимут в промежуточных точках между двумя заданными.

Статьи, описывающие этот калькулятор

  • Путевые углы и расстояние между двумя точками на ортодроме (дуге большого круга).

PLANETCALC, Расстояние между двумя точками и путевые углы по дуге большого круга

Расстояние между двумя точками и путевые углы по дуге большого круга

Точность вычисления

Знаков после запятой: 2

Расстояние в морских милях

Расстояние между путевыми точками (км)

Расстояние между путевыми точками (м.м.)

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

Калькуляторы, использующие этот калькулятор

  • Азимут и угловой размер наблюдаемых объектов

Ссылка скопирована в буфер обмена

Похожие калькуляторы

  • • Путевые углы и расстояние между двумя точками на ортодроме (дуге большого круга).
  • • Путевой угол и расстояние между двумя точками по локсодроме (линии румба).
  • • Угол между двумя векторами
  • • Сегмент круга
  • • Расстояние по поверхности Земли и расстояние сквозь Землю
  • • Раздел: Навигация ( 9 калькуляторов )

PLANETCALC, Расстояние между двумя точками и путевые углы по дуге большого круга

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

    Измерьте радиус круга с помощью линейки или запишите число, данное вам в математической задаче. Радиус круга измеряет расстояние от центра до любой точки на внешней стороне круга.

    Умножьте это измерение на два, чтобы рассчитать диаметр или расстояние через центр круга.

    Умножьте это измерение на число Пи. Пи — иррациональное число, но для большинства повседневных целей и в школе вы можете округлить его до двух десятичных разрядов: 3.14. Диаметр круга, умноженный на пи, дает вам длину окружности или расстояние вокруг круга.

    Нарисуйте две линии от радиуса вашего круга, каждая из которых соединяется с одной из двух точек, которые вы используете для измерения расстояния до дуги.

    Измерьте угол, образованный этими линиями, с помощью транспортира и запишите результаты измерений.

    Установите угол, который вы измерили, как отношение 360. Согласно Sketchpad Geometer на веб-сайте Университета Райса, в любом круге 360 градусов, поэтому любой угол, который вы измеряете, может быть взят как отношение, чтобы определить пропорцию длины дуги.

    Умножьте свои числа с помощью уравнения: a / C = T / 360. A — длина вашей дуги, C — длина окружности, а T — угол, который вы измерили. Умножьте C на T. Установите результат, равный 360 раз a. Разделите обе части уравнения на 360, чтобы решить для a.

Понравилась статья? Поделить с друзьями:
  • Как найти исследователя океана в майнкрафт
  • Как исправить порванное фото
  • Как исправить капот автомобиля
  • Как найти протокол в базе гибдд
  • Как найти свой жизненный интерес