主要内容

旋转转换上

方向向量,你探索的概念地图投影的改变方面的推动北极新位置。另一种思考这个问题的方法是重新定义坐标系统,然后计算投影基于新系统正常的方面。例如,您可以定义一个球面坐标系,这样你的家乡占据了原点。如果你计算一个地图投影在一个正常的方面关于这个改变了坐标系统,结果显示看起来像一个斜的方面真正的坐标系统的纬度和经度。

这个坐标系统的转换可以有用的独立地图显示。如果你变换坐标系,这样你的家乡是新的北极,那么其他所有点的坐标转换将提供有趣的信息。

请注意

这里描述的类型的坐标转换只适合球形的情况。试图执行在一个椭球体将产生不正确的答案的几美元到几十米。

当你把你的家乡极,每个点的球面距离你的家乡变得90°-其纬度(有时也称为一个转换余纬度)。你的城镇将成为点映南极在-90°。你的家乡距离是90°-(-90°),或180°,如预期。点90°远离你的家乡都有一个转变的纬度0°,从而弥补了赤道。改变了经度对应各自的大圆另从你的家乡。

调整矢量数据与rotatem

rotatem函数使用一个方向向量变换纬度和经度到一个新的坐标系统。方向向量可以产生的newpoleputpole功能,可以指定或手动。

作为坐标系统转换的一个例子,假设你住在米德兰,德克萨斯州,在(32°N, 102°W)。你有一个哥哥在塔尔萨(36.2°N, 96°W)和一个妹妹在新奥尔良(30°N, 90°W)。

  1. 定义了三个地方:

    midl_lat = 32;midl_lon = -102;tuls_lat = 36.2;tuls_lon = -96;newo_lat = 30;newo_lon = -90;
  2. 使用距离函数来确定大圆距离和方位角塔尔萨和新奥尔良从米德兰:

    [dist2tuls az2tuls] =距离(midl_lat midl_lon,…tuls_lat tuls_lon) dist2tuls = 6.5032 az2tuls = 48.1386 (dist2neworl az2neworl] =距离(midl_lat, midl_lon,…newo_lat newo_lon) dist2neworl az2neworl = 97.8644 = 10.4727

    遥远的塔尔萨约为6.5度,新奥尔良大约10.5度遥远。

  3. 计算出绝对的方位不同,您将使用后的事实。

    azdif = abs (az2tuls-az2neworl azdif = 49.7258)
  4. 今天,你感觉在世界之巅,所以米德兰,德克萨斯州北极转换坐标系统。要做到这一点,首先确定所需的起源将美联杆使用newpole:

    起源= newpole (midl_lat midl_lon)起源= 58 78 0

    新的坐标系统的原点(58°N, 78°E)。米德兰现在是在一个新纬度90°。

  5. 确定塔尔萨和新奥尔良的坐标转换使用rotatem命令。因为它的默认单位弧度,一定要包括关键字:

    [tuls_lat1, tuls_lon1] = rotatem (tuls_lat, tuls_lon,…起源、“前进”、“度”)tuls_lat1 = 83.4968 tuls_lon1 = -48.1386 [newo_lat1 newo_lon1] = rotatem (newo_lat newo_lon,…起源、“前进”、“度”)newo_lat1 newo_lon1 = -97.8644 = 79.5273
  6. 表明,塔尔萨的新余纬度和新奥尔良等于距离米兰在上面的第2步计算:

    tuls_colat1 = 90 - tuls_lat1 tuls_colat1 = 6.5032 newo_colat1 = 90 - newo_lat1 newo_colat1 = 10.4727
  7. 记得从步骤4中的绝对差另两个城市的米德兰为49.7258°。验证这个等于新经度的差异:

    tuls_lon1-newo_lon1 ans = 49.7258

    你可能会注意到小的数值结果的差异(106),由于舍入误差和三角函数。

为进一步的信息,请参见页面的引用rotatem,newpole,putpole,neworig,org2pol

调整网格数据

这个例子展示了如何将普通数据网格与数据重新安排一个新的使用对应于一个新的坐标系统neworig函数。你可以变换坐标系统的数据网格以及矢量数据。常规数据网格以这种方式操作时,距离和方位计算变量映射成为行和列的操作。

负载海拔栅格数据和地理单元引用对象。转换数据设置为一个新的坐标系统中,在斯里兰卡是北极。调整使用的数据网格neworig函数。注意,结果,(Z,纬度,经度),是一个定位数据网格,而不是常规的数据网格原始数据。

负载topo60c起源= newpole (80);[Z,纬度,经度]= neworig (topo60c、topo60cR来源);

显示新地图,在正常的方面,如它的方向矢量所示。注意,每一个细胞都在新网格的第一行是遥远的从0到1度的新来源。每一个细胞都在遥远的第二行是1到2度,等等。此外,每一个细胞都在一个特定的列有相同的大圆方位的新来源。

axesm米勒lat = linspace (-90、90、90);朗= linspace (-180180180);surfm(纬度,经度,Z);demcmap (topo60c)

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象的表面。

mstruct = getm (gca);mstruct.origin
ans =1×30 0 0