exponenta event banner

Расстояния на сфере

Многие геопространственные области (например, сейсмология) описывают расстояния между точками на поверхности земли как углы. Это просто результат деления длины самой короткой большой дуги окружности, соединяющей пару точек на радиус Земли (или какой бы планеты она ни измеряла). Это даёт угол (в радианах), усаженный лучами из каждой точки, которые соединяются в центре Земли (или другой планеты). Это иногда называют «сферическим расстоянием». Таким образом, можно назвать полученное число «расстоянием в радианах». Можно также назвать тот же номер «расстоянием в радиусах земли». При работе с преобразованиями геоданных помните об этом.

Этот угол можно легко преобразовать из радиан в градусы. Например, можно вызвать distance для вычисления расстояния в метрах от Лондона до Куала-Лумпура:

latL =  51.5188;
lonL =  -0.1300;
latK =   2.9519;
lonK = 101.8200;
earthRadiusInMeters = 6371000;
distInMeters = distance(latL, lonL,...
                latK, lonK, earthRadiusInMeters)

distInMeters =
  1.0571e+007
Затем преобразуйте результат в угол в радианах:
distInRadians = distInMeters / earthRadiusInMeters

distInRadians =
    1.6593
Наконец, преобразуйте угол в градусах:
distInDegrees = rad2deg(distInRadians)

distInDegrees =
   95.0692
Это действительно имеет смысл и дает точные результаты, когда мы приближаем Землю (или планету) как сферу. На эллипсоиде можно описать расстояние только вдоль геодезической кривой, используя единицу длины.

Программное обеспечение картографической Toolbox™ включает в себя набор из шести функций для удобного преобразования расстояний вдоль поверхности Земли (или другой планеты) из единиц километров (км), морских миль (нм) или статусных миль (см) в сферические расстояния в градусах (град) или радианах (рад):

  • km2deg, nm2deg, и sm2deg перейти от длины к углу в градусах

  • km2rad, nm2rad, и sm2rad перейти от длины к углу в радианах

Последние два шага в предыдущем примере можно заменить на

distInKilometers = distInMeters/1000;
earthRadiusInKm = 6371;
km2deg(distInKilometers, earthRadiusInKm)

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

  • deg2km, deg2nm, и deg2sm перейти от угла в градусах к длине

  • rad2km, rad2nm, и rad2sm перейти от угла в радианах к длине

При задании единственного входного аргумента все 12 функций принимают радиус 6 371 000 метров (6371 км, 3440,065 нм, или 3958,748 см), который широко используется как оценка среднего радиуса Земли. Дополнительный второй параметр может использоваться для задания планетарного радиуса (в единицах выходной длины) или имени объекта в Солнечной системе.

Длина дуги как угол на расстоянии и функции учета

Некоторые синтаксисы distance и reckon функции используют углы для обозначения расстояний описанным выше способом. В следующих инструкциях аргумент range, arclen, в градусах (вместе со всеми другими входами и выходами):

[arclen, az] = distance(lat1, lon1, lat2, lon2)
[latout, lonout] = reckon(lat, lon, arclen, az)
Путем добавления дополнительного units вместо этого можно использовать радианы:
[arclen, az] = distance(lat1, lon1, lat2, lon2, 'radians')
[latout, lonout] = reckon(lat, lon, arclen, az, 'radians')
Если ellipsoid аргумент предоставляется, однако, тогда arclen имеет единицы длины, и они соответствуют единицам длины основной оси опорного эллипсоида. При указании ellipsoid = [1 0] (единичная сфера), arclen может считаться либо углом в радианах, либо длиной, определенной в единицах радиусов земли. В любом случае оно имеет одинаковое значение. Таким образом, при следующем вычислении lat1, lon1, lat2, lon2, и az в градусах, но arclen будет выглядеть в радианах:

[arclen, az] = distance(lat1, lon1, lat2, lon2, [1 0])

Сводка: Доступные функции преобразования расстояний и углов

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

Функции, непосредственно преобразующие углы, длины и сферические расстояния

НовообращенныйДо степенейК радианамК километрамНа морские милиК статусным милям
СтепениtoDegrees
fromDegrees
deg2rad
toRadians
fromDegrees
deg2kmdeg2nmdeg2sm
Радианыrad2deg
toDegrees
fromRadians
toRadians
fromRadians
rad2kmrad2nmrad2sm
Километрыkm2degkm2rad km2nmkm2sm
Морские милиnm2degnm2radnm2km nm2sm
Статут Майлзsm2degsm2radsm2kmsm2nm 

Преобразование угла функционирует вдоль большой диагонали, toDegrees, toRadians, fromDegrees, и fromRadians, может иметь результаты no-op. Они предназначены для использования в приложениях, которые ранее не знали, какие угловые единицы могут быть введены или желательны в качестве выходных данных.