Можно настроить UTM для вычисления координат без создания отображения карты, используя defaultm
функция. The utmzone
и utmgeoid
функции помогают вам выбрать зону и соответствующий эллипсоид. В этом примере вы генерируете данные координат UTM для местоположения в Нью-Йорке, используя эту точку для определения самой проекции.
Определите местоположение в Нью-Йорке. Получите зону UTM для этой точки.
lat = 40.7; lon = -74.0; z = utmzone(lat,lon)
z = '18T'
Получите предложенный эллипсоидный вектор и имя для этой зоны.
[ellipsoid,estr] = utmgeoid(z)
ellipsoid = 1×2
106 ×
6.3782 0.0000
estr = 'clarke66'
Настройте систему координат UTM на основе этой информации.
utmstruct = defaultm('utm');
utmstruct.zone = z;
utmstruct.geoid = ellipsoid;
utmstruct = defaultm(utmstruct);
Преобразуйте координаты без отображения карты.
[x,y] = projfwd(utmstruct,lat,lon)
x = 5.8448e+05
y = 4.5057e+06
Вычислите пределы зоны (пределы широты и долготы) для заданной зоны с помощью utmzone
функция. Можно также вызвать функцию utmzone
рекурсивно для получения пределов зоны UTM, в пределах которой находится точка.
utmzone('18T')
ans = 1×4
40 48 -78 -72
[zonelats,zonelons] = utmzone(utmzone(40.7,-74.0))
zonelats = 1×2
40 48
zonelons = 1×2
-78 -72
Кроме того, настройте систему координат UTM с помощью projcrs
объект. Чтобы создать объект, задайте код EPSG. Для получения информации о кодах EPSG смотрите реестр EPSG. Проверьте, что projcrs
объект имеет правильное имя и эллипсоид. Затем преобразуйте координаты.
p = projcrs(26718); p.Name
ans = "NAD27 / UTM zone 18N"
p.GeographicCRS.Spheroid.Name
ans = 'Clarke 1866'
[xp,yp] = projfwd(p,lat,lon)
xp = 5.8448e+05
yp = 4.5057e+06