⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 嵌套系数法.frm

📁 大地导航算法落难大系地导航算法 各种导航算法的原码
💻 FRM
📖 第 1 页 / 共 5 页
字号:
         Caption         =   "分"
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   12
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   405
         Left            =   3120
         TabIndex        =   58
         Top             =   1680
         Width           =   285
      End
      Begin VB.Label Label31 
         Caption         =   "分"
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   12
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   405
         Left            =   3120
         TabIndex        =   57
         Top             =   2160
         Width           =   285
      End
      Begin VB.Label Label30 
         Caption         =   "度"
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   12
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   405
         Left            =   2160
         TabIndex        =   55
         Top             =   960
         Width           =   285
      End
      Begin VB.Label Label29 
         Caption         =   "度"
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   12
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   405
         Left            =   2160
         TabIndex        =   54
         Top             =   1680
         Width           =   285
      End
      Begin VB.Label Label28 
         Caption         =   "度"
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   12
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   405
         Left            =   2160
         TabIndex        =   53
         Top             =   2160
         Width           =   285
      End
      Begin VB.Label Label27 
         Caption         =   "秒"
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   12
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   405
         Left            =   5040
         TabIndex        =   52
         Top             =   480
         Width           =   285
      End
      Begin VB.Label Label26 
         Caption         =   "分"
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   12
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   405
         Left            =   3120
         TabIndex        =   50
         Top             =   480
         Width           =   285
      End
      Begin VB.Label Label25 
         Caption         =   "度"
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   12
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   405
         Left            =   2160
         TabIndex        =   48
         Top             =   480
         Width           =   285
      End
      Begin VB.Label Label13 
         AutoSize        =   -1  'True
         Caption         =   "P2:"
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   12
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   240
         Left            =   120
         TabIndex        =   8
         Top             =   2040
         Width           =   480
      End
      Begin VB.Label Label12 
         AutoSize        =   -1  'True
         Caption         =   "经度L2="
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   12
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   240
         Left            =   600
         TabIndex        =   7
         Top             =   2280
         Width           =   960
      End
      Begin VB.Label Label11 
         Caption         =   "纬度B2="
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   12
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   375
         Left            =   600
         TabIndex        =   6
         Top             =   1800
         Width           =   1095
      End
      Begin VB.Label Label10 
         AutoSize        =   -1  'True
         Caption         =   "P1:"
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   12
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   240
         Left            =   120
         TabIndex        =   5
         Top             =   840
         Width           =   480
      End
      Begin VB.Label Label9 
         Caption         =   "纬度B1="
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   12
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   375
         Left            =   600
         TabIndex        =   4
         Top             =   600
         Width           =   1095
      End
      Begin VB.Label Label8 
         AutoSize        =   -1  'True
         Caption         =   "经度L1="
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   12
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   240
         Left            =   600
         TabIndex        =   3
         Top             =   1080
         Width           =   960
      End
   End
   Begin VB.Label Label58 
      Caption         =   "椭球基准:克拉索夫椭球  参考坐标系:北京54"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      ForeColor       =   &H00FF0000&
      Height          =   495
      Left            =   3000
      TabIndex        =   105
      Top             =   1320
      Width           =   5775
   End
   Begin VB.Label Label53 
      AutoSize        =   -1  'True
      Caption         =   "大地主题解算"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   15.75
         Charset         =   134
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      ForeColor       =   &H00FF0000&
      Height          =   315
      Left            =   4680
      TabIndex        =   90
      Top             =   600
      Width           =   1980
   End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit

Public Function arcsin(x As Double) As Double
arcsin = Atn(x / Sqr(-x * x + 1))
End Function
Public Function arccos(x As Double) As Double
arccos = Atn(-x / Sqr(-x * x + 1)) + 2 * Atn(1)

End Function
Public Function M(B4 As Double) As Double
   Dim W As Double, e As Double, a As Double
    a = 6378245

 e = 0.08181333401693

    W = Sqr(1 - e * e * Sin(B4) * Sin(B4))
    M = a * (1 - e * e) / (W * W * W)
