日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

让经纬度数据带矢量方向_惊艳!这样处理可得到细至可用于交通模型的路网数据...

發(fā)布時(shí)間:2023/12/15 99 豆豆
生活随笔 收集整理的這篇文章主要介紹了 让经纬度数据带矢量方向_惊艳!这样处理可得到细至可用于交通模型的路网数据... 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

【本期看點(diǎn)】

矢量路網(wǎng)數(shù)據(jù)哪里來(lái)? 對(duì)著衛(wèi)星圖一筆一劃描? 從AutoCAD轉(zhuǎn)換? 從OSM直接下載? 不,以上方法已經(jīng)OUT了, 不是效率低,就是誤差大,獲取局部道路數(shù)據(jù)勉強(qiáng)可行,但是要獲取大片區(qū)域的路網(wǎng)數(shù)據(jù)時(shí)就行不通了。

本教程將教你如何利用高德導(dǎo)航接口獲取城市矢量路網(wǎng)數(shù)據(jù),并剖析路段之間的空間拓?fù)潢P(guān)系,然后通過(guò)OGC空間算法批量處理該關(guān)系,最終得到詳細(xì)至可直接用于交通模型的路網(wǎng)數(shù)據(jù)。

? 本期投稿??

作者:許新昆北京交通大學(xué)
交通運(yùn)輸和計(jì)算機(jī)雙職稱工程師
上得了工地,下得了0/1
致力于用Coding讓交通更智能為什么寫這個(gè)教程如果你做城市規(guī)劃或者交通規(guī)劃,需要一個(gè)城市的交通路網(wǎng)矢量數(shù)據(jù);如果你做交通設(shè)計(jì)、交通仿真或者交通模型,那么不但需要路網(wǎng)矢量數(shù)據(jù),還需要確保道路的方向、連通性等拓?fù)鋯?wèn)題準(zhǔn)確無(wú)誤;如果你做交通評(píng)價(jià),還進(jìn)一步需要各路段的歷史和實(shí)時(shí)路況以及自由流車速。本教程將介紹在沒(méi)有任何數(shù)據(jù)的情況下,如何徒手獲得這些數(shù)據(jù)。常見(jiàn)的獲取道路矢量數(shù)據(jù)的方法有三種,一是在沒(méi)有任何數(shù)據(jù)的情況下直接對(duì)著衛(wèi)星圖把道路一條一條描出來(lái);二是基于已有的道路CAD數(shù)據(jù),逐條設(shè)置道路的方向和連通性;三是下載OSM等開(kāi)源地圖,同樣也得需要修復(fù)方向和連通性。以上三種方法,需要重復(fù)的人力勞動(dòng),不但效率低,正確率也難以保證。前段時(shí)間在做某地級(jí)市交通模型的時(shí)候,就有獲取整個(gè)城市路網(wǎng)的需求,于是花了不少時(shí)間仔細(xì)研究了高德官方免費(fèi)的導(dǎo)航接口(官網(wǎng)上叫做”路徑規(guī)劃”,由于”導(dǎo)航”叫法更通俗易懂,后文簡(jiǎn)稱”導(dǎo)航”)。高德官方只對(duì)接口返回規(guī)范做了解釋,對(duì)路段的空間關(guān)系并沒(méi)有任何說(shuō)明,事實(shí)上,接口返回的原始路網(wǎng)數(shù)據(jù)不但在連通性方面有一些問(wèn)題,而且在不同的時(shí)間用完全相同的參數(shù)調(diào)用接口,返回的路網(wǎng)坐標(biāo)(經(jīng)緯度)會(huì)稍有偏差,這些原因就導(dǎo)致路段連通性完全斷裂,無(wú)法建立理想的拓?fù)潢P(guān)系。如果你獲取了路網(wǎng)只是用來(lái)展示,那問(wèn)題不大,但是如果想直接導(dǎo)入交通仿真模型等軟件,那在連通性和拓?fù)湫苑矫婢蜁?huì)出大問(wèn)題。因此在獲得高德導(dǎo)航接口返回的原始路網(wǎng)數(shù)據(jù)之后,我們還需要進(jìn)行手動(dòng)加工,才能滿足交通模型對(duì)路網(wǎng)連通性和拓?fù)湫苑矫娴囊蟆Mㄟ^(guò)分析對(duì)比,我總結(jié)出一系列空間規(guī)則,并將這些抽象規(guī)則的識(shí)別和處理完全代碼化,最終解決以上所有問(wèn)題,得到幾乎完美的路網(wǎng)數(shù)據(jù)。得到的路網(wǎng)數(shù)據(jù)可以直接導(dǎo)入到交通模型中作為基礎(chǔ)路網(wǎng),極大地節(jié)約了構(gòu)建路網(wǎng)模型的時(shí)間,而且準(zhǔn)確率極高,時(shí)效性幾乎無(wú)敵。因此編寫本教程向大家分享接口背后”隱藏”的路段空間關(guān)系,以及如何識(shí)別和處理路段空間關(guān)系,以幫助大家獲取”完美”路網(wǎng)。Talking is Cheap,Show me the Code。本項(xiàng)目源代碼已在github上開(kāi)源。本教程包括以下幾個(gè)部分:1. 案例效果圖,先看看實(shí)際應(yīng)用場(chǎng)景和效果;2. 技術(shù)方案;3. 知識(shí)和軟件儲(chǔ)備;4. 詳細(xì)的操作實(shí)例;5.?源代碼技術(shù)架構(gòu)簡(jiǎn)介

