Многие геопространственные области (например, сейсмология) описывают расстояния между точками на поверхности земли как углы. Это просто результат деления длины самой короткой большой дуги окружности, соединяющей пару точек на радиус Земли (или какой бы планеты она ни измеряла). Это даёт угол (в радианах), усаженный лучами из каждой точки, которые соединяются в центре Земли (или другой планеты). Это иногда называют «сферическим расстоянием». Таким образом, можно назвать полученное число «расстоянием в радианах». Можно также назвать тот же номер «расстоянием в радиусах земли». При работе с преобразованиями геоданных помните об этом.
Этот угол можно легко преобразовать из радиан в градусы. Например, можно вызвать 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+007distInRadians = distInMeters / earthRadiusInMeters
distInRadians =
1.6593distInDegrees = 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])
В следующей таблице показаны функции преобразования единиц измерения в единицу измерения панели инструментов сопоставления и дуги. Все они принимают скалярные, векторные и высокоразмерные входные данные. Первые два столбца и строки содержат единицы измерения угла, последние три - единицы измерения расстояния:
Функции, непосредственно преобразующие углы, длины и сферические расстояния
| Новообращенный | До степеней | К радианам | К километрам | На морские мили | К статусным милям |
|---|---|---|---|---|---|
| Степени | toDegreesfromDegrees | deg2radtoRadiansfromDegrees | deg2km | deg2nm | deg2sm |
| Радианы | rad2degtoDegreesfromRadians | toRadiansfromRadians | rad2km | rad2nm | rad2sm |
| Километры | km2deg | km2rad | km2nm | km2sm | |
| Морские мили | nm2deg | nm2rad | nm2km | nm2sm | |
| Статут Майлз | sm2deg | sm2rad | sm2km | sm2nm |
Преобразование угла функционирует вдоль большой диагонали, toDegrees, toRadians, fromDegrees, и fromRadians, может иметь результаты no-op. Они предназначены для использования в приложениях, которые ранее не знали, какие угловые единицы могут быть введены или желательны в качестве выходных данных.