亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ArcGIS的公路里程樁樁號(hào)推算方法實(shí)現(xiàn)

        2019-08-06 12:59:50付開(kāi)宇
        昭通學(xué)院學(xué)報(bào) 2019年2期
        關(guān)鍵詞:起點(diǎn)里程投影

        付開(kāi)宇, 李 兵, 劉 云

        (云南省地圖院 地理國(guó)情分院,云南 昆明 650034)

        根據(jù)交通部下發(fā)的交通運(yùn)輸部關(guān)于開(kāi)展國(guó)家公路網(wǎng)命名編號(hào)調(diào)整工作的通知(交公路法[2018]27號(hào)),各省要統(tǒng)一和規(guī)范國(guó)家公路路線命名和編號(hào)。由于公路建設(shè)的發(fā)展,公路維護(hù)、改道等原因,使得部分公路的公路里程發(fā)生了改變,需要對(duì)公路的里程進(jìn)行重新確認(rèn),同時(shí)對(duì)路上的一些交通標(biāo)志設(shè)施(里程樁,里程牌等)的位置重新定位。過(guò)去在進(jìn)行里程樁定位推算的時(shí)候,需要外業(yè)人員進(jìn)行測(cè)量放樣。以一個(gè)整樁號(hào)的里程樁作為起始點(diǎn),再用測(cè)量工具根據(jù)推算距離量測(cè)到下一個(gè)樁的位置,這樣施工需要花費(fèi)大量的人力物力,效率和準(zhǔn)確性都不是太高。公路里程樁是一種科學(xué)有效的公路定位手段,對(duì)駕駛員定位,交通事故救援,路面維護(hù)等具有非常重要的意義。本文旨在提出一種能高效準(zhǔn)確地確定里程樁位置的方法。

        一、線性參考系統(tǒng)

        在傳統(tǒng)的地理信息系統(tǒng)中,線性要素一般被抽象為一系列的有序點(diǎn)集合,通過(guò)這種方式可以快速定位線性要素上某個(gè)節(jié)點(diǎn)的位置。但是在實(shí)際生活當(dāng)中,如公路、鐵路、河流、地下管道等,我們往往是利用沿線距離來(lái)定位某個(gè)離散點(diǎn)的位置,這些沿線距離通常是用線性物體自身的測(cè)量值來(lái)表達(dá)。但線性物體是不規(guī)則的曲線,如果沿線的相對(duì)距離用各節(jié)點(diǎn)間的直線距離進(jìn)行累加,不僅繁瑣,而且還會(huì)出現(xiàn)累積誤差。因此,如果能建立一套線性參考系統(tǒng),就能將線性要素作為一個(gè)整體進(jìn)行操作,線上點(diǎn)位置的描述就可以從平面的x,y值轉(zhuǎn)換為沿線距離。

        1 線性參考(Linear Reference)

        線性參考(Linear Reference)是一種利用沿著可測(cè)量的線性要素的相對(duì)位置來(lái)存儲(chǔ)地理位置的方法,即利用距離來(lái)確定沿線位置。在交通行業(yè)中對(duì)道路位置信息的記錄并不是使用實(shí)際的地理坐標(biāo),而是利用道路里程。通過(guò)給道路建立線性參考系統(tǒng),就能準(zhǔn)確地推算出里程樁的位置。

        在ArcGIS Desktop中,可以利用它提供的線性參考工具箱(Linear Reference)中的創(chuàng)建路徑(Create Routes)工具給線性數(shù)據(jù)添加線性參考,添加完畢后的線性數(shù)據(jù)就變成了帶有m值的路徑。

        2 路徑

        路徑是一個(gè)線性特征,并有與其幾何特征存儲(chǔ)在一起的線性測(cè)量系統(tǒng)。在ArcGIS的GeodataBase數(shù)據(jù)模型中,把路徑看成是折線要素類(lèi)。路徑要素類(lèi)的幾何值包含x,y和m值。x值和y值確定線性要素在坐標(biāo)系中的位置;m值與路徑的線性測(cè)量系統(tǒng)有關(guān),在交通行業(yè)中一般用道路的長(zhǎng)度(里程)來(lái)表示。

        二、方法實(shí)現(xiàn)

        數(shù)據(jù)是整個(gè)方法實(shí)施的基礎(chǔ),精確的數(shù)據(jù)才能得到精確的結(jié)果。首先根據(jù)道路所在帶號(hào)對(duì)路網(wǎng)數(shù)據(jù)進(jìn)行投影轉(zhuǎn)換;然后用創(chuàng)建路徑工具對(duì)投影轉(zhuǎn)換后的數(shù)據(jù)添加線性參考系統(tǒng),確定路網(wǎng)的方向,選擇投影距離作為測(cè)量值,這樣就生成了帶m值的數(shù)據(jù);最后根據(jù)里程樁樁號(hào)的計(jì)算規(guī)則進(jìn)行推算(本文基于ArcObjects開(kāi)發(fā)了樁號(hào)推算工具,利用推算工具進(jìn)行計(jì)算),得到里程樁位置。

        1 數(shù)據(jù)處理流程

        a)根據(jù)公路所在帶號(hào)進(jìn)行投影轉(zhuǎn)換,如果公路出現(xiàn)跨帶的情況,可以根據(jù)帶號(hào)把路網(wǎng)截?cái)?,公路的長(zhǎng)度為投影的長(zhǎng)度。

        b)用ArcGIS的創(chuàng)建路徑工具(Create Routes)給公路數(shù)據(jù)添加線性參考系統(tǒng),用投影距離作為測(cè)量值。

        c)根據(jù)里程樁樁號(hào)的推算規(guī)則,使用處理好的數(shù)據(jù)進(jìn)行推算,利用ArcObjects開(kāi)發(fā)的工具進(jìn)行操作。

        d)導(dǎo)出推算后的里程樁數(shù)據(jù)。

        圖1 數(shù)據(jù)處理流程

        2 里程樁樁號(hào)推算工具

        基于ArcObjects開(kāi)發(fā)樁號(hào)推算工具,可以利用帶有m值的路網(wǎng)數(shù)據(jù)進(jìn)行里程樁樁號(hào)推算。ArcObjects提供了一個(gè)重要的接口IMSegmentation,這個(gè)接口可以對(duì)有線性參考系統(tǒng)的Polyline和Polygon進(jìn)行操作。該接口提供了GetPointsAtM方法,通過(guò)此方法可以獲取的線上任意m值所在的點(diǎn)位,這樣通過(guò)m值(里程值)就可以得到任意點(diǎn)的坐標(biāo)位置。

        下面結(jié)合圖2-2和圖2-3說(shuō)明一下里程樁號(hào)推算算法步驟:

        (1)導(dǎo)入帶有m值的路網(wǎng)數(shù)據(jù);

        (2)確認(rèn)起算點(diǎn),直接從路徑的起點(diǎn)開(kāi)始,推算到整條路的終點(diǎn);

        (3)輸入起點(diǎn)樁號(hào),并檢查輸入的樁號(hào)是否符合規(guī)范,并計(jì)算初始距離。如K1或者K1+200,否則輸入內(nèi)容不符合規(guī)范。K1表示起點(diǎn)樁是K1,初始距離為0米;K1+200,表示起點(diǎn)樁是K1,初始距離為200米;

        (4)輸入每個(gè)里程樁之間的距離,默認(rèn)1 000米;

        (5)利用這條公路的總里程和每個(gè)里程樁之間的距離計(jì)算出總路樁數(shù);再用路樁總數(shù)循環(huán)計(jì)算出每個(gè)路樁的位置(通過(guò)GetPointsAtM方法獲取每個(gè)點(diǎn)的位置)。如果起點(diǎn)是整樁號(hào)的話,比如起點(diǎn)樁號(hào)是K1,則第一個(gè)樁就在距離K1樁1 000m處,第二個(gè)樁就在距離K1樁2 000m處;如果起點(diǎn)是非整樁號(hào)的話,比如起點(diǎn)樁號(hào)是K1+200,則第一個(gè)樁就在距離K1+200樁800m處,第二個(gè)樁就在距離K1+200樁180 0m處,其實(shí)距離K1樁還是1 000m和2 000m,以此類(lèi)推,就可以得到所有的整樁號(hào)里程樁的位置(除去起點(diǎn)),并把結(jié)果保存到集合中;最后把起點(diǎn)和終點(diǎn)分別加入到集合的首部和尾部,再根據(jù)樁號(hào)的命名規(guī)則,從起點(diǎn)樁號(hào)開(kāi)始計(jì)算,最終得出所有里程樁的具體位置和樁號(hào)。下面附上計(jì)算里程樁位置的關(guān)鍵代碼:

        IMSegmentation segmentation = polyline as IMSegmentation;

        IList points= new List();

        var counter = (int)(segmentation.MMax - segmentation.MMin) / splitDistance;

        for (int i = 0; i < counter; i++)

        {

        var distance = (i + 1) * splitDistance-startDistance;

        distance += segmentation.MMin;

        var find = segmentation.GetPointsAtM(distance, 0);

        points.Add(find);

        }

        這里的segmentation就是我們要進(jìn)行推算的路徑;points是找到的樁號(hào)點(diǎn)集合;splitDistance是每個(gè)樁之間的間距(默認(rèn)1 000米);startDistance是通過(guò)樁號(hào)得到的初始距離,例如K1則startDistance等于0,K1+200則startDistance等于200;用總里程和間距得到要推算的樁的數(shù)量counter;通過(guò)循環(huán)利用GetPointsAtM方法即可推出該路徑上的所有里程樁位置。計(jì)算完樁號(hào)位置后,把數(shù)據(jù)保存到shapefile文件中,同時(shí)計(jì)算樁號(hào)。

        IFeatureCursor featureCursorInsert = _tempFeatureClass.Insert(true);

        for (int i = 0; i < points.Count; i++)

        {

        var point = points[i];

        if (i == 0)

        {

        featureBuffer.Value[featureBuffer.Fields.FindField("MileageName")]= startMileage;

        }

        else if ((i == points.Count - 1)&&(points.Count>2))

        {

        featureBuffer.Value[featureBuffer.Fields.FindField("MileageName")] =

        $"K{mileageNum}+”+ (int)(point.M - points[points.Count - 2].M);

        }

        else

        {

        featureBuffer.Value[featureBuffer.Fields.FindField("MileageName")]= $"K{++mileageNum}";

        }

        featureBuffer.Shape = point;

        featureCursorInsert.InsertFeature(featureBuffer);

        }

        這里的points就是加入起點(diǎn)和終點(diǎn)后的所有里程樁點(diǎn)位的集合;startMileage為起點(diǎn)樁號(hào),例如K1;mileageNum是K后面的數(shù)字,例如K1就是1。第一個(gè)判斷是計(jì)算起點(diǎn)樁號(hào);第二個(gè)判斷是計(jì)算終點(diǎn)樁號(hào),終點(diǎn)有可能不是整樁號(hào),其樁號(hào)為倒數(shù)第二個(gè)點(diǎn)的樁號(hào)+剩余距離,例如K125+400;最后一步則是計(jì)算其余整樁的樁號(hào)。

        (6)導(dǎo)出里程樁數(shù)據(jù)。

        圖2 里程樁位置推算流程

        圖3 里程樁樁號(hào)推算流程

        圖4 樁號(hào)推算工具

        三、實(shí)測(cè)比較

        根據(jù)推算結(jié)果,進(jìn)行了某條路的實(shí)測(cè)數(shù)據(jù)和推算數(shù)據(jù)對(duì)比,外業(yè)采集了大約60個(gè)點(diǎn)的數(shù)據(jù)。如圖5所示,圖中綠色圓點(diǎn)為推算數(shù)據(jù),紅色三角為外業(yè)GPS實(shí)測(cè)點(diǎn)。在圖上可以看到推算結(jié)果和實(shí)測(cè)結(jié)果很接近,通過(guò)在ArcGIS中進(jìn)行計(jì)算,實(shí)測(cè)點(diǎn)和推算點(diǎn)之間大概相差20米左右,如圖6所示。

        圖5 推算結(jié)果和實(shí)際測(cè)量結(jié)果對(duì)比

        圖6 推算和實(shí)測(cè)局部比較

        利用實(shí)測(cè)點(diǎn)和推算點(diǎn)對(duì)路線進(jìn)行切割處理后,對(duì)比圖7和圖8可以看到推算出來(lái)的數(shù)據(jù)每個(gè)點(diǎn)之間的距離基本一致,而實(shí)測(cè)點(diǎn)之間的距離則存在著10-50米的偏差。利用ArcGIS進(jìn)行統(tǒng)計(jì),可以得到進(jìn)一步的統(tǒng)計(jì)信息。通過(guò)對(duì)比圖9和圖10可以看到,二者在平均值上幾乎都等于1000米;在最大值和最小值的差值上,實(shí)測(cè)結(jié)果相差了120米,而推算結(jié)果不到1米;實(shí)測(cè)結(jié)果的標(biāo)準(zhǔn)差為35.34,推算結(jié)果的標(biāo)準(zhǔn)差為0.11;在頻數(shù)分布圖上可以看到,推算方法的分布圖比實(shí)測(cè)的更為集中。通過(guò)統(tǒng)計(jì)對(duì)比,可以得知利用該方法處理得到的里程樁位置精度有了明顯的提升。

        圖7 推算點(diǎn)之間的距離

        圖8 實(shí)測(cè)點(diǎn)之間的距離

        圖9 推算點(diǎn)統(tǒng)計(jì)信息

        圖10 實(shí)測(cè)點(diǎn)統(tǒng)計(jì)信息

        四、小結(jié)

        在公路系統(tǒng)中,里程樁是一項(xiàng)重要定位參照物,它能幫助人們迅速定位在公路上的位置。本文提出的這種方法能快速準(zhǔn)確的計(jì)算出里程樁的位置,提高數(shù)據(jù)生產(chǎn)效率,降低作業(yè)成本。但是該方法也有不足之處,由于在計(jì)算距離的時(shí)候使用的投影距離,因此在坡度較大的地方,道路投影下來(lái)的里程會(huì)比實(shí)際里程短,所以在這些情況下的計(jì)算要還結(jié)合實(shí)際的情況和相關(guān)指標(biāo)進(jìn)行調(diào)整。數(shù)據(jù)生產(chǎn)完成后,我們可以借助WebGIS技術(shù)實(shí)現(xiàn)電子化的施工管理,施工人員利用移動(dòng)設(shè)備,根據(jù)坐標(biāo)快速找到施工點(diǎn)位,完成里程樁的布設(shè),管理人員也可以通過(guò)電子地圖實(shí)時(shí)了解到施工進(jìn)展。目前該方法已經(jīng)廣泛運(yùn)用到云南省高速公路和國(guó)省道的里程樁施工中,極大地提高了工作效率。

        猜你喜歡
        起點(diǎn)里程投影
        解變分不等式的一種二次投影算法
        基于最大相關(guān)熵的簇稀疏仿射投影算法
        找投影
        找投影
        弄清楚“起點(diǎn)”前面有多少
        起點(diǎn)
        騰勢(shì)400 用在上海市區(qū)的來(lái)回穿梭克服里程焦慮
        車(chē)迷(2017年12期)2018-01-18 02:16:12
        我的“新”起點(diǎn)
        幸福合力 開(kāi)啟幸福里程
        幸福合力 開(kāi)啟幸福里程
        亚洲最大av免费观看| 亚洲av午夜国产精品无码中文字| 国产超碰人人模人人爽人人喊| 亚洲中文字幕无码久久2018| 国产裸体xxxx视频在线播放| 人禽伦免费交视频播放| 亚洲精品久久久久高潮| 国产一区二区牛影视| 国产一区二区免费在线观看视频| 亚洲av成熟国产精品一区二区| 丝袜美腿福利视频在线| 亚洲黄色天堂网站在线观看禁18| а√中文在线资源库| 精品淑女少妇av久久免费| 亚洲AV无码专区一级婬片毛片| 综合激情中文字幕一区二区| 久久久精品人妻一区二区三区妖精 | 日韩一级精品视频免费在线看| 乱中年女人伦| 永久黄网站色视频免费| 日本一区二区在线资源| 国产激情视频在线观看首页| 夫妻免费无码v看片| 色拍自拍亚洲综合图区| 中文字幕亚洲乱码熟女在线萌芽| 国产精品乱一区二区三区| 91桃色在线播放国产| 中文字日产幕码三区国产| 性刺激的大陆三级视频| 国产成人午夜精华液| 亚色中文字幕| 漂亮人妻被强中文字幕乱码| 精品午夜福利在线观看| 亚洲一区av无码少妇电影| 无码国产精品一区二区免费网曝| 一区二区在线观看日本免费| 日本熟女中文字幕在线| 国产一区二区三精品久久久无广告| 精品久久久久久久久午夜福利| 亚洲综合网站精品一区二区| 国产一区二区三区免费av|