1 案例效果圖

?案例1?來(lái)個(gè)我見(jiàn)過(guò)的最復(fù)雜的互通,北京西直門立交橋,因?yàn)槠浣煌ńM織過(guò)分復(fù)雜,被戲稱為”第九奇跡”。第一張圖是網(wǎng)絡(luò)地圖,第二張圖是處理完之后得到的道路矢量數(shù)據(jù),連通性和方向也已經(jīng)處理好,我在每條路段的終點(diǎn)畫(huà)一個(gè)紅色箭頭,用來(lái)示意路段的方向和拓?fù)潢P(guān)系。

PS:在這附近上學(xué)曾無(wú)數(shù)次迷路,

畢業(yè)后終于靠寫代碼把路給走通了。

?案例2?來(lái)個(gè)普通的十字信號(hào)交叉口。各方向均可通行,中間十字交叉的”四條線”代表四個(gè)進(jìn)口道的左轉(zhuǎn),眼睛看上去是兩條線,實(shí)際上是四條,一個(gè)箭頭代表一條線,一條線首尾都有箭頭是因?yàn)閮蓷l線完全重疊了,只不過(guò)他們的方向剛好相反。

?案例3?最后來(lái)個(gè)環(huán)島,這個(gè)很容易看懂,我就不多說(shuō)了.

?2?技術(shù)方案

本教程的技術(shù)方案簡(jiǎn)單來(lái)說(shuō)分為4個(gè)步驟:1. 在ArcMap中畫(huà)幾個(gè)OD點(diǎn)對(duì)(起點(diǎn)—終點(diǎn))作為導(dǎo)航的起終點(diǎn)。當(dāng)然你也可以用已有的帶經(jīng)緯度的POI自己去批量構(gòu)造OD點(diǎn)對(duì);?2. 用JAVA或PYTHON等語(yǔ)言反復(fù)調(diào)用高德導(dǎo)航接口,將接口返回的所有路段數(shù)據(jù)做連通性檢查和處理,并轉(zhuǎn)換為OGC標(biāo)準(zhǔn)格式(GeoJson、WKT等)后保存到空間數(shù)據(jù)庫(kù);3. 在空間數(shù)據(jù)庫(kù)中利用SQL和存儲(chǔ)過(guò)程對(duì)路段重復(fù)、方向、連通性等一些列問(wèn)題進(jìn)行識(shí)別和處理,需要用到OGC空間操作符(函數(shù));4. 導(dǎo)出處理好的路段數(shù)據(jù)為 .SHP格式,供其它軟件如TransCAD、EMME使用。

