【VB.net】大地测量——白塞尔大地解算程序设计

1.窗口

在这里插入图片描述

2.Form

Public Class Form1
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    End Sub
    '这里是正算
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim i, j, k, a, b, x, h, f, g As Double
        If ComBox1.Text = "克拉索夫斯基椭球" Then
            eff = 0.006738525414683
            c = 6399698.901782711
            e2 = 0.006693421622966
        ElseIf ComBox1.Text = "1975年国际椭球" Then
            eff = 0.006739501819473
            c = 6399596.6519880109
            e2 = 0.006694384999588
        ElseIf ComBox1.Text = "WGS-84椭球" Then
            eff = 0.00673949674227
            c = 6399593.6258
            e2 = 0.00669437999013
        ElseIf ComBox1.Text = "CGCS2000" Then
            eff = 0.00673949677548
            c = 6399593.6259
            e2 = 0.0066943800229
        End If
        '输入变量
        B1 = Math.Abs(Val(B11.Text)) + Val(B12.Text) / 60 + Val(B13.Text) / 3600
        If Val(B11.Text) > 0 Then
            B1 = B1
        Else B1 = -B1
        End If
        L1 = Math.Abs(Val(L11.Text)) + Val(L12.Text) / 60 + Val(L13.Text) / 3600
        If Val(L11.Text) > 0 Then
            L1 = L1
        Else : L1 = -L1
        End If
        A1 = Math.Abs(Val(A7.Text)) + Val(A8.Text) / 60 + Val(A9.Text) / 3600
        If (Val(A7.Text) > 0) Then
            A1 = A1
        Else A1 = -A1
        End If                         '将度分秒转化成十进制的度数
        S = Val(SS.Text)
        '计算起点的归化纬度
        Dim W1, SinU1, CosU1 As Double
        W1 = Math.Sqrt(1 - e2 * (Math.Sin(B1 / 180 * Math.PI)) ^ 2)
        SinU1 = Math.Sin(B1 / 180 * Math.PI) * Math.Sqrt(1 - e2) / W1
        CosU1 = Math.Cos(B1 / 180 * Math.PI) / W1
        '计算辅助函数值
        Dim SinA0, Cotσ1, Sin2σ1, Cos2σ1 As Double
        SinA0 = CosU1 * Math.Sin(A12 / 180 * Math.PI)
        Cotσ1 = CosU1 * Math.Cos(A12 / 180 * Math.PI) / SinU1
        Sin2σ1 = 2 * Cotσ1 / ((Cotσ1) ^ 2 + 1)
        Cos2σ1 = ((Cotσ1) ^ 2 - 1) / ((Cotσ1) ^ 2 + 1)
        '计算系数A,B,C及α,β之值Dim A, B, C, α, β As Double
        a = 6356863.02 + (10708.949 - 13.474 * (1 - (SinA0) ^ 2)) * (1 - (SinA0) ^ 2)
        b = (5354.469 - 8.978 * (1 - (SinA0) ^ 2)) * (1 - (SinA0) ^ 2)
        c = (2.238 * (1 - (SinA0) ^ 2)) * (1 - (SinA0) ^ 2) + 0.006
        α = 691.46768 - (0.58143 - 0.00144 * (1 - (SinA0) ^ 2
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值