Много геопространственных областей (сейсмология, например) описывают расстояния между точками на поверхности земли как углы. Это - просто результат деления длины самой короткой большой круговой дуги, соединяющей точки пары радиусом Земли (или безотносительно планеты, которую каждый измеряет). Это дает угол (в радианах) подухаживаемый лучами от каждой точки, которые присоединяются в центре Земли (или другая планета). Это иногда называется "сферическим расстоянием". Можно таким образом вызвать получившийся номер "расстояние в радианах". Вы могли также вызвать тот же номер "расстояние в наземных радиусах". Когда вы работаете с преобразованиями геоданных, имеете это в виду.
Можно легко преобразовать тот угол от радианов до степеней. Например, можно вызвать 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 метров (6 371 км, 3 440,065 нм или 3 958,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 и функции преобразования дуги. Они все принимают скаляр, вектор и входные параметры более высокой размерности. Первые два столбца и строки включают угловые модули, последние три включают единицы расстояния:
Функции, которые Непосредственно Преобразовывают Углы, Длины и Сферические Расстояния
\convert | До степеней | К радианам | К километрам | К морским милям | К статутным милям |
---|---|---|---|---|---|
Степени | 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
, не могут иметь никаких-op результатов. Они предназначаются для использования в приложениях, которые не имеют никаких предварительных знаний того, какие угловые модули могут быть введены или желаемы, как выведено.