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

📄 gga.cls

📁 GPS实时定位的程序实现,GPS实时定位的程序实现 希望对大家有帮助
💻 CLS
字号:
VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
END
Attribute VB_Name = "GPGGA"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Attribute VB_Ext_KEY = "SavedWithClassBuilder" ,"Yes"
Attribute VB_Ext_KEY = "Top_Level" ,"Yes"
'Class name:    GGA.cls
'Author:        Ray Bivens, Applications Prototype Lab, ESRI
'Date:          Dec 98
'Description:   Factors an NMEA (GPS) 'GPGGA' sentence to its string components.
'Comments:      Create an instance of the class and assign a GPGGA string to the
'               Sentence property.
'
'Revisions:

Option Explicit

'local variables to hold property values
Private mvarSentence As String
Private mvarUTC As String
Private mvarLatitude As String
Private mvarLatHemis As String
Private mvarLongitude As String
Private mvarLonHemis As String
Private mvarQuality As String
Private mvarSatsInUse As String
Private mvarHDOP As String
Private mvarAltitude As String
Private mvarSeparationUnits As String
Private mvarDiffAge As Single
Private mvarStationID As String
Private mvarSeparation As String
Private mvarAltitudeUnits As String
Private mvarChecksum As String

Public Enum GPGGAError
    InvalidOrCorruptGPGGA = vbObjectError + 512 + 1
End Enum
Public Property Get Checksum() As String
Attribute Checksum.VB_Description = "Returns the checksum of the NMEA string."
    Checksum = mvarChecksum
End Property
Public Property Get AltitudeUnits() As String
Attribute AltitudeUnits.VB_Description = "Returns units of altitude (M = Meters)."
    AltitudeUnits = mvarAltitudeUnits
End Property

Public Property Get Separation() As String
Attribute Separation.VB_Description = "Returns geoidal separation (distance between WGS84 ellipsoid and mean sea level)."
    Separation = mvarSeparation
End Property

Public Property Get StationID() As String
Attribute StationID.VB_Description = "Returns differential reference station ID."
    StationID = mvarStationID
End Property

Public Property Get DiffAge() As String
Attribute DiffAge.VB_Description = "Returns the age in seconds since last update from differential reference station."
    DiffAge = mvarDiffAge
End Property

Public Property Get SeparationUnits() As String
Attribute SeparationUnits.VB_Description = "Returns units of geoidal separation (M = Meters)."
    SeparationUnits = mvarSeparationUnits
End Property

Public Property Get Altitude() As String
Attribute Altitude.VB_Description = "Returns the antenna altitude above/below mean sea level (geoid)."
    Altitude = mvarAltitude
End Property

Public Property Get HDOP() As String
Attribute HDOP.VB_Description = "Returns the Horizontal Dilution of Precision (HDOP)."
    HDOP = mvarHDOP
End Property


Public Property Get SatsInUse() As String
Attribute SatsInUse.VB_Description = "Returns the number of satellite vehicles (SVs) in use (not those in view)."
    SatsInUse = mvarSatsInUse
End Property

Public Property Get Quality() As String
Attribute Quality.VB_Description = "Returns a GPS quality indicator: 0 = invalid; 1 = GPS fix; 2 = Differential GPS fix. "
    Quality = mvarQuality
End Property

Public Property Get LonHemis() As String
Attribute LonHemis.VB_Description = "Returns a boolean type indicating east (true) or west (false) longitude."
    LonHemis = mvarLonHemis
End Property

Public Property Get Longitude() As String
Attribute Longitude.VB_Description = "Returns theLongitude of the object."
    Longitude = mvarLongitude
End Property

Public Property Get LatHemis() As String
Attribute LatHemis.VB_Description = "Returns a boolean type indicating north (true) or south (false) latitude."
    LatHemis = mvarLatHemis
End Property

Public Property Get Latitude() As String
Attribute Latitude.VB_Description = "Returns the Latitude of the object."
    Latitude = mvarLatitude
End Property

Public Property Get UTC() As String
Attribute UTC.VB_Description = "Returns the UTC from the object."
    UTC = mvarUTC
End Property