?

3 知識(shí)和軟件儲(chǔ)備

1 申請(qǐng)自己的高德路徑規(guī)劃API的key,大家可自行上官網(wǎng)申請(qǐng)。目前這個(gè)接口是免費(fèi)的,并且每天免費(fèi)調(diào)用次數(shù)相當(dāng)多;只要高德手機(jī)APP能夠?qū)Ш降降牡胤?#xff0c;就能用這個(gè)接口;高德路網(wǎng)更新很及時(shí),用這種方法得到的路網(wǎng)是最新數(shù)據(jù)。2 了解高德導(dǎo)航接口,即高德路徑規(guī)劃API的詳細(xì)規(guī)則,官網(wǎng)地址如下,只需看駕車路徑規(guī)劃部分:https://lbs.amap.com/api/webservice/guide/api/direction除了官網(wǎng)說(shuō)明,補(bǔ)充強(qiáng)調(diào)幾點(diǎn):
  • 一次導(dǎo)航可以得到多個(gè)方案,因?yàn)槟銖牡攸c(diǎn)A去地點(diǎn)B有很多種走法,殊途同歸,每種走法對(duì)應(yīng)一種方案;

  • 一個(gè)方案有多個(gè)step,比如從你家去單位,先上路A,走到頭了右拐進(jìn)入路B,再右拐進(jìn)入路C,右拐到D,最后發(fā)現(xiàn)今天沒(méi)上班右拐回了家。這里的ABCD就分別是一個(gè)step,每個(gè)step長(zhǎng)度為大幾十米到幾百米不等,路比較長(zhǎng)的時(shí)候一條路會(huì)有多個(gè)step,對(duì)于每一個(gè)step,高德給出如下信息:

ACTION:意思是在這條路的終點(diǎn)駕駛員要采取什么動(dòng)作;DISTANCE:這段step的長(zhǎng)度,單位是米;DURATION:駕車通過(guò)這段路的時(shí)間,單位是秒。應(yīng)該注意到,把DISTANCE除以DURATION就可以得到這段路的速度,這個(gè)很有用,可以寫代碼實(shí)現(xiàn)定時(shí)x分鐘爬取這條路,爬個(gè)一天的數(shù)據(jù)就可以知道這條路的什么時(shí)候堵,還可以計(jì)算它的自由流速度,有時(shí)間我再另講這個(gè),這里先不展開(kāi)講。ORIENTATION:道路方向;ROAD:道路名稱;POLYLINE:路段矢量數(shù)據(jù), 一條道路由多個(gè)經(jīng)緯度點(diǎn)構(gòu)成。
  • ?一個(gè)step又被拆成多個(gè)tmc,從坐標(biāo)上來(lái)看,多個(gè)tmc依次首尾相接完全相加等效于step,每段tmc長(zhǎng)度一般只有小幾十米,除了有以上字段外(沒(méi)有給出DURATION),tmc還多了一個(gè)STATUS信息,即路段擁堵信息,取值為:暢通、緩行、擁堵、未知。本教程構(gòu)建路網(wǎng)模型只用到tmc路段。

3 安裝ArcMap軟件,用于描點(diǎn)以及路段的展示;?4 會(huì)用Java或者Python等語(yǔ)言進(jìn)行批量接口調(diào)用,并保存路段數(shù)據(jù)至空間數(shù)據(jù)庫(kù);?5 安裝空間數(shù)據(jù)庫(kù),如Oracle、PostSQL、Mysql等,用來(lái)保存路段數(shù)據(jù),并進(jìn)行后期處理。6 對(duì)空間數(shù)據(jù)OGC規(guī)范及空間關(guān)系判斷與操作有一定了解,相關(guān)標(biāo)準(zhǔn)可參考:http://www.gismanual.com/relational/99-049_OpenGIS_Simple_Features_Specification_For_SQL_Rev_1.1.pdf

