亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? module1.bas

?? VB開發的基于mapX的地圖匹配的程序。包含自己開發的點匹配算法。
?? BAS
?? 第 1 頁 / 共 2 頁
字號:
Attribute VB_Name = "Module1"
Type Car
 X As Double
 Y As Double
End Type

 Type SearchLine
   Firstpointx As Double
   FirstPointY As Double
   SecondPointX As Double
   SecondPointY As Double
   ThirdPointX As Double
   ThirdPointY As Double
   D As Double
   Angle As Double
   DisAngle As Double
   Name As String
End Type
Public Function MapMatch(ByVal GpsX As Double, ByVal GpsY As Double, ByVal CarSpeed As Double) As Car
Dim Road() As SearchLine
Dim Part() As SearchLine

Static LastGpsX As Double
Static LastGpsY As Double
Static LCarGpsX As Double
Static LCarGpsY As Double
Static AglMax As Double


Dim FpointX As Double
Dim FpointY As Double
Dim SpointX As Double
Dim SpointY As Double
Dim TpointX As Double
Dim TpointY As Double

Dim r As Double
Dim m1 As Double
Dim m2 As Double
Dim agl As Double
Dim disagl As Double
Dim Max As Double
Dim PMax As Double

Dim N As Integer
Dim Ct As Integer
Dim i As Integer
Dim j As Integer
Dim z As Integer
Dim g As Integer
Dim k1 As Integer
Dim k2 As Integer

Dim f_point, s_point As Integer
Dim big As Double
Dim small As Double


Dim Sel_Features As mapxlib.Features
Dim Sel_Feature As mapxlib.Feature
Dim Sel_Point As mapxlib.FindFeature



'速度判斷/停車狀態~~~~~~~~~~~~~~~~~~~~~~
Debug.Print GpsX, GpsY, LastGpsX, LastGpsY, "gps qqqqqqqqqq", CarSpeed, "CarSpeed"

'停車狀態TTTTTTTTTTTTTTTTTTTTT
If CarSpeed < 2 Then
 '如果有上次車輛匹配效果,則采用上次車輛匹配效果
  If LastGpsX <> 0 And LastGpsY <> 0 Then
    MapMatch.X = LCarGpsX
    MapMatch.Y = LCarGpsY
  Else
    MapMatch.X = GpsX
    MapMatch.Y = GpsY
  End If
'停車狀態結束TTTTTTTTTTTTTTTTT


'正常行駛狀態$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

Else
  big = 1E+20
  small = 0.0005
  AglMax = 360
  r = 0.05
  Dim pt As New Point
  pt.Set GpsX, GpsY
'選取待匹配路段
  
  Set Sel_Features = Form1.Map1.Layers("TC-B路段").SearchWithinDistance(pt, r, miUnitKilometer, 1)
  N = Sel_Features.Count
  Debug.Print N & "NNN"
'匹配過程——————————————————————————————————————————
'搜索目標路段
'當未找到目標路段的時候,取用GPS定位數據

'(1)8888888888888888
   If N = 0 Then
     MapMatch.X = GpsX
     MapMatch.Y = GpsY

'當找到目標路段的時候,對目標路段進行篩選
   
   '(1)888888888888888888
   ElseIf N > 0 Then
     ReDim Road(N) As SearchLine
     i = 1
     j = 9999
     Max = 9999
     k2 = 9999
     
     
     
     
For Each Sel_Feature In Sel_Features

'選取路段節點,分直線段和非直線段兩種
'目標路段的起終點

       Road(i).Name = Sel_Feature.Name
    
    '取路段的起終點
    Dim Post As Integer
    Post = InStr(1, Road(i).Name, "-", vbTextCompare)
    f_point = CInt(Mid(Road(i).Name, 1, Post - 1))
    s_point = CInt(Mid(Road(i).Name, Post + 1))
    

    Debug.Print f_point, s_point, "AAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
     Dim ft_fin As FindFeature
     Set ft_fin = Form1.Map1.Layers("TC-B路段").Find.Search(CStr(f_point) & "-" & CStr(s_point))