Public Property Let Sentence(ByVal GGA_Sentence As String)
Attribute Sentence.VB_Description = "Sets/Returns NMEA sentence for object."
    Dim Utils As New CParseUtils
    
        'check for correct header and number
        'of place holders in sentence first...
        If Utils.Parse(GGA_Sentence, 1) = "$GPGGA" And Utils.CountParts(GGA_Sentence) = 15 Then
        
            Dim sUTC As String
            Dim sLatitude As String
            Dim sLatHemis As String
            Dim sLongitude As String
            Dim sLonHemis As String
            Dim sQuality As String
            Dim sSatsInUse As String
            Dim sHDOP As String
            Dim sAltitude As String
            Dim sSeparationUnits As String
            Dim sDiffAge As String
            Dim sStationID As String
            Dim sSeparation As String
            Dim sAltitudeUnits As String
            Dim sTempStationID As String
            Dim sChecksum As String
            Dim sTempChecksum As String
            
            ' assign value to local variable...
            mvarSentence = GGA_Sentence
            
            ' parse NMEA sentence and check quality
            ' if qc conditions not met, leave var as empty...
            sUTC = Utils.Parse(mvarSentence, 2)             'UTC
                If IsNumeric(sUTC) Then
                    mvarUTC = sUTC
                End If
                
            sLatitude = Utils.Parse(mvarSentence, 3)        'Latitude
                If IsNumeric(sLatitude) Then
                    mvarLatitude = sLatitude
                End If
                
            sLatHemis = Utils.Parse(mvarSentence, 4)        'LatHemis
                If sLatHemis = "N" Or sLatHemis = "S" Then
                    mvarLatHemis = sLatHemis
                End If
                
            sLongitude = Utils.Parse(mvarSentence, 5)       'Longitude
                If IsNumeric(sLongitude) Then
                    mvarLongitude = sLongitude
                End If
                
            sLonHemis = Utils.Parse(mvarSentence, 6)        'LonHemis
                If sLonHemis = "E" Or sLonHemis = "W" Then
                    mvarLonHemis = sLonHemis
                End If
                
            sQuality = Utils.Parse(mvarSentence, 7)         'Quality
                If IsNumeric(sQuality) Then
                    mvarQuality = sQuality
                End If
                
            sSatsInUse = Utils.Parse(mvarSentence, 8)       'SatsInUse
                If IsNumeric(sSatsInUse) Then
                    mvarSatsInUse = sSatsInUse
                End If
                
            sHDOP = Utils.Parse(mvarSentence, 9)            'HDOP
                If IsNumeric(sHDOP) Then
                    mvarHDOP = sHDOP
                End If
                
            sAltitude = Utils.Parse(mvarSentence, 10)       'Altitude
                If IsNumeric(sAltitude) Then
                    mvarAltitude = sAltitude
                End If
                
            sAltitudeUnits = Utils.Parse(mvarSentence, 11)  'AltitudeUnits
            mvarAltitudeUnits = sAltitudeUnits
                
            sSeparation = Utils.Parse(mvarSentence, 12)     'Separation
                If IsNumeric(sSeparation) Then
                    mvarSeparation = sSeparation
                End If
                
            sSeparationUnits = Utils.Parse(mvarSentence, 13) 'SeparationUnits
            mvarSeparationUnits = sSeparationUnits
                
            sDiffAge = Utils.Parse(mvarSentence, 14)        'DiffAge
                If IsNumeric(sDiffAge) Then
                    mvarDiffAge = sDiffAge
            End If
                
            sTempStationID = Utils.Parse(mvarSentence, 15)   'temp var
            sStationID = Utils.Parse(sTempStationID, 1, "*") 'StationID
            mvarStationID = sStationID
                
            sTempChecksum = Utils.Parse(mvarSentence, 15)   'temp var
            sChecksum = Utils.Parse(sTempChecksum, 2, "*")  'Checksum
            mvarChecksum = sChecksum
                    
        Else
            Err.Raise InvalidOrCorruptGPGGA, "GPGGA::Sentence", "Invalid or corrupt GPGGA sentence."
        End If
        
    Set Utils = Nothing
End Property

Public Property Get Sentence() As String
    Sentence = mvarSentence
End Property

⌨️ 快捷键说明

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