主要内容

本页采用了机器翻译。点击此处可查看英文原文。

在不显示地图的情况下使用 UTM

您可以使用 defaultm 函数设置 UTM,以在不生成地图显示的情况下计算坐标。utmzoneutmgeoid 函数可帮助您选择一个区域和相应的椭球体。例如,您将为纽约市的一个位置生成 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

或者,使用 projcrs 对象设置一个 UTM 坐标系。要创建该对象,请指定一个 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

另请参阅

| | | |