如何创建一个准确的天梭Indicatrix?


31

天梭率体是一目了然通信有用的方法的种失真的给定投影易于(在下面的图中,每个所述红色圆圈的占用相同的面积)。有人告诉我,生成TI的流行方法有其自身的问题,以至于有时会严重不准确。

常用方法有什么问题,什么是生成普通GIS dude(ette)可以访问的TI的最正确方法?

墨卡托和地球仪和天梭


2
好问题。我也想知道。
乔治席尔瓦,

Answers:


23

任何可以精确投影坐标的软件都可以计算出准确的天梭指标

公式的一个很好的来源是Snyder,John,Map Projections--A Working Manual,主要在第20-26页。(我不会在这里复制它们,因为该站点没有用于传达数学公式的适当工具。)它们需要投影坐标(x,y)相对于球坐标(lat,lon)的所有四个一阶导数= (phi,lambda):

dx / d(phi), dx / d(lambda);
dy / d(phi), dy / d(lambda).

TI的其他所有内容均根据这些计算(使用一些算术和三角函数:余弦,主反正弦和主反正切)。计算需要描述地球的形状。为了获得最大的精度,请使用半长轴为a且偏心率为e的椭圆形基准。(这些将为软件所知。)

Snyder的书中有关于如何计算除这些导数之外的所有内容的说明。 用数字做。 使用一阶中心有限差分估计值在h = 10 ^(-5.2)弧度(通常在50米左右)的距离上,我获得了出色的结果:这是在尝试无限接近时和从中失去太多精度之间的一个很好的折衷方案。浮点舍入(假设双精度),因为产生的误差与(10 ^(-5.2))^ 2 = 10 ^(-10.4)成正比,而10 ^(-5.2)等于IEEE双精度精度的10 ^ 10.4倍为10 ^(-15.6),并且仍然比通常的投影精度大很多,投影的精度通常从10 ^(-10)到大约10 ^(-14)。

那么,如何计算有限差分估计?这部分非常简单。要获得某点(phi,lambda)的dx / d(phi),请让您的GIS投影这些点

(phi - h/2, lambda) --> (x0,y0),
(phi + h/2, lambda) --> (x1,y1).

使用估计

dx / d(phi) = (x1 - x0)/h,
dy / d(phi) = (y1 - y0)/h.

同样,投影点

(phi, lambda - h/2) --> (x2,y2),
(phi, lambda + h/2) --> (x3,y3)

并使用估算值

dx / d(lambda) = (x3 - x2)/h,
dy / d(lambda) = (y3 - y2)/h.

这需要四个预测和一点点算术。(您可以通过使用非中心差将其减少到三个,但是精度会有所下降。明智的目标是在不使h变得太小的情况下实现高精度,除非您确定GIS使用的是测量级(毫米)投影公式的准确性。)

从这些导数以及Snyder公式(注意在4-19和4-21处描述的修改),您可以得到Tissot Indicatrix在(phi,lambda)处的轴长度及其方向。在世界比例尺的地图上,TI太小以至于看不见,因此最后要做的就是确定要为每个TI缩放多少大小。通过确定地图的大小,找到整个地图上典型TI的大小并缩放以使这些TI的宽度大约为地图的6%,可以确定比例因子。无论如何,这是一个好的开始;我让用户从那里调整TI的大小。当然,您将对所有TI进行相同比例的缩放,以便可以对其进行比较,并且每个TI将围绕其自己的中心进行缩放(这是通过第五个投影(phi,lambda)->(x,y)获得的) )。

TI椭圆刻画的一个很好的补充是显示局部子午线和平行线的方向:然后,您可以一目了然地评估网格收敛。我还展示了与每个TI同心的标准圆(不表示失真),因为它提高了读者衡量每个椭圆所表示的失真量的能力。

替代文字

该Mollweide投影中值得注意的是南极附近的极端TI。它仍然是理想的椭圆形,可以准确地描述那里的地图变形。


2
最好的是:P。
乔治席尔瓦,

1
我注意到ESRI发布了一篇有关使用缓冲区创建tissot索引的文章,因为indicatrix和缓冲区“根本不相同”,所以缓冲区方法正确吗?blogs.esri.com/Support/blogs/mappingcenter/archive/2011/03/28/...
SaultDon

1
@Sault缓冲区替代了正确的TI。只要它们延伸的范围不超过几个度,它们通常就可以很好地工作,除非在失真变得极端的情况下,否则它们根本都不起作用(因为缓冲区溢出到无限失真的区域,如图所示)。此ESRI贴图),否则会产生非椭圆形的形状。稍作更改将使该方法更好地工作:计算微小的缓冲区(例如50 m缓冲区),并在其中心周围(在地图中)均匀地展开每个缓冲区以使其可见。
ub

1
您如何计算椭圆的方向?
詹森·戴维斯

3
@Jason Tissot indicatrix只是对点切线平面中的圆应用投影的导数的图形表示。然后,绘制它的最简单方法是计算此导数(它是2 x 2的矩阵A),对圆进行参数化,然后将导数应用于参数化的顶点。瞧,你有个椭圆。(这正是我图中的椭圆的绘制方式。)其轴可以计算为A'A的特征向量;这是一个简单的计算,只涉及二次公式。
whuber
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.