1.一种地球椭球面上大梯形图块的面积计算方法,其特征在于直接给出大梯形图块的面积计算真值表达式:大梯形图块面积等于椭球面梯形面积(近似估计值)减去空白三角形面积,再加上阴影三角形面积。
2.根据权利要求1所述的计算表达式,通过对阴影三角形和空白三角形的再审视,发现椭球面三角形的面积计算可以通过递归调用大梯形图块面积表达式完成。
3.根据权利要求2所述的递归运算,其特征在于通过err变量控制椭球面大梯形面积计算精度。
4.新方法的计算流程为:
(1)构造函数calTrap(L1,L2,B1,B2),计算椭球面梯形面积;
(2)构造递归函数calPatch(L0,L1,B1,L2,B2,err),计算大梯形面积,其算法伪代码如下:calPatch(L0,L1,B1,L2,B2,err)
{
//本函数用来计算椭球面大梯形图块的面积
sum=calTrap(L0,(L1+L2)/2,B1,B2);//计算椭球面大梯形面积估计值(椭球面梯形面积)if(Math.Abs(sum)<err)//当估计值(包含割补的小三角形)的绝对值小于指定值err时,不再递归return sum;
else//反之,递归计算
return sum+calPatch((L1+L2)/2,L1,B1,(L1+L2)/2,Bm,err)+calPatch((L1+L2)/2,(L1+L2)/2,Bm,L2,B2,err);//大梯形面积真值=大梯形面积估计值+阴影三角形面积-空白三角形面积。其中,calPatch((L1+L2)/2,L1,B1,(L1+L2)/2,Bm,err)为空白三角形面积,其值为负,calPatch((L1+L2)/2,(L1+L2)/2,Bm,L2,B2,err)为阴影三角形面积,其值为正}。