4 操作實(shí)例

為方便大家理解,我以福州市某信號(hào)交叉口(高德經(jīng)緯度為:119.25,26.05)為例,教大家如何一步一步操作,得到最后想要的數(shù)據(jù)。本實(shí)例開(kāi)發(fā)語(yǔ)言為Java,數(shù)據(jù)庫(kù)用Oracle。當(dāng)然你也可以選擇其他語(yǔ)言或數(shù)據(jù)庫(kù),不管用哪種語(yǔ)言,業(yè)務(wù)邏輯和數(shù)據(jù)規(guī)則都是一樣的,因此下文會(huì)著重講解方法和思路,而不是具體的語(yǔ)法。對(duì)語(yǔ)法感興趣的,可以直接讀源代碼。

1?構(gòu)造OD點(diǎn)對(duì)?

1.1?描點(diǎn)

如圖,在ArcMap中新建點(diǎn)圖層,并添加軟件自帶底圖(ArcGIS底圖默認(rèn)為高德坐標(biāo)系)。然后參照底圖在道路四個(gè)進(jìn)口道上分別描兩個(gè)點(diǎn)(圖上為紅色的×),馬路兩邊是分開(kāi)的,因此一邊描一個(gè),共8個(gè)點(diǎn)。

1.2?生成起終點(diǎn)坐標(biāo)

將點(diǎn)圖層導(dǎo)入到空間數(shù)據(jù)庫(kù),提取這8個(gè)點(diǎn)的坐標(biāo),將其排列組合得到共計(jì)A(8,2)=56組OD點(diǎn)對(duì),用于下一步的導(dǎo)航,部分OD點(diǎn)對(duì)如下圖。

2?建立空間表?

在空間數(shù)據(jù)庫(kù)中新建表,用于保存道路數(shù)據(jù),表字段及各字段存儲(chǔ)內(nèi)容參考如下:

其中,polyline 即路段矢量數(shù)據(jù)是我們最關(guān)心的,在Oracle中默認(rèn)字段類型為SDO_GEOMETRY,在PostSQL中默認(rèn)字段為Geometry,切記為該字段建立空間索引,因?yàn)楹笃谏婕暗酱罅繌?fù)雜的空間數(shù)據(jù)處理,有索引跟沒(méi)索引情況下的計(jì)算時(shí)間會(huì)差上百倍!?

?3?調(diào)用路徑導(dǎo)航接口?

3.1 發(fā)送請(qǐng)求

根據(jù)高德路徑規(guī)劃的接口規(guī)則,結(jié)合上述OD點(diǎn)對(duì)坐標(biāo),構(gòu)造56次導(dǎo)航請(qǐng)求參數(shù),依次調(diào)用高德路徑規(guī)劃API接口,API參數(shù)可參考下圖。

3.2?保存路段數(shù)據(jù)

將接口返回的路段經(jīng)緯度信息轉(zhuǎn)換為GeoJson或WKT等標(biāo)準(zhǔn)空間數(shù)據(jù)格式(具體轉(zhuǎn)換成哪種格式取決于你的數(shù)據(jù)庫(kù)類型),并與道路名稱、路況等其它字段一起保存至數(shù)據(jù)庫(kù),共計(jì)約1000條記錄(路段),展示其中一條tmc記錄如下圖。

