天梭Indicatrix是一种有用的方法,可让您一目了然地传达给定投影容易产生的各种畸变(在下图中,每个红色圆圈占据相同的区域)。有人告诉我,生成TI的流行方法有其自身的问题,以至于有时严重不准确。

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



评论

好问题。我也想知道。

#1 楼

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

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

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



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

评论


最好的:P。

–乔治·席尔瓦(George Silva)
2011年1月12日在22:24

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

– SaultDon
2011-03-30 18:22

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

– hu
2011-3-30在19:09



您如何计算椭圆的方向?

–詹森·戴维斯(Jason Davies)
13年1月4日,11:39

@Jason Tissot indicatrix只不过是在点切线平面上应用于圆的投影的导数的图形表示。然后,绘制它的最简单方法是计算此导数(它是2 x 2的矩阵A),对圆进行参数化,然后将导数应用于参数化的顶点。瞧,你有个椭圆。 (这正是我图中的椭圆的绘制方式。)其轴可以计算为A'A的特征向量。这是一个简单的计算,只涉及二次公式。

– hu
2013年1月4日14:33