double wir_cal1()
{
    double pi = 3.1415926;
    double xb, yb;
    double x[20], y[20];                     
    double v_x[20] , v_y[20] ;                  //坐标增量改正值
    double oba[20] , v_oba[20];                 //observation angle
    double s[20];                               // 边长s
    double r[20];                               //坐标方位角 r
    double ce_oba = 0, ce_x, ce_y;
    double rba;
    int j,p;
    cout << setiosflags(ios::fixed) << setprecision(3);
    cout << "输入观测角个数" << "j=" << endl;
    cin >> j;
    cout << "左角1右角-1" << endl;
    cin >> p;
    cout << "输入起始坐标B,A" << endl;
    cin >> xb >> yb >> x[0] >> y[0];
    cout << "rab=";
    rba = bc_cal(xb, yb, x[0], y[0]);
    //键入观测角值
    for (int i = 0; i < j; i++)
    {
        cout << "请输入观测角值 " << i << endl;
        cin >> oba[i];
    }
    for (int i = 0; i < j-1; i++)
    {
        cout << "输入边长 " << i << endl;
        cin >> s[i];
    }
    //求观测角闭合差
    {
        for (int i = 0; i <j; i++)
        {
            oba[i] = dfm2m(oba[i]);
            cout << "oba[" << i << "]= " << oba[i] << endl;
        }
        int fg = sum(oba, 0, j);
        int fl = 180 * (j-1) * 3600;
        ce_oba = double(fg) - fl;
        cout << "理论值=" << fg << " 观测值=" << fl << endl;
        cout << "观测角闭合差" << ce_oba << endl;
    }
    //求坐观测角改正值并分配
    for (int i = 0; i < j; i++)
    {
        v_oba[i] = -ce_oba / j;
        oba[i] += v_oba[i];
    }
    //观测角化弧度值
    for (int i = 0; i < j; i++)
    {
        oba[i] = oba[i] / 3600 / 180 * pi;
        cout << oba[i] << endl;
    }
    //求坐标方位角
    for (int i = 0; i < j-1; i++)
    {
        
        if (i == 0)
        {
            r[0] = oba2pca(rba, oba[0],p);
        }
        else
            r[i] = oba2pca(r[i - 1], oba[i],p);

cout << "方位角R" << i << "=" << r[i] << endl;
    }
    //求坐标增量x,y
    double deta_x[20], deta_y[20];
    for (int i = 0; i < j-1; i++)
    {
        deta_xy(r[i], s[i], &deta_x[i], &deta_y[i]);

}
    //计算坐标增量闭合差、改正值并分配
    {
        ce_x = sum(deta_x, 0, j-1);
        ce_y = sum(deta_y, 0, j-1);
        double S = sum(s, 0, j-1);
        for (int i = 0; i < j-1; i++)
        {
            v_x[i] = -ce_x * s[i] / S;
            v_y[i] = -ce_y * s[i] / S;
            deta_x[i] += v_x[i];
            deta_y[i] += v_y[i];
        }
    }
    //输出坐标x,y
    for (int i = 1; i <j; i++)
    {
        x[i] = x[i - 1] + deta_x[i-1];
        y[i] = y[i - 1] + deta_y[i-1];
        cout << "x" << i << "=" << x[i] << " y" << i << "=" << y[i] << endl;
    }

return 0;
}

