exponenta event banner

Работа в UTM без отображаемой карты

Можно настроить UTM для вычисления координат без создания отображения карты, используя defaultm функция. 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

См. также

| | | |