專利名稱:區(qū)域性城市公交車輛運行信息的索引查詢系統(tǒng)及方法
區(qū)域性城市公交車輛運行信息的索引查詢系統(tǒng)及方法技術領域
本發(fā)明屬于智能交通技術領域,特別涉及一種區(qū)域性城市公共交通車輛運行信息的索引查詢系統(tǒng)及方法。
背景技術:
智能交通(ITS)技術的飛速發(fā)展,使得伴隨產(chǎn)生的公交數(shù)據(jù)量巨大且增長速度很快,并且在時間上不能保證連續(xù)性、在空間方面數(shù)據(jù)散亂分布,如果使用傳統(tǒng)的數(shù)據(jù)存儲和管理方法,必然會導致數(shù)據(jù)處理的效率降低,影響數(shù)據(jù)的應用性能。公交GPS數(shù)據(jù)本身具有顯著的時、空特征,而對區(qū)域性公交路況的分析和區(qū)域性公交分布信息的發(fā)布,都是以區(qū)域性數(shù)據(jù)檢索為前提,但傳統(tǒng)的數(shù)據(jù)檢索方法并沒有以數(shù)據(jù)的特征作為存儲的依據(jù),更沒有將其與數(shù)據(jù)檢索的需求相結合。所以,需要一種能夠對區(qū)域性公交信息進行索引的空間數(shù)據(jù)索引技術。
目前對路網(wǎng)空間數(shù)據(jù)的索引技術主要有:
(I)FNR樹,該技術由一個二維R樹與一維R樹組成。二維R樹索引道路網(wǎng)絡的每一個路段,每一個葉節(jié)點中包含指向一維R樹的指針;一維R樹索弓I在某個時間間隔內與路段對應的動態(tài)移動對象。這種方法的缺點在于選用了道路每個交叉點之間的路段作為索引基本元素,這樣R樹中就產(chǎn)生了龐大的葉節(jié)點以及對應的巨大更新。
(2)改進的FNR樹,該技術把道路網(wǎng)絡與軌跡從復雜的三維空間轉換為兩個低維子空間,在低維子空間索引移動對象軌跡,移動對象與道路網(wǎng)絡分別用兩棵二維R樹索引,道路網(wǎng)絡索引的基本元素也是路段。與FNR樹相比,它們對移動對象的索引方式不同。由于移動對象的索引也采用了二維R樹,所以在查詢處理時,相比FNR樹對移動對象的索引更復雜些。但這種方法對移動對象的運動表達較為合理,移動對象在路段中的表達可以任意改變運動方向與速度,而FNR樹不能做到這點。
(3) MON樹,該技術存儲了道路網(wǎng)絡中移動對象的整個歷史軌跡,并可對過去時態(tài)進行查詢。使用路徑作為索引的基本元素,路徑由同名道路構成,將道路網(wǎng)絡的道路表示為多段線。由于道路表達上的區(qū)別,MON樹對移動對象軌跡的表達比FNR樹更為簡潔,同時索引效率有所提高,但由于路徑過長,容易產(chǎn)生較大的死空間,影響查詢效率。
以上技術應用上的不足在于,對移動對象信息的查詢是以路段或者線路為單位,而不能很好的支持對區(qū)域的查詢,所以在移動對象分布區(qū)域化、分布密度不均的場景中,會索引大量的空閑區(qū)域和密度差異較大的區(qū)域,造成存儲空間的浪費和查詢性能的下降。
因此需要找到一種將數(shù)據(jù)的時、空特征充分融合到數(shù)據(jù)存儲和檢索模型的設計當中的策略。這就需要在數(shù)據(jù)的空間特征基礎上,進一步引申出區(qū)域特征,對空間數(shù)據(jù)按照區(qū)域特征進行重構,以解決移動對象分布區(qū)域化造成的數(shù)據(jù)索引時I/o過于頻繁、數(shù)據(jù)命中率低等問題。發(fā)明內容
有鑒于此,本發(fā)明的目的在于提供一種特征區(qū)域粒度可控的區(qū)域性城市公共交通車輛運行信息的索引查詢系統(tǒng)及方法,用于克服現(xiàn)有技術不能按特征區(qū)域檢索公交信息的技術問題。
本發(fā)明提供了一種區(qū)域性城市公交車輛運行信息的索引查詢方法,包括:
獲取城市公交站點數(shù)據(jù)及公交車GPS數(shù)據(jù),去除所述公交車GPS數(shù)據(jù)中的無效數(shù)據(jù);
對城市公交站點進行邏輯上的層級劃分得到包含所有站點的索引樹,并對每個站點生成相應索引序列;
根據(jù)所述索引序列信息對城市公交GPS數(shù)據(jù)按其所在的區(qū)域添加索引字段;
向用戶提供查詢接口界面,根據(jù)用戶在查詢接口界面輸入的查詢條件以及索引序列搜索數(shù)據(jù),并將查詢得到的車輛信息以文件的形式返回給用戶。
本發(fā)明還提供了一種區(qū)域性城市公交車輛運行信息的索引查詢系統(tǒng),包括:
預處理模塊,用于去除城市公交GPS數(shù)據(jù)中的無效數(shù)據(jù);
索引模塊,用于將城市公交站點進行邏輯上的層級劃分得到包含所有站點的索引樹,進而對每個站點生成相應索引序列;
查詢模塊,用于先根據(jù)所述索引序列信息將城市公交GPS數(shù)據(jù)按其所在的區(qū)域添加索引字段,再依據(jù)查詢條件搜索數(shù)據(jù);
顯示模塊,用于給用戶提供查詢接口界面,并將查詢得到的搜索數(shù)據(jù)以文件的形式返回給用戶。
本發(fā)明針對用戶的區(qū)域性公交數(shù)據(jù)需求,結合了公交數(shù)據(jù)的時間、空間特征,提出了基于特征區(qū)域的空間數(shù)據(jù)檢索模型,基于此模型得到一種對公交數(shù)據(jù)建立索引的方法及系統(tǒng),有利于對特征區(qū)域內移動對象數(shù)據(jù)的檢索。與現(xiàn)有技術對移動對象信息的索引查詢以路段或者線路為單位或者是以均分網(wǎng)格為單位所針對的業(yè)務需求不同,考慮了公共交通車輛數(shù)據(jù)的時間、空間特征,特別適用于區(qū)域性公交數(shù)據(jù)的提取。
圖1為本發(fā)明實施例提供的區(qū)域性城市公共交通車輛運行信息的索引查詢系統(tǒng)結構圖2為本發(fā)明實施例提供的區(qū)域性城市公共交通車輛運行信息的索引查詢方法流程圖3為本發(fā)明實施例中數(shù)據(jù)查詢的方法流程圖4為本發(fā)明實施例提供的索引查詢系統(tǒng)與MySQL在單位時間檢索記錄數(shù)變化趨勢圖5為本發(fā)明實施例提供的索引查詢系統(tǒng)與MySQL在單位時間檢索數(shù)據(jù)量變化趨勢圖。
具體實施方式
為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面結合附圖對本發(fā)明作進一步的詳細描述。
本發(fā)明實施例是針對用戶的區(qū)域性公交數(shù)據(jù)需求,結合了公交數(shù)據(jù)的時間、空間特征,提出了基于特征區(qū)域的空間數(shù)據(jù)檢索模型,基于此模型得到一種對公交數(shù)據(jù)建立索引的方法,該索引方法有利于對特征區(qū)域內移動對象數(shù)據(jù)的檢索。與現(xiàn)有技術對移動對象信息的索引查詢以路段或者線路為單位或者是以均分網(wǎng)格為單位所針對的業(yè)務需求不同。
針對本實施例中的相關概念解釋如下:
基礎點對象:將全市市內公交站點所在的位置點作為基礎點對象,其由四個部分組成:站點id屬性、所屬簇節(jié)點屬性、名稱屬性、位置屬性。其形式化描述如下:P= {p I p= (id, p_parent, name, longitude, latitude)},其中 id 是站點的編號,用于唯一標識一個站點,p_parent是簇中心點對象的編號,name是站點名稱,longitude是站點的經(jīng)度,latitude是站點的緯度。
簇中心點對象:簇中心點對象是形成了特征區(qū)域之后,簇的中心點對象,由三個部分組成:簇id屬性、所屬簇節(jié)點屬性和位置屬性,其形式化描述如下:P={p|p=(id,p_parent, longitude, latitude)},其中id是簇的編號,用于唯一標識一個簇,p_parent是簇中心點對象的編號,longitude是簇中心點的經(jīng)度,latitude是簇中心點的緯度。
最小邊界矩形(MBR):包含一個站點對象的最小邊界矩形。其描述如下:MBR= {mbr | mbr= (Rangex, Rangey)},其中 Rangex 和 Rangey 表不 MBR 在 x 和 y 維上的跨度。
特征區(qū)域:將基礎點對象按照空間位置進行聚類得到簇,再將簇中每一個基礎點對象進行最小外接邊框擴展之后的簇區(qū)域。
覆蓋窗口:從查詢的角度來看,索引樹中每一個非葉子節(jié)點所覆蓋的所有其子節(jié)點所表示的區(qū)域的并集。
本實施例提供了一種區(qū)域性城市公共交通車輛運行信息的索引查詢系統(tǒng),如圖1所示,包括:預處理模塊、索引模塊、查找模塊和顯示模塊。其中,
預處理模塊11,用于獲取城市公交站點數(shù)據(jù)及公交車GPS數(shù)據(jù),去除城市公交GPS數(shù)據(jù)中的無效數(shù)據(jù);
索引模塊12,用于將城市公交站點進行邏輯上的層級劃分得到包含所有站點的索引樹,進而對每個站點生成相應索引序列;
查詢模塊13,用于先根據(jù)索引信息將城市公交GPS數(shù)據(jù)按其所在的區(qū)域添加索引字段,再依據(jù)查詢條件搜索數(shù)據(jù);其中,各個站點的索引序列的集合就是索弓丨表,索引表所展現(xiàn)的就是索引信息;
顯示模塊14,用于給用戶提供查詢接口界面,并將查詢得到的搜索數(shù)據(jù)(車輛信息)以文件的形式返回給用戶。
索引模塊12包括:數(shù)據(jù)集準備單元121、空間位置聚類單元122、索引樹構建單元123、索引對照表生成單元124。
數(shù)據(jù)集準備單元121,用于提供基礎站點數(shù)據(jù)和每次聚類之后生成的結果數(shù)據(jù)(中心點對象),為建立索引樹和生成索引對照表提供數(shù)據(jù)支持。
空間位置聚類單元122,用于使用數(shù)據(jù)集準備單元提供的基礎站點對象和中心點對象,設置點對象間的鄰近性度量方式,調整臨近性度量參數(shù)閾值,進行多次聚類迭代,直到聚類結果的簇中心點對象的數(shù)量收斂于一個預設常量或者縮小到指定的程度,則無需再進行聚類。
索引樹構建單元123,用于將所有公交站點作為基礎點對象集合,全部的基礎點對象作為葉子節(jié)點層,記為Tn層。按照基礎點對象之間的鄰近性度量參數(shù)進行聚類形成簇,簇的中心就稱為中心點對象,聚類之后得到的所有簇的中心點對象作為Tn-1層的節(jié)點;將第一次聚類得到的Tn-1層的中心點對象按照對象之間的鄰近性度量參數(shù)進行二次聚類,得到的全部簇中心點對象成為Tn-2層的所有節(jié)點;將第二次聚類得到的Τη-2層的中心點對象按照對象之間的鄰近性度量參數(shù)進行第三次聚類,所得的簇中心點對象作為上一層即Τη-3層的節(jié)點,逐次生成索引樹的每層節(jié)點。該索引樹將子節(jié)點層層聚攏,最終全部歸并到根節(jié)點,根節(jié)點代表了對城市區(qū)域的整體索引,實現(xiàn)了區(qū)域的層層覆蓋。索引對照表生成單元124,用于遍歷所述基礎點對象集合中的每一個基礎點對象,對樹的每一個葉子節(jié)點自底向上依次遍歷其父節(jié)點直至索引樹的根節(jié)點,自底向上提取每一個父節(jié)點的節(jié)點編號,形成基礎點對象的索引序列,所有基礎點對象的索引序列構成索引對照表。查詢模塊13包括:數(shù)據(jù)重組單元131,索引序列查詢單元132,快表機制單元133。數(shù)據(jù)重組單元131,用于針對公交GPS數(shù)據(jù),查找GPS數(shù)據(jù)的經(jīng)緯度所在的經(jīng)過MBR擴展的基礎點對象的特征區(qū)域,根據(jù)該基礎點對象對應的索引序列,標記公交GPS數(shù)據(jù),之后插入到分布式數(shù)據(jù)庫中。這里的MBR擴展定義為以基礎點對象的位置屬性為中心,以點的平均距離為擴展距離,分別向上下左右四個方向擴展,得到以基礎點對象的位置為中心、以點的平均距離的2倍為邊的正方形區(qū)域,作為MBR。索引序列查詢單元132,用于在公交GPS數(shù)據(jù)重組完成之后,用戶查詢時,由用戶首先在系統(tǒng)操作界面的地圖中指定查詢位置或者查詢窗口大小,或者查詢時間范圍,系統(tǒng)在獲取該位置的經(jīng)緯度信息后與索引對照表進行匹配,得到索引序列,作為在分布式數(shù)據(jù)庫中索引數(shù)據(jù)的依據(jù),之后根據(jù)窗口大小或者時間范圍取出數(shù)據(jù)??毂頇C制單元133,用于為了減少掃描索引對照表的次數(shù),對歷次查詢歷史數(shù)據(jù)進行歸納分析,得到查詢的頻繁項表,其數(shù)據(jù)格式為{頻率,基礎點,查詢窗口,索引值}。顯示模塊14包括:接收單元141、處理單元142,顯示數(shù)據(jù)單元143。接收單元141,用于接收用戶的查詢需求。處理單元142,用于將查詢需求提交給分布式數(shù)據(jù)庫,分布式提取滿足查詢需求的記錄。顯示數(shù)據(jù)單元143,用于將查詢得到的車輛運行信息以表格的形式返回給用戶。以上實施例與現(xiàn)有技術相比的優(yōu)點在于:本實施例結合了公交數(shù)據(jù)的時間、空間特征,提出了基于特征區(qū)域的海量空間數(shù)據(jù)檢索模型,可以對公交數(shù)據(jù)基于特征區(qū)域進行檢索,不同于現(xiàn)有技術對移動對象信息的索引查詢是以路段或者線路為單位或者是以均分的網(wǎng)格為單位。此外,本實施例利用檢索模型,對于地圖上的定位點,能夠快速檢索出以該點為中心的區(qū)域可伸縮的查詢窗口內的公交GPS數(shù)據(jù),為公交區(qū)域性規(guī)律分析提供了數(shù)據(jù)支持。本發(fā)明實施例還提供了一種區(qū)域性城市公共交通車輛運行信息的索引查詢方法,如圖2所示,包括如下步驟:步驟201:獲取城市公交站點數(shù)據(jù)及公交車運行的GPS數(shù)據(jù),去除所述公交車GPS數(shù)據(jù)中的無效數(shù)據(jù)。對于原始的公交GPS數(shù)據(jù),會有各種異常數(shù)據(jù),預處理過程去除各種異常數(shù)據(jù),以防對之后的處理過程干擾。其中,城市公交GPS數(shù)據(jù)中的無效數(shù)據(jù)包括無效單條數(shù)據(jù)、無效車輛數(shù)據(jù)和無效線路數(shù)據(jù)。去除無效單條數(shù)據(jù):刪除公交GPS數(shù)據(jù)中字段不全或異常的數(shù)據(jù),如線路號或車輛號為O的數(shù)據(jù)、時間戳無效的數(shù)據(jù)等;去除無效車輛數(shù)據(jù):對于某一車輛,如果GPS數(shù)據(jù)的數(shù)量小于20條,則認為是車輛號異常,刪除該車輛號對應的所有GPS數(shù)據(jù);去除無效線路數(shù)據(jù):對于某一線路統(tǒng)計,如果GPS數(shù)據(jù)的數(shù)據(jù)量小于100條,則認為線路號異常,刪除該線路下對應的所有GPS數(shù)據(jù)。步驟202:對城市公交站點進行邏輯上的層級劃分得到包含所有站點的索引樹,進而對每個站點生成相應索引序列。建立索引樹和生成索引序列的步驟具體包括:步驟2021:建立高度等于6的樹,使用canopy+Kneans的聚類算法對點對象進行處理形成簇。將所有公交站點作為基礎點對象集合,全部的基礎點對象作為葉子節(jié)點層,記為T6層;按照基礎點對象之間的歐式距離大小,為避免K-means聚類算法k值選取的盲目和隨機性,先使用canopy算法對點對象作前期的聚類處理,將canopy的輸出組個數(shù)作為K-means算法的輸入。最終第一次聚類將基礎點對象3219個,收縮到639個簇內,收縮率約為 20%ο聚類之后得到的所有簇的中心點對象作為T5層的節(jié)點,被聚為同一簇的基礎點對象所屬的父節(jié)點就是這個簇的中心點對象;將第一次聚類得到的T5層的中心點對象按照對象之間的歐式距離大小進行二次聚類,得到的全部簇中心點對象成為T4層的所有節(jié)點,T5層節(jié)點的父節(jié)點為其所屬的T4層的簇中心點對象。最終第二次聚類將中心點對象639個,收縮到128個簇內,收縮率約為20%。將第二次聚類得到的T4層的中心點對象按照對象之間的歐式距離大小進行第三次聚類,所得的簇中心點對象作為上一層即T3層的節(jié)點,并將T4層節(jié)點的父節(jié)點按照上述規(guī)則全部指向相應的T3層節(jié)點。最終第三次聚類將中心點對象128個,收縮到43個,收縮率為33%。繼續(xù)進行迭代聚類,將參數(shù)值調大,簇的個數(shù)趨于10以內變化甚小,將參數(shù)值回調一些,則在原來的簇個數(shù)附近浮動。由此看出滿足迭代聚類的終止條件,聚類階段完成。步驟2022:將城市劃分為Rl (西北)、R2 (東北)、R3 (西南)、R4 (東南)四個子區(qū)域,并把每一個子區(qū)域分別用中心點對象封裝,作為T2層節(jié)點,將第三次聚類得到的全部T3層節(jié)點按照節(jié)點所在的經(jīng)緯度位置劃分到四個子區(qū)域內,并將T3層節(jié)點的父節(jié)點指向相應的T2層節(jié)點,新建一個root節(jié)點,作為Tl節(jié)點,將T2層節(jié)點全部指向root節(jié)點。步驟2023:為基礎點對象集合中每個基礎點對象賦予一個編號,遍歷所創(chuàng)建索引樹中的每個葉子節(jié)點,對樹中每一個葉子節(jié)點按照其數(shù)據(jù)結構中指向其父節(jié)點指針的自底向上依次獲取其父節(jié)點的編號直至索引樹的根節(jié)點,根節(jié)點編號設置為O ;拼接葉子節(jié)點到根節(jié)點路徑上所訪問節(jié)點的編號,以根節(jié)點的編號為索引頭形成基礎點對象的索引序列,所有基礎點對象的索引序列構成索引對照表。步驟203:根據(jù)索引序列信息對城市公交GPS數(shù)據(jù)按其所在的區(qū)域添加索引字段,再依據(jù)查詢條件搜索數(shù)據(jù)。參見圖3,數(shù)據(jù)查詢的步驟具體包括:步驟2031:用公交GPS數(shù)據(jù)進行特征區(qū)域填充,即將公交GPS數(shù)據(jù)歸于已經(jīng)劃分好的特征區(qū)域中,實現(xiàn)公交數(shù)據(jù)區(qū)域性檢索。針對于每一條公交GPS數(shù)據(jù),查找數(shù)據(jù)的經(jīng)緯度在哪一個經(jīng)過MBR擴展的基礎點對象的特征區(qū)域中,讀出該基礎點對象對應的索引序列,然后將該條數(shù)據(jù)的時間戳+該數(shù)據(jù)對應索引序列作為該條GPS數(shù)據(jù)的TOwkey,插入到分布式數(shù)據(jù)庫中。這樣數(shù)據(jù)庫中的數(shù)據(jù)先按照時間進行聚集,在相同時間區(qū)間內,按照空間的相近原則聚集。這里MBR擴展定義為以基礎點對象的位置屬性為中心,以點的平均距離為擴展距離,分別向上下左右四個方向擴展,得到以基礎點對象的位置為中心、以點的平均距離的2倍為邊的正方形區(qū)域,作為MBR。步驟2032:根據(jù)查詢位置、查詢時間段、查詢窗口等級提取查詢位置的經(jīng)緯度信息后與索引對照表進行匹配,得到索引序列,作為在分布式數(shù)據(jù)庫中索引數(shù)據(jù)的依據(jù)。用戶先點擊需要查詢的位置,再選擇查詢時間段(若是不選時間,默認是查詢該位置的所有公交數(shù)據(jù)),選擇查詢窗口等級(若是不選等級,則默認是擴展最小的窗口等級)。由于索引序列是從索引樹的根節(jié)點到基礎點對象的編號的有序數(shù)字序列,每一個非葉子節(jié)點所代表的區(qū)域是該節(jié)點所擁有的所有孩子節(jié)點的MBR的并集區(qū)域,因此,節(jié)點越靠近根節(jié)點,表示的覆蓋區(qū)域越大,根節(jié)點表示覆蓋整個地區(qū)。查詢窗口級別直接對應著索引序列的長度,如果查詢窗口級別是i,那么索引序列就取前i+Ι位數(shù)。由此得到,在查詢的過程中,可以隨著需求的變化,在一定范圍內縮小或擴大查詢窗口級別,滿足數(shù)據(jù)檢索不同粒度的需要。步驟2033:經(jīng)過用戶多次查詢,積累了一定的查詢歷史數(shù)據(jù)。GPS數(shù)據(jù)具有空間特征,那么在對數(shù)據(jù)進行操作和分析時,也伴隨著不同區(qū)域的數(shù)據(jù)使用的不平均性,即相對于其他區(qū)域,某一區(qū)域的數(shù)據(jù)經(jīng)常被使用,因此將查詢歷史數(shù)據(jù)進行歸納分析,得到查詢的頻繁項表即快表,其數(shù)據(jù)格式為{頻率,基礎點,查詢窗口,索引值}。步驟204:向用戶提供查詢接口界面,并將查詢得到的車輛信息以文件的形式返回給用戶。首先,接收用戶的查詢需求;其次,將查詢需求提交給分布式數(shù)據(jù)庫,分布式提取滿足查詢需求的記錄;最后,將查詢得到的車輛運行信息以表格的形式返回給用戶。本實施例利用站點間的位置關系形成特征區(qū)域,將公交GPS信息對應到特征區(qū)域中,從而達到快速檢索特征區(qū)域的車輛運行信息的目的,為公交區(qū)域性規(guī)律分析提供了數(shù)據(jù)支持。應用本實施例的查詢系統(tǒng)隨機選取北京市城區(qū)范圍內的經(jīng)緯度點,對不同查詢窗口的查詢操作分別記錄其數(shù)據(jù)提取,得到數(shù)據(jù)文件所需的時間,然后在MySQL數(shù)據(jù)庫中針對相同規(guī)模的數(shù)據(jù)進行檢索和輸出,得到檢索時間,將結果進行對比,描繪效率對比曲線。MySQL與本系統(tǒng)在單位時間內檢索的記錄數(shù)隨著記錄不斷增多的變化趨勢如圖4所示:圖中橫坐標是進行索引操作的記錄總數(shù)(單位是row),縱坐標是每秒的索引記錄數(shù)。由圖中可知,當索引的數(shù)據(jù)量持續(xù)增大時,本系統(tǒng)的檢索效率高于MySQL的效率并有逐漸增大的趨勢;但是當索引的數(shù)據(jù)量增大到某一個點的時候,出現(xiàn)了每秒檢索的記錄數(shù)下降的情況,由于數(shù)據(jù)尋址增加,內存換入換出增多,導致MySQL數(shù)據(jù)庫性能降低,后又因為數(shù)據(jù)緩存的機制,效率略有提升。而本系統(tǒng)效率的臨時下降是因為本系統(tǒng)使用的是分布式數(shù)據(jù)庫,數(shù)據(jù)存儲在不同的節(jié)點上,集群的尋址和通信開銷會使效率稍稍降低。
MySQL與本系統(tǒng)在單位時間內檢索的數(shù)據(jù)量隨著總數(shù)據(jù)量變化的趨勢圖如圖5所示:圖中橫坐標是索引的數(shù)據(jù)總量(單位是GB),縱坐標是每秒檢索的數(shù)據(jù)量(單位是GB/S)。由結果對比圖可以看出,當檢索的數(shù)據(jù)量持續(xù)增大,二者單位時間內檢索的數(shù)據(jù)量都在增長,但數(shù)據(jù)量越大,本系統(tǒng)的檢索效率優(yōu)勢就愈加明顯。總之,以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。
權利要求
1.一種區(qū)域性城市公交車輛運行信息的索引查詢方法,其特征在于,包括: 獲取城市公交站點數(shù)據(jù)及公交車GPS數(shù)據(jù),去除所述公交車GPS數(shù)據(jù)中的無效數(shù)據(jù); 對城市公交站點進行邏輯上的層級劃分得到包含所有站點的索引樹,并對每個站點生成相應索引序列; 根據(jù)所述索引序列信息對城市公交GPS數(shù)據(jù)按其所在的區(qū)域添加索引字段; 向用戶提供查詢接口界面,根據(jù)用戶在查詢接口界面輸入的查詢條件以及索引序列搜索數(shù)據(jù),并將查詢得到的車輛運行信息以文件的形式返回給用戶。
2.根據(jù)權利要求1所述的區(qū)域性城市公交車輛運行信息的索引查詢方法,其特征在于,所述去除無效數(shù)據(jù)的步驟具體包括: 去除無效單條數(shù)據(jù):刪除公交GPS數(shù)據(jù)中字段不全或異常的數(shù)據(jù); 去除無效車輛數(shù)據(jù):如果某一車輛的GPS數(shù)據(jù)的數(shù)量小于20條,則認為是車輛號異常,刪除該車輛號對應的所有GPS數(shù)據(jù); 去除無效線路數(shù)據(jù):如果某一線路的GPS數(shù)據(jù)的數(shù)量小于100條,則認為線路號異常,刪除該線路下對應的所有GPS數(shù)據(jù)。
3.根據(jù)權利要求1或2所述的區(qū)域性城市公交車輛運行信息的索引查詢方法,其特征在于,所述得到包含所有站點的索引樹的步驟具體包括: 將所有公交站點作為基礎點對象集合,全部的基礎點對象作為葉子節(jié)點層,記為Tn層;按照基礎點對象之間的鄰近性度量參數(shù)進行聚類形成簇,簇的中心稱為中心點對象,聚類之后得到的所有簇的中心點對象作為Tn-1層的節(jié)點; 將第一次聚類得到的Tn-1層的中心點對象按照對象之間的鄰近性度量參數(shù)進行二次聚類,得到的全部簇中心點對象成為Tn-2層的所有節(jié)點; 將第二次聚類得到的Tn-2層的中心點對象按照對象之間的鄰近性度量參數(shù)進行第三次聚類,所得的簇中心點對象作為Tn-3層的節(jié)點,逐次生成索引樹的每層節(jié)點。
4.根據(jù)權利要求3所述的區(qū)域性城市公交車輛運行信息的索引查詢方法,其特征在于,所述對每個站點生成相應索引序列的步驟具體包括: 遍歷所述基礎點對象集合中的每一個基礎點對象,對索引樹的每一個葉子節(jié)點自底向上依次遍歷其父節(jié)點直至索引樹的根節(jié)點,自底向上提取每一個父節(jié)點的節(jié)點編號,形成基礎點對象的索引序列,所 有基礎點對象的索引序列構成索引對照表。
5.根據(jù)權利要求4所述的區(qū)域性城市公交車輛運行信息的索引查詢方法,其特征在于,所述對城市公交GPS數(shù)據(jù)按其所在的區(qū)域添加索引字段的步驟具體包括: 針對于公交GPS數(shù)據(jù),查找數(shù)據(jù)的經(jīng)緯度在哪一個經(jīng)過MBR擴展的基礎點對象的特征區(qū)域中,根據(jù)該基礎點對象對應的索引序列,標記公交GPS數(shù)據(jù),并插入到分布式數(shù)據(jù)庫中。
6.根據(jù)權利要求5所述的區(qū)域性城市公交車輛運行信息的索引查詢方法,其特征在于,所述依據(jù)查詢條件及索引序列搜索數(shù)據(jù)的步驟具體包括: 由用戶指定查詢位置、查詢窗口大小或者查詢時間范圍,在獲取該位置的經(jīng)緯度信息后與索引對照表進行匹配,得到索引序列,作為在分布式數(shù)據(jù)庫中索引數(shù)據(jù)的依據(jù),并根據(jù)窗口大小或者時間范圍取出數(shù)據(jù)。
7.根據(jù)權利要求6所述的區(qū)域性城市公交車輛運行信息的索引查詢方法,其特征在于,所述依據(jù)查詢條件搜索數(shù)據(jù)的步驟還包括: 對歷次查詢歷史數(shù)據(jù)進行歸納分析,得到查詢的頻繁項表,其數(shù)據(jù)格式為{頻率,基礎點,查詢窗口,索引值}。
8.根據(jù)權利要求7所述的區(qū)域性城市公交車輛運行信息的索引查詢方法,其特征在于,所述將查詢得到的車輛信息以文件的形式返回給用戶的步驟具體包括: 接收用戶的查詢需求,將查詢需求提交給分布式數(shù)據(jù)庫,分布式提取滿足所述查詢需求的記錄,將查詢得到的車輛運行信息以表格的形式返回給用戶。
9.一種區(qū)域性城市公交車輛運行信息的索引查詢系統(tǒng),其特征在于,包括: 預處理模塊,用于獲取城市公交站點數(shù)據(jù)及公交車GPS數(shù)據(jù),去除所述公交車GPS數(shù)據(jù)中的無效數(shù)據(jù); 索引模塊,用于對城市公交站點進行邏輯上的層級劃分得到包含所有站點的索引樹,并對每個站點生成相應索引序列; 查詢模塊,用于根據(jù)所述索引序列信息將城市公交GPS數(shù)據(jù)按其所在的區(qū)域添加索引字段,并依據(jù)查詢條件搜索數(shù)據(jù); 顯示模塊,用于給用戶提供查詢接口界面,并將查詢得到的車輛運行信息以文件的形式返回給用戶。
10.根據(jù)權利要求9所述的區(qū)域性城市公交車輛運行信息的索引查詢系統(tǒng),其特征在于,所述索引模塊具體包括: 數(shù)據(jù)集準備單元,用于提供基礎站點數(shù)據(jù)和每次聚類之后生成的結果數(shù)據(jù); 空間位置聚類單元,用于使用所述基礎站點數(shù)據(jù)和結果數(shù)據(jù),設置點對象間的鄰近性度量方式,調整臨近性度量參數(shù)閾值,進行多次聚類迭代,直到聚類結果的簇中心點對象的數(shù)量收斂于一個預設常量或者縮小到指定的程度; 索引樹構建單元,用于將所有公交站點作為基礎點對象集合,全部的基礎點對象作為葉子節(jié)點層,記為Tn層;按照基礎點對象之間的鄰近性度量參數(shù)進行聚類形成簇,聚類之后得到的所有簇的中心點對象作為Tn-1層的節(jié)點;將第一次聚類得到的Tn-1層的中心點對象按照對象之間的鄰近性度量參數(shù)進行二次聚類,得到的全部簇中心點對象成為Tn-2層的所有節(jié)點;將第二次聚類得到的Tn-2層的中心點對象按照對象之間的鄰近性度量參數(shù)進行第三次聚類,所得的簇中心點對象作為Tn-3層的節(jié)點,逐次生成索引樹的每層節(jié)占.索引對照表生成單元,用于遍歷所述基礎點對象集合中的每一個基礎點對象,對樹的每一個葉子節(jié)點自底向上依次遍歷其父節(jié)點直至索引樹的根節(jié)點,自底向上提取每一個父節(jié)點的節(jié)點編號,形成基礎點對象的索引序列,所有基礎點對象的索引序列構成索引對照表。
11.根據(jù)權利要求10所述的區(qū)域性城市公交車輛運行信息的索引查詢系統(tǒng),其特征在于,所述查詢模塊具體包括: 數(shù)據(jù)重組單元,用于針對公交GPS數(shù)據(jù),查找數(shù)據(jù)的經(jīng)緯度在哪一個經(jīng)過MBR擴展的基礎點對象的特征區(qū)域中,根據(jù)該基礎點對象對應的索引序列,標記公交GPS數(shù)據(jù),并插入到分布式數(shù)據(jù)庫中 ; 索引序列查詢單元,用于在用戶查詢時,由用戶指定查詢位置、查詢窗口大小或者查詢時間范圍,在獲取該位置的經(jīng)緯度信息后與索引對照表進行匹配,得到索引序列,并根據(jù)窗口大小或者時間范圍取出數(shù)據(jù); 快表機制單元,用于對歷次查詢歷史數(shù)據(jù)進行歸納分析,得到查詢的頻繁項表,其數(shù)據(jù)格式為{頻率,基礎點,查詢窗口,索引值}。
12.根據(jù)權利要求11所述的區(qū)域性城市公交車輛運行信息的索引查詢系統(tǒng),其特征在于,所述顯示模塊具體包括: 接收單元,用于接收用戶的查詢需求; 處理單元,用于將查詢需求提交給分布式數(shù)據(jù)庫,分布式提取滿足所述查詢需求的記錄; 顯示數(shù)據(jù)單元, 用于將查詢得到的車輛運行信息以表格的形式返回給用戶。
全文摘要
本發(fā)明公開了一種區(qū)域性城市公交車輛運行信息的索引查詢方法,屬于智能交通技術,包括獲取城市公交站點數(shù)據(jù)及公交車GPS數(shù)據(jù),去除公交車GPS數(shù)據(jù)中的無效數(shù)據(jù);對城市公交站點進行邏輯上的層級劃分得到包含所有站點的索引樹,并對每個站點生成相應索引序列;根據(jù)索引序列信息對城市公交GPS數(shù)據(jù)按其所在的區(qū)域添加索引字段;向用戶提供查詢接口界面,根據(jù)用戶在查詢接口界面輸入的查詢條件以及索引序列搜索數(shù)據(jù),并將查詢得到的車輛信息以文件的形式返回給用戶。本發(fā)明還公開了一種區(qū)域性城市公交車輛運行信息的索引查詢系統(tǒng)。本發(fā)明考慮了公共交通車輛數(shù)據(jù)的時間、空間特征,特別適用于區(qū)域性公交數(shù)據(jù)的提取。
文檔編號G06F17/30GK103198151SQ201310146109
公開日2013年7月10日 申請日期2013年4月24日 優(yōu)先權日2013年4月24日
發(fā)明者呂衛(wèi)鋒, 李大鵬, 黃堅, 杜勇, 于海濤, 何志瑩 申請人:北京航空航天大學, 北京市交通信息中心