有兩點(diǎn)需要注意:1 由于我們選取的起點(diǎn)或者終點(diǎn)不能完全落在高德的路網(wǎng)上(而是落在某條路的附近),因此必須忽略(即不保存)每個(gè)路徑規(guī)劃方案中的第一個(gè)tmc和最后一個(gè)tmc(什么是tmc請(qǐng)查看前文),否則在后面的拓?fù)潢P(guān)系處理中會(huì)出現(xiàn)瑕疵。當(dāng)然了,如果你只做路網(wǎng)展示,不要求路網(wǎng)的連通性100%正確,這一步可以無(wú)視。2 在絕大多數(shù)情況下,該接口返回的多個(gè)tmc路段是頭尾連續(xù)的,但是在信號(hào)交叉口左轉(zhuǎn)、調(diào)頭以及一些匝道出入口等交通組織較為復(fù)雜的情況下,路段不連續(xù),為嚴(yán)格保證路段連通性,需要寫代碼及時(shí)判斷并自動(dòng)補(bǔ)線,即在斷開(kāi)的地方補(bǔ)上一條直線。下圖以交叉口左轉(zhuǎn)為例做個(gè)對(duì)比,“補(bǔ)線前”是默認(rèn)路段數(shù)據(jù),“補(bǔ)線后”是利用代碼修復(fù)連通性后的路段數(shù)據(jù)。在這個(gè)例子中,補(bǔ)的線用來(lái)給車輛左轉(zhuǎn)。

?4 處理路段數(shù)據(jù)?

從上面步驟可知,導(dǎo)航了56次就產(chǎn)生了約1000條路段,這么小一個(gè)交叉口為什么有會(huì)這么多路段!? 我們先回頭數(shù)一下上面”補(bǔ)線后”這張圖,里面一共還不到20個(gè)箭頭,對(duì)應(yīng)只有約20條路段,也就是說(shuō)1000條路段里面只有20條是最終我們想要的。想要編程篩選出這20條路段,需要對(duì)這1000條路段之間的空間關(guān)系規(guī)則有深刻理解,高德API官網(wǎng)沒(méi)有對(duì)這種抽象的規(guī)則進(jìn)行任何解釋,我花了整整兩個(gè)星期時(shí)間才厘清其中的規(guī)律,并編程實(shí)現(xiàn)了路段的批量識(shí)別和處理,這種關(guān)系規(guī)則比較抽象,很難光靠文字說(shuō)清,我在下文盡量講的通俗易懂。簡(jiǎn)單來(lái)說(shuō),就是對(duì)空間表做笛卡爾乘積,比較兩輛路段之間的空間關(guān)系,并進(jìn)行相應(yīng)處理。需要處理的關(guān)系主要包括 刪除重復(fù)道路、處理道路覆蓋、增加交叉口調(diào)頭、糾正路段起終點(diǎn)、刪除偽節(jié)點(diǎn)這5種,下面逐一講解。

4.1 刪除重復(fù)道路

這點(diǎn)很容易想到,1000條路段里面肯定有很多是重復(fù)的。問(wèn)題是怎么篩選并刪掉重復(fù)的路段?處理方法:利用OGC規(guī)范的EQUALS操作符判斷兩兩路段是否相同(路段由多個(gè)經(jīng)緯度點(diǎn)構(gòu)成,兩路段的所有經(jīng)緯度點(diǎn)都相同才滿足EQUALS關(guān)系)。另外,EQUALS操作符不會(huì)對(duì)路段的方向進(jìn)行判斷,因此需要額外判斷路段的起終點(diǎn)也分別相同,即判斷條件有三個(gè):a 路段1和路段2滿足EQUALS關(guān)系;b 路段1的起點(diǎn)和路段2的起點(diǎn)相同;c 路段1的終點(diǎn)和路段2的終點(diǎn)相同;處理效率方面:對(duì)1000條路段進(jìn)行去重操作,執(zhí)行時(shí)間不到1秒,另外,我之前對(duì)400多萬(wàn)記錄(路段)的表進(jìn)行該操作,執(zhí)行時(shí)間也不到10秒。再?gòu)?qiáng)調(diào)一次,一定要對(duì)空間字段建立索引,不然等到天黑都跑不出結(jié)果。

4.2?處理道路覆蓋

