全站仪角度定向,极坐标解算

2023-12-20 13:18

本文主要是介绍全站仪角度定向,极坐标解算,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Sub 导入全站仪数据()
    Dim Filename As Variant, myText, S, mArr() As String, narr() As String
    Dim i, y As Long, j As Long
    Filename = ThisWorkbook.Path & "\1112X.GT7"      '指定文件字符串
    j = 1
    With Worksheets("sheet1")
        .Cells.ClearContents
        Open Filename For Input As #1
        Do While Not EOF(1)
            
        Line Input #1, myText    ' 读入一行数据并将其赋予某变量
        S = Replace(myText, "   ", ",")
            mArr = Split(S, ",")    '按逗号分开这个字符,循环赋值给单元格
          
          
            
    
            For i = 0 To UBound(mArr)
                .Cells(j, i + 1) = mArr(i)
            Next i
            j = j + 1
        Loop
        Close #1    ' 关闭文件。
    End With
    End Sub


Sub 编码分列()
Dim i As Integer

For i = 2 To 255

 If IsNumeric(Cells(i, 4)) Then
Cells(i, 6) = ""
Else

Cells(i, 6) = Cells(i, 4) & Cells(i, 2)

End If

 If Cells(i, 1) = "STN" Then

Cells(i + 1, 6) = Cells(i + 1, 2) '后视点
Cells(i, 6) = Cells(i, 2)   '测站点名
i = i + 1
End If
Range("F1:F200").HorizontalAlignment = Excel.xlLeft
Next

End Sub


 Sub 导入控制点()
    Dim Filename As Variant, myText, mArr() As String
    Dim i As Long, j As Long
    Filename = ThisWorkbook.Path & "\kz.txt"      '指定文件字符串
    j = 1
    With Worksheets("sheet1")

        Open Filename For Input As #1
        Do While Not EOF(1)
            Line Input #1, myText    ' 读入一行数据并将其赋予某变量
            mArr = Split(myText, ",")    '按逗号分开这个字符,循环赋值给单元格

            For i = 0 To UBound(mArr)
                .Cells(j, i + 10) = mArr(i)
            Next i
            j = j + 1
        Loop
        Close #1    ' 关闭文件。
    End With
End Sub
Sub 导入控制点2()

Dim i, y As Integer

For y = 1 To 20
 

For i = 1 To 200
If Cells(i, 6) = Cells(y, 10) Then
Cells(i, 7) = Cells(y, 11)
Cells(i, 8) = Cells(y, 12)
Cells(i, 9) = Cells(y, 13)
 
End If
Next

Next
End Sub

Sub 坐标高程计算()
Dim i, C, D, F, M As Integer, W, H, Z, T, j, S, G As Double
Dim PI As Double
PI = 3.14159265258979
i = 2
For C = 1 To 256
If Cells(C, 1) = "STN" Then
W = Application.Atan2((Cells(C + 1, 7) - Cells(C, 7)), (Cells(C + 1, 8) - Cells(C, 8)))
 If W < 0 Then
W = W + 2 * PI
 End If

  
 Do
i = i + 1
If Cells(i, 1) = "SD" Then
 
 D = Int(Cells(i, 2))
 F = Int((Cells(i, 2) - D) * 100)
 M = (Cells(i, 2) - D) * 10000 - F * 100
 H = D * PI / 180 + F * PI / 180 / 60 + M * PI / 180 / 60 / 60 + W

 
 If H > 2 * PI Then
H = H - 2 * PI
 End If
Z = 90 - Cells(i, 3)
T = Int(Z)
If T < 0 Then
T = Int(Z * -1)
End If
j = Int((Z - T) * 100)
If j < 0 Then

j = Int((Z - T) * -1 * 100)
End If
S = Z * 10000 - j * 100
If S < 0 Then
S = Z * 10000 * -1 - j * 100
End If

G = T * PI / 180 + j * PI / 180 / 60 + S * PI / 180 / 60 / 60
 If Z < 0 Then
 G = G * -1
 End If
 Cells(i - 1, 7) = Round(Cells(i, 4) * Cos(H) + Cells(C, 7), 3)
Cells(i - 1, 8) = Round(Cells(i, 4) * Sin(H) + Cells(C, 8), 3)
Cells(i - 1, 9) = Round(Cells(i, 4) * Sin(G) - Cells(i - 1, 3) + Cells(C, 3) + Cells(C, 9), 3)
 
   
 
  End If
   
  Loop Until Cells(i, 1) = "STN"
 
End If
Next
End Sub


Sub 另存为excel()
Dim j As Long
 Sheet2.Range("a1:d1000") = Sheet1.Range("f1:i1000").Value

    For j = Sheet2.Cells(1048576, 2).End(xlUp).Row To 1 Step -1
 

    If Sheet2.Cells(j, 1) = "" Then           '如果单元格为空白
 

    Sheet2.Cells(j, 1).EntireRow.Delete          '符合条件的都删除整行
 

    End If
 

    Next                             '检测下一个


