zoukankan      html  css  js  c++  java
  • 监测点号去重

    监测点号去重

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

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

    首先,已知水准监测点闭合环上的点号数组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;
    }

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

  • 相关阅读:
    关于input输入框placeholder属性的样式问题
    关于input输入框checkbox类型的样式问题
    三层构架
    盒模型
    line height
    sql
    继承
    对象
    正则表达式
    事件
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/3219035.html
Copyright © 2011-2022 走看看