一條較長(zhǎng)的路完全覆蓋了一條較短的路,注意是完全覆蓋,而不是部分覆蓋,這種關(guān)系可用OGC規(guī)范的COVERS操作符進(jìn)行判斷。對(duì)于滿足COVERS關(guān)系的兩條路,將長(zhǎng)的一條更新為長(zhǎng)的比短的多的那部分,短的那條則不變,最后留下的還是兩條路段,只不過(guò)長(zhǎng)的那條變短了,將它稱之為”裁剪路段”,示意圖如下。

4.3 增加交叉口調(diào)頭

對(duì)于上一步中產(chǎn)生的”裁剪路段”,將其復(fù)制后反轉(zhuǎn),作為交叉口調(diào)頭車道,如下圖所示,新增的調(diào)頭車道a供路段1上的車輛調(diào)頭行駛到路段2。同理,對(duì)交叉口的每個(gè)進(jìn)口道做同樣處理。如果你的路網(wǎng)模型不考慮車輛調(diào)頭,可以忽略該步驟。

4.4?糾正路段起終點(diǎn)

為什么要進(jìn)行起終點(diǎn)糾正? 舉例說(shuō)明:路口由西向東的右轉(zhuǎn)車道并入直行車道,照理說(shuō)只有一個(gè)匯合點(diǎn),但是把匯合點(diǎn)放大后發(fā)現(xiàn),有兩個(gè)匯合點(diǎn),并且這兩個(gè)匯合點(diǎn)相距只有0.3米;而且路網(wǎng)存在偏移重復(fù),即遠(yuǎn)遠(yuǎn)看上去只有一條路,放大了看其實(shí)有兩條,他們位置有一些偏移,不滿足完全重復(fù)關(guān)系。

高德官網(wǎng)對(duì)這個(gè)問(wèn)題的產(chǎn)生原因表述如下:“由于道路/數(shù)據(jù)/算法的變更,很可能存在間隔一段時(shí)間后請(qǐng)求相同起終點(diǎn)的經(jīng)緯度返回不同結(jié)果。”補(bǔ)充一下,不是”很可能”,而是”大多數(shù)時(shí)候如此”。也就是說(shuō),相同的一條路段,你在不同時(shí)間調(diào)用會(huì)得到不同的坐標(biāo),雖然肉眼來(lái)看它們挨得很近,但是對(duì)于計(jì)算機(jī)來(lái)說(shuō),別說(shuō)1米,就算只差1毫米,那都算不同的兩條路。通過(guò)大量觀察,這種在現(xiàn)實(shí)世界中是同一條路但是坐標(biāo)不同的兩個(gè)路段,其路段起點(diǎn)(終點(diǎn))相差不超過(guò)1米,因此處理邏輯如下:a 以某路段1的起點(diǎn)為基準(zhǔn),找到距離它小于1米的其它路段2、3、4...的起點(diǎn),將路段2、3、4...的起點(diǎn)坐標(biāo)更新為基準(zhǔn)點(diǎn)坐標(biāo);b 把上一步的起點(diǎn)全部換成終點(diǎn),然后執(zhí)行相同的操作;c?以上兩步操作會(huì)產(chǎn)生重復(fù)路段,需再次刪除重復(fù)道路處理后效果圖如下,可以看到,偏移路段消失了,只留下唯一版本的路段。

4.5?刪除偽結(jié)點(diǎn)

先用一張圖示意什么是偽節(jié)點(diǎn),如下圖所示,每條路段的終端用箭頭表示,假設(shè)車輛行駛至路段a的終點(diǎn)處(結(jié)點(diǎn)1)產(chǎn)生了分叉,在該點(diǎn)可以直行進(jìn)入路段b,也可以右轉(zhuǎn)進(jìn)入路段c,在該結(jié)點(diǎn)存在多余兩條的路段(此處是3條),因此該結(jié)點(diǎn)不是偽節(jié)點(diǎn);?加入車輛右轉(zhuǎn)進(jìn)入路段c,并行駛到了路段c的終點(diǎn)(節(jié)點(diǎn)2),?在節(jié)點(diǎn)2有分叉么? 沒(méi)有,只能繼續(xù)行駛到路段d,也就是說(shuō)該節(jié)點(diǎn)處只有兩條路段,并不會(huì)產(chǎn)生分叉,這種節(jié)點(diǎn)就叫做偽節(jié)點(diǎn)。

