Wolfram 语言

地理计算

UPS 和 UTM 投影

UTM(通用横轴墨卡托投影)投影家族在各种应用中得到了广泛使用. 版本 11 中现在有北部和南部UTM 区域投影,从而避免了在实践中对负北的使用. UTM 投影不能达到极点,通常通过两个 UPS (通用极球面投影)图行进补偿,现在对此也可支持.

以下列表现含有 60 个 UTM 北区以及相对的 60 个 UTM 南区.

In[1]:=
Click for copyable input
Short[GeoProjectionData["UTMZone"], 3]
Out[1]//Short=

他们的定义类似,但有不同的网格原点.

In[2]:=
Click for copyable input
GeoProjectionData["UTMZone34"]
Out[2]=
In[3]:=
Click for copyable input
GeoProjectionData["UTMZone34South"]
Out[3]=

以下为两个 UPS 区.

In[4]:=
Click for copyable input
GeoProjectionData["UPSZone"]
Out[4]=

它们是按照通用极球面投影定义的.

In[5]:=
Click for copyable input
GeoProjectionData["UPSNorth"]
Out[5]=
In[6]:=
Click for copyable input
GeoProjectionData["UPSSouth"]
Out[6]=

国家地理空间情报局的标准化文件 NGA.SIG.0012_ 2.0.0_UTMUPS 提供了多种不同范例测试算法的精度. 例如,对于 UPS 投影在第 10.2 节中给了以下范例.

In[7]:=
Click for copyable input
eg = GeoPosition[{{90, 0}, {89, -179}, {88, -90}, {87, -1}, {86, 0}, {85, 1}, {84, 89}, {83, 90}, {82, 91}, {81, 179}, {80, 180}, {40, 0}, {3, -179}, {2, -90}, {1, -1}, {0, 0}, {-1, 1}, {-2, 90}, {-3, 179}, {-4, 180}}]
Out[7]=

"UPSNorth" 投影表示这些点. 注意由于非平凡的网格原点参数,北极点不在投影坐标的 {0, 0} 处.

In[8]:=
Click for copyable input
GeoGraphics[{Red, PointSize[Large], Point[eg]}, GeoProjection -> {"UPSNorth", "Centering" -> {90, 0}}, GeoGridLines -> Automatic, GeoZoomLevel -> 3, Frame -> True]
Out[8]=

以下为用 Wolfram 语言获取的数字,在微米级的精度上与标准化文件中给出的结果吻合.

In[9]:=
Click for copyable input
NumberForm[Grid[First@GeoGridPosition[eg, "UPSNorth"]], {13, 6}, ExponentFunction -> (Null &)]
Out[9]//NumberForm=

相关范例

de en es fr ja ko pt-br ru