'Debug.Print ft_fin & "ft_fin"
     Ct = ft_fin.Parts.Item(1).Count
    Debug.Print Ct & "count"




'路段處理過程%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%(就是附值road(i).d過程)   開始




'(2)8   8
'直線段節點選取(直  直  直  直  直  直  直  直  直)     開始
    
    
    If Ct = 2 Then
     '取路段兩個節點的X,Y坐標
       Set Sel_Point = Form1.Map1.Layers("TC-B節點").Find.Search(f_point)
           Road(i).Firstpointx = Sel_Point.CenterX
           Road(i).FirstPointY = Sel_Point.CenterY
       Set Sel_Point = Form1.Map1.Layers("TC-B節點").Find.Search(s_point)
           Road(i).SecondPointX = Sel_Point.CenterX
           Road(i).SecondPointY = Sel_Point.CenterY
  Debug.Print Road(i).Firstpointx, Road(i).FirstPointY, Road(i).SecondPointX, Road(i).SecondPointY, "Road(i).Firstpointx, Road(i).FirstPointY, Road(i).SecondPointX, Road(i).SecondPointY"
       
       
       '判斷路段垂直,平行還是一般,求在該路段的投影點和路段的角度
       '(3)8 8 8
       If Road(i).Firstpointx = Road(i).SecondPointX Then
        Road(i).ThirdPointX = Road(i).Firstpointx
        Road(i).ThirdPointY = GpsY
        Road(i).Angle = 0
      
       ElseIf Road(i).FirstPointY = Road(i).SecondPointY Then
        Road(i).ThirdPointX = GpsX
        Road(i).ThirdPointY = Road(i).FirstPointY
        Road(i).Angle = 90
   
       ElseIf Road(i).SecondPointX > Road(i).Firstpointx And Road(i).SecondPointY > Road(i).FirstPointY Then
         m1 = (Road(i).SecondPointY - Road(i).FirstPointY) / (Road(i).SecondPointX - Road(i).Firstpointx)
         m2 = -1 / m1
         Road(i).ThirdPointX = (GpsY - Road(i).FirstPointY + m1 * Road(i).Firstpointx - m2 * GpsX) / (m1 - m2)
         Road(i).ThirdPointY = Road(i).FirstPointY + m1 * (Road(i).ThirdPointX - Road(i).Firstpointx)
         Road(i).Angle = 90 - Atn((Road(i).SecondPointY - Road(i).FirstPointY) / (Road(i).SecondPointX - Road(i).Firstpointx)) * 180 / 3.14159265358979
 
        ElseIf Road(i).SecondPointX > Road(i).Firstpointx And Road(i).SecondPointY < Road(i).FirstPointY Then
         m1 = (Road(i).SecondPointY - Road(i).FirstPointY) / (Road(i).SecondPointX - Road(i).Firstpointx)
         m2 = -1 / m1
        Road(i).ThirdPointX = (GpsY - Road(i).FirstPointY + m1 * Road(i).Firstpointx - m2 * GpsX) / (m1 - m2)
         Road(i).ThirdPointY = Road(i).FirstPointY + m1 * (Road(i).ThirdPointX - Road(i).Firstpointx)
        Road(i).Angle = 90 - Atn((Road(i).SecondPointY - Road(i).FirstPointY) / (Road(i).SecondPointX - Road(i).Firstpointx)) * 180 / 3.14159265358979
   
        ElseIf Road(i).SecondPointX < Road(i).Firstpointx And Road(i).SecondPointY < Road(i).FirstPointY Then
         m1 = (Road(i).SecondPointY - Road(i).FirstPointY) / (Road(i).SecondPointX - Road(i).Firstpointx)
         m2 = -1 / m1
         Road(i).ThirdPointX = (GpsY - Road(i).FirstPointY + m1 * Road(i).Firstpointx - m2 * GpsX) / (m1 - m2)
         Road(i).ThirdPointY = Road(i).FirstPointY + m1 * (Road(i).ThirdPointX - Road(i).Firstpointx)
        Road(i).Angle = 270 - Atn((Road(i).SecondPointY - Road(i).FirstPointY) / (Road(i).SecondPointX - Road(i).Firstpointx)) * 180 / 3.14159265358979

        ElseIf Road(i).SecondPointX < Road(i).Firstpointx And Road(i).SecondPointY > Road(i).FirstPointY Then
         m1 = (Road(i).SecondPointY - Road(i).FirstPointY) / (Road(i).SecondPointX - Road(i).Firstpointx)
         m2 = -1 / m1
         Road(i).ThirdPointX = (GpsY - Road(i).FirstPointY + m1 * Road(i).Firstpointx - m2 * GpsX) / (m1 - m2)
         Road(i).ThirdPointY = Road(i).FirstPointY + m1 * (Road(i).ThirdPointX - Road(i).Firstpointx)
        Road(i).Angle = 270 - Atn((Road(i).SecondPointY - Road(i).FirstPointY) / (Road(i).SecondPointX - Road(i).Firstpointx)) * 180 / 3.14159265358979
       End If
       
      '(3)8 8 8
       
       Debug.Print Road(i).Angle, "angle", Road(i).ThirdPointX, Road(i).ThirdPointY, "Road(i).ThirdPointX, Road(i).ThirdPointY"
       Debug.Print (Form1.Map1.Distance(Road(i).ThirdPointX, Road(i).ThirdPointY, Road(i).Firstpointx, Road(i).FirstPointY) + Form1.Map1.Distance(Road(i).ThirdPointX, Road(i).ThirdPointY, Road(i).SecondPointX, Road(i).SecondPointY)) - Form1.Map1.Distance(Road(i).Firstpointx, Road(i).FirstPointY, Road(i).SecondPointX, Road(i).SecondPointY)
       
       '判斷投影點在不在路段上,若不在就不選擇該路段
       '(3)(2)8 8 8 2
       If (Form1.Map1.Distance(Road(i).ThirdPointX, Road(i).ThirdPointY, Road(i).Firstpointx, Road(i).FirstPointY) + Form1.Map1.Distance(Road(i).ThirdPointX, Road(i).ThirdPointY, Road(i).SecondPointX, Road(i).SecondPointY)) - Form1.Map1.Distance(Road(i).Firstpointx, Road(i).FirstPointY, Road(i).SecondPointX, Road(i).SecondPointY) < small Then
         Road(i).D = Sqr((GpsX - Road(i).ThirdPointX) ^ 2 + (GpsY - Road(i).ThirdPointY) ^ 2)
       Else
         Road(i).D = 9998
       End If
      '(3)(2)8 8 8 2
      Debug.Print Road(i).D, "Road(i).D", i, "i"
       
       
       
       '(3)(3)8 8 8 3
       If N <> 1 Then
        '(4)8 8 8 8
        If Road(i).D <> 9998 Then
          '(5)8 8 8 8 8
          If LastGpsX <> 0 And LastGpsY <> 0 Then
            '(6)8 8 8 8 8 8
              If GpsY = LastGpsY And GpsX <> LastGpsX Then
                     agl = 90
              ElseIf GpsX = LastGpsX And GpsY <> LastGpsY Then
                 If Road(i).Angle > 90 And Road(i).Angle < 270 Then
                     agl = 180
                 ElseIf Road(i).Angle < 90 Then
                     agl = 0
                 ElseIf Road(i).Angle > 270 Then
                     agl = 360
                 End If
              Else
            '(7)8 8 8 8 8 8 8
                  If GpsY > LastGpsY And GpsX > LastGpsX Then
                      agl = 90 - Atn((LastGpsY - GpsY) / (LastGpsX - GpsX)) * 180 / 3.14159265358979
                  ElseIf GpsY < LastGpsY And GpsX < LastGpsX Then
                      agl = 270 - Atn((LastGpsY - GpsY) / (LastGpsX - GpsX)) * 180 / 3.14159265358979
                  ElseIf GpsY < LastGpsY And GpsX > LastGpsX Then
                      agl = 90 - Atn((LastGpsY - GpsY) / (LastGpsX - GpsX)) * 180 / 3.14159265358979
                  ElseIf GpsY > LastGpsY And GpsX < LastGpsX Then
                      agl = 270 - Atn((LastGpsY - GpsY) / (LastGpsX - GpsX)) * 180 / 3.14159265358979
                  End If
            '(7)8 8 8 8 8 8 8
             End If
            '(6)8 8 8 8 8 8
          End If
            Debug.Print agl, "agl", LastGpsX, LastGpsY, GpsX, GpsY
         '(5)8 8 8 8 8
            disagl = Abs(Road(i).Angle - agl)
            Debug.Print disagl, "disagl"
            '(5)8 8 8 8 8 2
            If disagl > 90 And disagl < 180 Then
              Road(i).DisAngle = 180 - disagl
            ElseIf disagl > 180 And disagl < 270 Then
              Road(i).DisAngle = disagl - 180
            ElseIf disagl > 270 Then
              Road(i).DisAngle = 360 - disagl
            Else
              Road(i).DisAngle = disagl
            End If
            '(5)8 8 8 8 8 2
           Debug.Print Road(i).DisAngle, AglMax, "Road(i).DisAngle, AglMax"
          End If
        '(4)8 8 8 8
        End If
        '(3)(3)8 8 8 3
        

 Debug.Print Road(i).D, "i", i