偽節(jié)點(diǎn)的存在有意義嗎? 沒(méi)意義,而且很多交通模型、仿真軟件(如TransCAD、EMME)對(duì)導(dǎo)入路網(wǎng)的節(jié)點(diǎn)數(shù)量有限制,偽節(jié)點(diǎn)過(guò)多不但造成資源浪費(fèi),還徒增后期的交通模型的計(jì)算量,因此最好在構(gòu)建路網(wǎng)初期就將其刪除。如何識(shí)別并刪除偽節(jié)點(diǎn):刪除偽節(jié)點(diǎn)2也即合并路段c和路段d,產(chǎn)生一個(gè)新的路段e。路段c與路段d的關(guān)系滿足:1 兩者關(guān)系符合OGC規(guī)范的TOUCH關(guān)系;2 c的終點(diǎn)和d的起點(diǎn)重合;3 在該節(jié)點(diǎn)處只存在兩條路段講到這里順便提以下ArcGIS的自帶的拓?fù)涮幚砉ぞ?#xff0c;該工具可以刪除單向路段上的偽節(jié)點(diǎn),但是在雙向路段上該工具失效,所以我自己寫了刪除偽節(jié)點(diǎn)(合并路段)的存儲(chǔ)過(guò)程,對(duì)單向和雙向道路都適用。

4.6 導(dǎo)出空間數(shù)據(jù)

從空間數(shù)據(jù)庫(kù)中導(dǎo)出空間表,保存成 .SHP 數(shù)據(jù),畢竟幾乎所有交通軟件都支持這種數(shù)據(jù)標(biāo)準(zhǔn)。

5 項(xiàng)目源代碼

技術(shù)架構(gòu)簡(jiǎn)介:本項(xiàng)目編程實(shí)現(xiàn)分為JAVA和ORACLE兩部分。
  • JAVA部分:

JAVA用于爬取高德路徑規(guī)劃接口,進(jìn)行簡(jiǎn)單連通性處理,并保存路段數(shù)據(jù)至空間數(shù)據(jù)庫(kù)。持久化框架:hibernate。使用hibernate中間件進(jìn)行空間路段數(shù)據(jù)存儲(chǔ),實(shí)現(xiàn)編程和空間數(shù)據(jù)庫(kù)軟件的分離,即不需要修改源代碼,只需修改一兩行數(shù)據(jù)庫(kù)的配置信息,即可和你的數(shù)據(jù)庫(kù)(非Oracle,如PostSQL或MySQL)無(wú)縫銜接。項(xiàng)目構(gòu)建工具:maven空間數(shù)據(jù)工具包:JTS
  • Oracle部分:

Oracle空間數(shù)據(jù)庫(kù)用于存儲(chǔ)路段數(shù)據(jù),并對(duì)路段進(jìn)行方向、連通性等拓?fù)涮幚?#xff0c;包括SQL語(yǔ)句,以及存儲(chǔ)過(guò)程。版本:oracle 11.2,更高版本也支持(Oracle XE除外)。空間字段格式:SDO_GEOMETRYTalking is Cheap,Show me the Code。本項(xiàng)目源代碼已在github上開(kāi)源。有任何問(wèn)題歡迎交流。本人微信:xuxinkun0591郵箱:xuxinkun@189.cn

“交通科研Lab”:分享學(xué)習(xí)點(diǎn)滴,期待科研交流!

如果覺(jué)得還不錯(cuò)

點(diǎn)這里???

總結(jié)

以上是生活随笔為你收集整理的让经纬度数据带矢量方向_惊艳!这样处理可得到细至可用于交通模型的路网数据...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。