双向解析光束法.docVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
双向解析光束法

双向解析光束法 光束法程序有问题,在Getelement这个函数里便出现索引超限,这个问题一直解决不了 光束法的流程: 根据同名像点对对相交理论求系数阵A,系数阵B和常数阵L a11=(a1f+a3x)/Z; a12=(b1f+b3x)/Z; a13=(c1f+c3x)/Z; a14=ysin(omega)-[x/f(xcos(kappa)-ysin(kappa))+fcos(kappa)]cos(omega); a15=-fsin(kappa)-x/f(xsin(kappa)+ycos(kappa)); a16=y; a21=(a2f+a3y)/Z; a22=(b2f+b3y)/Z; a23=(c2f+c3y); a24=-xsin(omega)-[x/f(xcos(kappa)-ysin(kappa))-fsin(kappa)]cos(omega) a25=-fcos(kappa)-y/f(xsin(kappa)+ycos(kappa)); a26=-x; 求方程的改化法方程求出外方位元素和物方坐标改正数 判断改正数的值,如果小于限差则输出结果 光束法是最严密的一种方法的原因: 在一张相片中,待定点与控制点的像点与摄影中心及相应地面点均构成一条光束,该方法是以每张相片所组成的一束光线作为平差的基本单元,已共线条件方程作为平差的基础方程,通过各个光束在空间中的旋转和平移,使模型之间公共点的光线实现最佳交汇,并使整个区域纳入到已知的地面控制点坐标系中,所以要建立全区域统一的误差方程,整体解求全区域内每张相片的六个外方位元素及所有待定点坐标,光束法区域网平差是基于摄影时像点,物点和摄站点三点共线提出来的。由单张相片构成区域,其平差的数学模型是共线条件方程,平差单元是单个光束,像点坐标是观测值,未知数是每张相片的外方位元素及所有待定点坐标。误差方程直接由像点坐标的观测值列出,能对像点坐标进行系统误差改正。 光束法的程序代码为: //计算像片外方位元素,架设phi=0,omega=0,kappa=0求Xs,Ys,Zs //求左片的Xs,Ys,Zs Xsl = (strX[0] + strX[2]) / 2; Ysl = (strY[0] + strY[2]) / 2; L = Math.Pow(Math.Pow(strX[0] - strX[2], 2) + Math.Pow(strY[0] - strY[2], 2) + Math.Pow(strZ[0] - strZ[2], 2), 0.5); l = Math.Pow(Math.Pow(strXl[0] - strXl[2], 2) + Math.Pow(strYl[0] - strYl[2], 2), 0.5); H = f * L / l; Zsl = (strZ[0] + strZ[2]) / 2 + H; //计算片左的加密点的物方坐标 Class1 xyz = new Class1(8, 3, strXY); Class1 xyzt=xyz.Transpose (); //phi,omega,kappa为零,故旋转矩阵为单位阵 //像空间辅助坐标系中的坐标 Class1 UVW = xyzt.Multiply(H); //求地面摄影测量坐标系中的坐标 for (int i = 0; i 8; i++) { UVW.SetElement(0, i, UVW.GetElement(0, i) + Xsl); UVW.SetElement(1, i, UVW.GetElement(1, i) + Ysl); UVW.SetElement(2, i, UVW.GetElement(2, i) + Zsl); } //求右片的Xs,Ys,Zs Xsr = (strX[1] + strX[3]) / 2; Ysr = (strY[1] + strY[3]) / 2; L = Math.Pow(Math.Pow(strX[1] - strX[3], 2) + Math

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档