End Function

Public Function N(B4 As Double) As Double
Dim W As Double, a As Double, e As Double
 a = 6378245

 e = 0.08181333401693

    W = Sqr(1 - e * e * Sin(B4) * Sin(B4))
    N = a / W
End Function

Private Sub Command1_Click()
Dim a As Double, b As Double, c As Double
Dim e1 As Double, A1 As Double, e As Double
Dim i As Integer, L1 As Double, A2 As Double
Dim B1 As Double, B2 As Double, L2 As Double
Dim l  As Double, x4 As Double, x5 As Double
Dim x1 As Double, x2 As Double, x3 As Double
Dim u As Double, v As Double, f As Double
Dim A21 As Double, B21 As Double
Dim Am As Double, tm As Double, Bm As Double
Dim vm As Double, Cm As Double, Nm As Double
Dim L21 As Double, tgA2 As Double, q4 As Double
Dim k11 As Double, ym As Double, k1 As Double
Dim q1 As Double, q2 As Double, q3 As Double
Dim sdd As Double, u1 As Double, c1 As Double
Dim Bf(1 To 10) As Double, Af(1 To 10) As Double
Dim lf(1 To 10) As Double, dtc(0 To 5) As Double
Dim sinA0 As Double, k3 As Double, c2o1 As Double
Dim m1 As Double, n1 As Double, mm As Double
Dim un As Double, t As Double, k2 As Double
Dim w1 As Double, dtw1 As Double, tgw1 As Double
Dim sinA1 As Double, cosA02 As Double, coto1 As Double
Dim da As Double, db As Double, dc As Double
Dim ar As Double, bt As Double, k12 As Double
Dim s2r As Double, c2r As Double, ot As Double
Dim o0 As Double, cosu1 As Double, sinu1 As Double
Dim cnc As Double, sinu2 As Double, wdd2 As Double
Dim wdf2 As Double, wdm2 As Double, s2o1 As Double
Const p = 206264.806247
Const pi = 3.1415926535897
 a = 6378245
 b = 6356863.01877305
 e = 0.08181333401693
e1 = 0.08208852182055

If Option1.Value = True Then

B1 = (Val(Text1.Text) + Val(Text15.Text) / 60 + Val(Text16.Text) / 3600) / 180 * pi
L1 = (Val(Text2.Text) + Val(Text17.Text) / 60 + Val(Text18.Text) / 3600) / 180 * pi
A1 = (Val(Text4.Text) + Val(Text35.Text) / 60 + Val(Text38.Text) / 3600) / 180 * pi

sdd = Val(Text3.Text)
dtc(0) = 0

For i = 0 To 5

f = (a - b) / a
u1 = Atn((1 - f) * Tan(B1))
c1 = Atn(Tan(u1) / Cos(A1))
un = arccos(Cos(u1) * Sin(A1))
t = 1 / 4 * e1 * e1 * Sin(un) * Sin(un)
v = 1 / 4 * f * Sin(un) * Sin(un)

k11 = 3 - t * (5 - 11 * t)

k1 = 1 + t * (1 - t / 4 * k11)
k2 = t * (1 - t * (2 - t / 8 * (37 - 94 * t)))
k3 = v + f * v - 3 * v * v
c = sdd / (k1 * b) + dtc(i)

Cm = (2 * c1 + c) / 2
dtc(i + 1) = k2 * Sin(c) * (Cos(2 * Cm) + k2 / 4 * (Cos(c) * Cos(4 * Cm) - k2 / 6 * Cos(2 * Cm) * (-3 + 4 * Sin(c) * Sin(c)) * (-3 + 4 * Cos(2 * Cm) * Cos(2 * Cm))))

If Abs(dtc(i + 1) - dtc(i)) < 0.000000000001 Then
B2 = Atn((Sin(u1) * Cos(c) + Cos(u1) * Sin(c) * Cos(A1)) / Sqr(1 - Sin(un) * Sin(un) * Sin(c1 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -