Answers:
任何可以精确投影坐标的软件都可以计算出准确的天梭指标。
公式的一个很好的来源是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。它仍然是理想的椭圆形,可以准确地描述那里的地图变形。