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