Sheet2.Copy
ActiveWorkbook.SaveAs Filename:="d:\备份.xls "  '修改保存文件目录
End Sub


 

这篇关于全站仪角度定向,极坐标解算的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/516195

相关文章

如何从SEO角度解读“地摊经济”?

如果你是一名SEO人员,经常我们需要做的第一件事就是做关键词挖掘与分析,特别是当我们试图去做热点新闻事件排名的时候。 我们只有深刻的理解目标关键词背后真正潜在的搜索需求,我们才可以根据关键词的属性,撰写高质量的相关性文章,比如:地摊经济,依然成为各地市广为热议的话题。 那么,如何从SEO角度解读“地摊经济”? 根据以往关键词优化的经验,曾庆平将通过如下内容阐述: 1、关键词拓展 通常

物联网之ESP32控制舵机、通过网页设置舵机角度、Web服务、舵机原理、接线、Arduino、WiFi、Http

MENU 前言原理硬件电路设计软件程序设计LEDC输出PWM信号使用第三方库控制舵机网页控制舵机 前言 舵机在电子产品中非常常见,比如四足机器人、固定翼航模等都有应用,因此学习舵机对电子制作非常有意义。本文章使用Arguino的PWM对SG90舵机旋转角度控制。 原理 舵机是一种位置(角度)伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。舵机只

opencv实战项目二十:检测箱盖的旋转角度以及位置

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、算法流程:二、算法实现:2.1 二值化箱盖并获取最大轮廓:2.2 凸包与多边形近似提取矩形2.3 最小外接矩形获取角度与位置 三,整体代码实现:四,实现效果: 前言 在当今的工业自动化领域,精密制造和智能控制技术的发展正推动着生产流程的持续优化。随着机器视觉技术的不断成熟,其在工业应用

判断两个yaw角度之差是否超过了90度

一. 判断两个yaw角度之差是否超过了90度 要判断两个 yaw 角度之差是否超过 90 度,你可以通过计算这两个角度的差值,并将其归一化为 [-180, 180] 的范围内。接着,只需判断该差值的绝对值是否大于 90 度。 实现步骤: 计算角度差:两个角度的差值可以通过直接相减得到,但需要将结果限制在 [-180, 180] 范围内,因为角度是周期性的。归一化到 [-180, 180] 范

[置顶]定向爬虫 - Python模拟新浪微博登录

当我们试图从新浪微博抓取数据时,我们会发现网页上提示未登录,无法查看其他用户的信息。 模拟登录是定向爬虫制作中一个必须克服的问题,只有这样才能爬取到更多的内容。 实现微博登录的方法有很多,一般我们在模拟登录时首选WAP版。 因为PC版网页源码中包括很多的js代码,提交的内容也更多,不适合机器模拟登录。 我们实现微博登录的大体思路是这样的: 用抓包工具把正常登录时要提交的字段都记录下来

从spark源码的角度思考scala中的模式匹配

1.scala中模式匹配 2.spark源码中的模式匹配思考 spark中master会收到worker发过来的akka的消息, 此消息是case class即(Master.class中): case class RegisterWorker(id:String,host:String,port:Int,cores:Int,memory:Int,webUiPort:int

分支线定向耦合器宽带化设计和ADS仿真

分支线定向耦合器宽带化设计和ADS仿真 工程下载链接:分支线定向耦合器宽带化设计和ADS仿真-ADS工程文件 之前经常分析分支线定向耦合器,例如在15、ADS使用记录之耦合器设计和基于AWR的微带线分支线耦合器设计-从原理到版图中都有涉及,但是由于其基本电路结构中包含大量的四分之一波长线,其实际上是窄带的结构: 但是,我们经常可能需要用到宽带的分支线定向耦合器(例如在LMBA等架构中)。那

QT--qDebug()--定向输出QMessageLogContext为空

1、类名 QMessageLogContext context 2、官方说明 The QMessageLogContext class provides additional information about a log message.The class provides information about the source code location a qDebug(), q

从源码角度分析 Kotlin by lazy 的实现

by lazy 的作用 延迟属性(lazy properties) 是 Kotlin 标准库中的标准委托之一,可以通过 by lazy 来实现。 其中,lazy() 是一个函数,可以接受一个 Lambda 表达式作为参数,第一次调用时会执行 Lambda 表达式,以后调用该属性会返回之前的结果。 例如下面的代码: val str: String by lazy{println("aaron

GNN-频域-2014:Spectral Networks and Locally Connected Networks on Graphs(频谱图卷积神经网络)【第一篇从频域角度分析】

《原始论文:Spectral Networks and Locally Connected Networks on Graphs》 空域卷积非常直观地借鉴了图像里的卷积操作,但缺乏一定的理论基础。 而频域卷积则不同,相比于空域卷积而言,它主要利用的是**图傅里叶变换(Graph Fourier Transform)**实现卷积。 简单来讲,它利用图的**拉普拉斯矩阵(Laplacian ma