• 监测点号去重


    监测点号去重

    测量工作中,如:竖向位移监测、水平位移监测、轴力监测等,在点号的保存过程中,经常会有重复或者不需要的点号,这就需要将其去除,再进行平差计算、保存。

    下面是我自己写的一个函数,以水准监测为例,希望对大家有点帮助。

    首先,已知水准监测点闭合环上的点号数组CString * spoint;

    通过平差计算,知道各点高程,但点号数组中有转点,即“TP”开头的点号。

    但不需要将其显示及保存

    //删除转点TP***
    void CCJCompute::Deletepoint(int sum)
    {
     int k=0;
     for(int i=0;i<sum-k-1;i++)
     {

    //判断点号是否为转点
      if(spoint[i].Left(2)==_T("TP"))
      {

    //将数组多有点号、变化量、累计变化量、变化速率等都往前移动一位
       for(int j=i;j<sum-k-1;j++)
       {
          spoint[j]=spoint[j+1];
           height[j]=height[j+1];
           variation[j]=variation[j+1];
           a_variation[j]=a_variation[j+1];
           rate[j]=rate[j+1];
       }
       k++;
      }
     }

    //判断改正后的数组中是否还有转点,进行循环运算

     for(int i=0;i<sum-k-1;i++)
     {
      if(spoint[i].Left(2)==_T("TP"))
      {
       Deletepoint(sum-k);
      }
     }
     return;
    }

    循环运算,直到把需要删除的点号全部删除完

  • 相关阅读:
    移动端--基于Android Studio的项目文件结构(一)【转】
    java知识体系粗略梳理
    简单的使用hibernate插入数据的例子
    触发器
    存储过程和函数
    视图
    索引的设计和使用
    数据类型的选择
    表类型(存储引擎)的选择
    MySQL中的常用函数
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/3219035.html
Copyright © 2020-2023  润新知