'直線段節點選取(直  直  直  直  直  直  直  直  直)     結束




'非直線段節點選取
  ElseIf Ct > 2 And Ct < 10 Then

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
九九国产精品视频| 色综合天天狠狠| av中文字幕一区| 在线电影院国产精品| 欧美国产精品一区二区| 亚洲成人在线观看视频| 国产精品 日产精品 欧美精品| 欧美午夜宅男影院| 中文字幕不卡一区| 精东粉嫩av免费一区二区三区| 日本高清免费不卡视频| 国产欧美日韩激情| 久热成人在线视频| 91精品在线免费| 亚洲欧美电影院| 成人性色生活片免费看爆迷你毛片| 69堂国产成人免费视频| 亚洲激情综合网| 99视频热这里只有精品免费| 久久精品无码一区二区三区| 免费成人在线网站| 日韩一区二区三| 亚洲午夜久久久久久久久电影网 | 丝袜亚洲另类欧美| 91首页免费视频| 中文字幕一区二区三区视频| 国产经典欧美精品| 国产午夜精品一区二区三区四区| 日韩不卡手机在线v区| 欧美日韩亚洲国产综合| 亚洲制服丝袜在线| 欧美午夜精品理论片a级按摩| 国产精品第13页| bt欧美亚洲午夜电影天堂| 欧美国产综合色视频| 久久99久久99小草精品免视看| 欧美视频精品在线| 亚洲 欧美综合在线网络| 色综合天天性综合| 亚洲视频一二三区| av不卡免费在线观看| 久久久国产精品午夜一区ai换脸| 国内一区二区在线| 欧美国产欧美综合| 99久久99久久综合| 亚洲影视在线观看| 7878成人国产在线观看| 毛片av一区二区| 337p粉嫩大胆色噜噜噜噜亚洲| 激情综合五月天| 国产香蕉久久精品综合网| 国产成人av电影在线| 成人欧美一区二区三区白人| 欧洲精品视频在线观看| 亚洲va在线va天堂| 337p日本欧洲亚洲大胆色噜噜| 国产精品亚洲第一| 亚洲精品高清视频在线观看| 色视频成人在线观看免| 日韩国产精品91| 久久精品欧美一区二区三区麻豆| www.日韩精品| 亚洲高清视频中文字幕| 日韩三级在线免费观看| 国产精品一区二区x88av| 亚洲精选在线视频| 欧美大片一区二区| 91在线精品一区二区三区| 天堂av在线一区| 中文字幕精品一区| 欧美日韩久久久| 国产成人av在线影院| 亚洲成人av资源| 欧美经典一区二区| 欧美日韩国产高清一区| 国产在线视视频有精品| 亚洲一区二区三区四区五区黄| 久久免费美女视频| 欧美军同video69gay| 福利一区二区在线| 美女免费视频一区二区| 日韩理论片中文av| 精品日产卡一卡二卡麻豆| 色综合天天综合| 国产精品一区二区黑丝| 视频一区在线播放| 亚洲欧美日韩在线不卡| 精品99久久久久久| 欧美日韩国产系列| 91一区二区在线观看| 国产精品一区二区三区99| 亚洲国产精品一区二区久久恐怖片| 欧美精品一区二区久久久| 欧洲视频一区二区| 91美女在线看| 国产成人一级电影| 久久精品国产精品亚洲红杏| 亚洲成人免费在线观看| 亚洲三级视频在线观看| 国产欧美一区二区精品性色超碰| 欧美一卡二卡在线观看| 欧美午夜片在线看| 91丨porny丨蝌蚪视频| 国产91精品久久久久久久网曝门| 日韩精品成人一区二区三区| 一区二区高清免费观看影视大全| 亚洲国产激情av| 欧美tickling挠脚心丨vk| 欧美理论在线播放| 欧美三日本三级三级在线播放| 99久久亚洲一区二区三区青草 | 日韩一区二区三区视频| 欧美精品粉嫩高潮一区二区| 91成人在线精品| 欧美在线不卡视频| 欧美在线播放高清精品| 欧美在线视频全部完| 欧美最新大片在线看| 欧美性欧美巨大黑白大战| 欧洲国内综合视频| 欧美日韩精品一区二区三区| 欧美日韩国产一二三| 欧美高清性hdvideosex| 欧美精品一卡二卡| 日韩一区二区在线观看视频| 日韩精品一区二区三区三区免费| 欧美一级在线观看| 日韩精品一区二区三区中文精品| 欧美成人伊人久久综合网| 欧美精品一区视频| 中文字幕乱码日本亚洲一区二区 | 制服丝袜日韩国产| 日韩区在线观看| 欧美精品一区二区三区蜜桃视频| 久久综合一区二区| 国产精品乱码一区二三区小蝌蚪| 国产精品国产三级国产普通话99 | 国产精品国产自产拍高清av| 亚洲日穴在线视频| 亚洲成人一区在线| 精品亚洲成av人在线观看| 国产福利一区二区| 91农村精品一区二区在线| 欧美日韩一区二区三区视频| 精品久久久久一区| 亚洲视频小说图片| 日本女人一区二区三区| 国产99久久久国产精品免费看| 色美美综合视频| 日韩午夜小视频| 亚洲欧美自拍偷拍| 日韩成人dvd| 成人av资源在线| 欧美精品三级在线观看| 久久精品一区二区三区不卡| 亚洲精品国久久99热| 麻豆一区二区99久久久久| www.性欧美| 欧美一区二区视频免费观看| 国产精品欧美一级免费| 日韩黄色免费电影| 91天堂素人约啪| 日韩午夜在线影院| 一区二区三区丝袜| 国产福利一区在线| 91精品国产综合久久久蜜臀图片| 国产日韩欧美一区二区三区乱码 | 午夜精品影院在线观看| 国产成人精品在线看| 欧美日韩国产成人在线免费| 国产日韩综合av| 日本强好片久久久久久aaa| 99在线精品一区二区三区| 欧美va亚洲va香蕉在线| 亚洲成人资源在线| 91麻豆国产福利在线观看| 久久久久99精品一区| 蜜臀av性久久久久av蜜臀妖精| 色综合咪咪久久| 国产精品午夜在线观看| 麻豆传媒一区二区三区| 欧美日韩一区二区在线观看视频| 国产精品电影一区二区三区| 国产一区二区久久| 日韩精品中文字幕一区| 日韩国产高清影视| 欧美美女一区二区| 一区二区三区日本| 91蜜桃网址入口| 国产精品美女久久久久aⅴ国产馆| 久久99精品久久久久久久久久久久| 欧美日韩成人高清| 一区二区免费在线播放| 色综合天天做天天爱| 国产精品久久久久久久久免费丝袜| 国产精品综合在线视频| 2020国产精品自拍| 国产露脸91国语对白| 国产日产欧美一区| 国产成人精品免费视频网站|