练习4闭合导线平差计算相关推荐

  1. python实现闭合导线平差与坐标计算(改进)

    一.外业测量获取数据 以下列草图为例进行大比例尺地形图测绘,若希望绘制该区域地形图,首先要进行控制点测量,得到控制点坐标,再依据控制点进行碎部测量,采集碎部点后成图. 在此使用闭合导线网,具体流程: ...

  2. 简述导线平差计算的五个步骤_RTK技术导线测量和全站仪导线测量有什么区别?...

    导线测量是测量导线的长度.转角和高程以及推算出坐标等的作业.在导线测量过程中,我们可以选择RTK技术或全站仪进行操作,接下来小编就结合GPS-RTK和全站仪的特点和操作方法来讲解两者的优势. 一.全站 ...

  3. Matlab实现双环平差计算#闭合差#波波夫差法

    %Matlab双环平差 %画图 Ax=[0 3 5 3 10 3 10 4]; Ay=[-1 12 3 12 12 12 12 21]; Bx=[15 10 12 5 12 4 11 11]; By= ...

  4. 控制测量步骤及其内业计算

    一.控制测量 (control survey) 1.目的与作用 (1)为测图或工程建设的测区建立统一的平面控制网 (horizontal control network) 和高程控制网 (vertic ...

  5. matlab附合导线坐标计算,MATLAB语言及测绘数据处理应用

    MATLAB语言及测绘数据处理应用 出版时间:2012年版 丛编项:普通高等院校测绘课程系列规划教材 内容简介 <普通高等院校测绘课程系列规划教材:MATLAB语言及测绘数据处理应用>以M ...

  6. Excel VBA附合导线平差自动计算表

    这是6,7年前做的一个excel vba自动计算附合导线平差的表格. 对于做测绘的朋友来说,附合导线平差是最基础的技能,目前来说,能平差的软件和工具也很多,像南方的平差易,科傻平差.清华三维平差等,但 ...

  7. 水准路线平差c语言程序,水准网平差程序的设计与实现

    水准网平差程序的设计与实现 维普资讯 http://doc.docsou.com 第1 6卷第 4期 2 0托 l 00 2月 昆明冶金高等专科学校学报 /, v1N 8 I 0. I l 6 . 4 ...

  8. 第四章 ContextCapture 19 空三控制点平差

    第四章 ContextCapture 19 空三控制点平差 一.检查空三成果 空三结束后,会生成连接点云,再三维中,可以观察生成的结果,根据点云的状态,判断空三是否正常. 在这个位置,可以导出空三报告 ...

  9. casio计算用计算机面板,《CASIOfx—4850P计算器土木工程测量计算程序开发和应用》.pdf...

    内 容 提 要 本书在介绍CASIOfx4850P可编程序计算器的程序编制方法的基础上,重点 介绍了其在土木工程测量实践中各种测算工作所需要程序的设计和编制. 内容主 要包括:交会定点.导线计算.面 ...

  10. COSAGPS进行GAMIT基线解算数据的平差

    cosaGPS平差步骤 GAMIT解算完基线数据后,会在年积日文件夹中生成q-.o-.h-基线解算结果文件,其中o文件是q文件的简化形式. cosaGPS可以自动读取天宝Gamit软件输出的基线向量文 ...

最新文章

  1. 员工信息增删改查作业
  2. (转)如何保障微服务架构下的数据一致性?
  3. C语言一看就能上手的干货!你确定你不来看吗?
  4. 序列化 自定义名字_反序列化漏洞(Web漏洞及防御)
  5. Ubuntu下超实用的命令
  6. 有关Silverlight TreeView组件的研究[3]——Silverlight学习笔记(8)
  7. Ubuntu安装cacti步骤
  8. 十分钟了解websql和indexedDB
  9. 字子序列中英翻译模型(五笔特征)
  10. C语言版:二叉树叶子结点和非叶子结点求法
  11. ASP.NET公司企业网站源码
  12. PHP架构师成长路线,PHP架构师要求
  13. 360加固问题)如何解决Mac mac big sur 11.2.1 提示“您没有权限来打开应用程序‘xxx’”?以及无法打开×××,因为无法验证开发者
  14. 分享几个国内外安全专家常用的漏洞库平台
  15. android inflate 参数,Android inflate方法总结
  16. Centos7.4安装Nginx实战
  17. chrome点击书签栏书签_如何充分利用Chrome书签栏
  18. 光通信的最新技术趋势
  19. 腾讯云cos申请配置
  20. 完全二叉树最后一个非叶子节点

热门文章

  1. 一个文科毕业生在德国 IT 行业的漫漫求职路
  2. ROMS区域海洋模式的安装和运行
  3. html5体感游戏开发,使用HTML5开发Kinect体感游戏
  4. Hibernate使用手册(官网)
  5. FFmpeg之视频转码
  6. google是否还能孤独求败,百度 VS google
  7. 跨境电子商务( Cross-Border Electronic Commerce )是什么?
  8. 网络诈骗有哪些防范措施
  9. 二分+秦九韶算法 求凸点
  10. CSD-1371电力监控系统网络安全监测装置(Ⅱ 型)介绍