通過信息采集和檢索提供路線的制作方法
【專利摘要】本發(fā)明提供從點(diǎn)A到點(diǎn)B的方向可以被作為信息檢索問題來對待。在一個(gè)示例中,接收人們行駛的實(shí)際路線,并且將實(shí)際路線存儲在數(shù)據(jù)庫中。當(dāng)有人請求從點(diǎn)A到點(diǎn)B的方向時(shí),系統(tǒng)搜索數(shù)據(jù)庫以確定從點(diǎn)A到點(diǎn)B的路線是否存在。如果路線的確存在,則可以響應(yīng)于請求將路線作為方向提供。如果這樣的路線不存在,則系統(tǒng)在數(shù)據(jù)庫中尋找彼此具有一定的重疊量的路線并且嘗試通過結(jié)合彼此重疊的已知路線來構(gòu)建從A到B的路線。規(guī)則可以支配在將路線結(jié)合之前它們將具有的重疊程度。
【專利說明】通過信息采集和檢索提供路線
【背景技術(shù)】
[0001]許多系統(tǒng)提供駕駛、步行或公共交通方向。必應(yīng)(BING)地圖和MapQuest等Web站點(diǎn)可以提供這些類型的從一個(gè)地方到另一個(gè)地方的方向。還有汽車導(dǎo)航匣和儀表臺等各種獨(dú)立的系統(tǒng)可以類似地提供方向。正常地,找到從一點(diǎn)到另一點(diǎn)的方向的問題是通過使用代表地圖的邊加權(quán)有向圖表并且應(yīng)用Dijkstra算法或A*等算法以通過該圖表找到最低成本路徑來解決的。
[0002]以這種方式提供方向的一個(gè)問題是這樣做是假定圖表具有正確的連接性信息并且是最新的。連接性是指這樣的屬性:圖表上的分支正確地代表在真實(shí)生活地理中可以實(shí)施的轉(zhuǎn)向。例如,如果節(jié)點(diǎn)A、B和C代表地圖上的地方并且如果圖表表明有人從節(jié)點(diǎn)A可以進(jìn)行到節(jié)點(diǎn)B或到節(jié)點(diǎn)C的分支,則認(rèn)為在真實(shí)生活中可以取道任一分支。如果與這些分支對應(yīng)的轉(zhuǎn)向在真實(shí)生活中無法實(shí)施,則圖表中的連接性信息不正確。而且,在真實(shí)生活中因施工而新增或封閉道路、或重新規(guī)整道路,因此圖表中的信息可能變得過時(shí)。
[0003]數(shù)字地圖提供者耗費(fèi)資源以試圖保持其圖表正確和最新。但是這樣做可能很難,并且使用其技術(shù)提供的許多方向可能會不正確。
【發(fā)明內(nèi)容】
[0004]關(guān)于存在的路線的信息可以基于人們實(shí)際行駛的路線持續(xù)地采集。這些路線可以被存儲。當(dāng)有人請求方向時(shí),可以實(shí)時(shí)地檢索路線以提供方向。當(dāng)存儲中沒有從點(diǎn)A到點(diǎn)B的完整路線時(shí),可以將存儲中存在的路線拼接在一起以創(chuàng)建完整的路線,只要他們以滿足某些屬性的方式彼此重疊即可。以這種方式,有效地將提供方向的問題縮減成信息檢索問題而不是從抽象圖表計(jì)算的問題。使用人們行駛過的路線使得關(guān)于哪些路線存在的信息變得更可靠。而且,由于關(guān)于人們行駛哪些路線的信息可以持續(xù)地采集,因而關(guān)于哪些路線可用的信息很可能是最新的。
[0005]為了采集關(guān)于人們行駛的路線的信息,觀察到許多人攜帶可以精確定位他們的位置的設(shè)備——例如導(dǎo)航匣、配備有全球定位系統(tǒng)(GPS)接收器的智能手機(jī)等。盡管一些人出于對隱私的考慮而可能選擇關(guān)閉這些特征,但是其他人可能愿意“選擇進(jìn)入”以使得設(shè)備持續(xù)地確定他們的位置并且由服務(wù)采集該信息。如果有足夠的人愿意使這種類型的信息被采集,則所采集的原始地理坐標(biāo)提供關(guān)于人們行駛哪些路線的持續(xù)更新的信息。而且,由于所采集的信息代表實(shí)際路線,因而信息提供對以下的持續(xù)驗(yàn)證:在真實(shí)生活中實(shí)際可以實(shí)施哪些在地圖上出現(xiàn)的轉(zhuǎn)向,行駛這些路線花多長時(shí)間,行駛時(shí)間和轉(zhuǎn)向的可用性如何與一天的時(shí)刻相關(guān),行駛時(shí)刻和轉(zhuǎn)向可用性如何與車輛中的人數(shù)和其它因素相關(guān)。
[0006]當(dāng)采集路線的數(shù)據(jù)庫時(shí),數(shù)據(jù)庫可以被用來響應(yīng)對方向的請求。如果有人請求從點(diǎn)A到點(diǎn)B的路線,則可以搜索數(shù)據(jù)庫以確定這種路線是否存儲在數(shù)據(jù)庫中。如果路線被存儲,則它可以被檢索并且作為方向而提供。如果這種路線在存儲中不存在,則可以搜索數(shù)據(jù)庫以找出從點(diǎn)A附近到點(diǎn)B附近經(jīng)過的最長路線(或者,在一個(gè)示例中,由于長路線的路段與較短路線一致而被證實(shí)了的最長路線),然后可以搜索數(shù)據(jù)庫以找出從該長路線的入口點(diǎn)和出口點(diǎn)到實(shí)際點(diǎn)A和B經(jīng)過的路線。在實(shí)踐中,處理可以首先尋找長路線,然后可以繼續(xù)尋找要被拼接在一起的較短路線,直到創(chuàng)建完整的方向集合為止。
[0007]由于地圖上存在的轉(zhuǎn)向在真實(shí)生活中既可能存在也可能不存在,因而將部分路線組合起來以創(chuàng)建完整路線的系統(tǒng)可能堅(jiān)持要求將被結(jié)合的路線共享一定數(shù)量的共有轉(zhuǎn)向。這種狀況防止系統(tǒng)提供在真實(shí)生活中未被驗(yàn)證的路線。應(yīng)當(dāng)注意,不論是像以上說明的那樣通過真實(shí)生活數(shù)據(jù)確定的路線,還是僅從相關(guān)地理的抽象表示計(jì)算出的路線,都可以使用該路線結(jié)合準(zhǔn)則。
[0008]提供該
【發(fā)明內(nèi)容】
是為了以簡化的形式介紹概念的選集,這些概念將在下面的詳細(xì)說明中進(jìn)一步說明。該
【發(fā)明內(nèi)容】
的意圖既不是要指明所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不是要被用來限制所要求保護(hù)的主題的范圍。
【專利附圖】
【附圖說明】
[0009]圖1是可以行駛其上的路線的示例地圖的方框圖。
[0010]圖2是可以被用來建立已知路線的數(shù)據(jù)庫的組件的示例集合的方框圖。
[0011]圖3是基于GPS蹤跡建立路線的數(shù)據(jù)庫的示例處理的流程圖。
[0012]圖4是可以被用來響應(yīng)路線問詢的示例系統(tǒng)的方框圖。
[0013]圖5是通過檢索已有的已知路線來響應(yīng)路線問詢的示例處理的流程圖。
[0014]圖6是可以與本文說明的主題的實(shí)施結(jié)合地使用的示例組件的方框圖。
【具體實(shí)施方式】
[0015]許多系統(tǒng)提供從點(diǎn)A到點(diǎn)B的方向。例如,必應(yīng)(BING)地圖和MapQuest等Web站點(diǎn)可以在地圖上的任意位置之間提供駕駛、步行或公共交通方向。汽車導(dǎo)航匣和儀表導(dǎo)航臺可以類似地提供方向。通常,從代表地圖的邊加權(quán)有向圖表計(jì)算方向。具體地,地圖可以被表示成節(jié)點(diǎn)的集合、節(jié)點(diǎn)間的有向邊和與每邊關(guān)聯(lián)的權(quán)重。每一節(jié)點(diǎn)代表地圖上的交叉路口。每一邊代表從一個(gè)交叉路口到另一個(gè)交叉路口的路徑,其中每當(dāng)認(rèn)為在那些交叉路口之間的路徑存在時(shí)即存在邊,并且與每一邊關(guān)聯(lián)的權(quán)重是沿路徑行駛的成本(例如行駛時(shí)間)??梢允褂肈ijkstra算法或A*等算法以找出圖表中從一個(gè)節(jié)點(diǎn)到另一個(gè)節(jié)點(diǎn)的最低成本路徑。以這種方式,可以使用圖表來計(jì)算從點(diǎn)A到點(diǎn)B的方向。
[0016]當(dāng)以這種方式提供方向時(shí),可能會出現(xiàn)某些問題。首先,圖表一般是從已有的地圖或從大比例的地理照片的分析構(gòu)建的,而這些數(shù)據(jù)源可能不會精確地提供關(guān)于連接性的信息。地圖可能顯示兩條道路相交叉,但未必可能從一條道路轉(zhuǎn)向另一條道路,這是例如因?yàn)橐粭l道路通過高架橋跨越另一條道路,或是因?yàn)楫?dāng)?shù)毓芾聿块T樹立了“禁止轉(zhuǎn)向”路標(biāo),或是因?yàn)榻煌ㄌ珦矶乱灾劣隈{駛員在實(shí)踐中避免在該交叉路口轉(zhuǎn)向。例如,如果有人在曼哈頓并且想要從第11大道與第42街的拐角行進(jìn)到第6大道與中央公園南的拐角,則圖表可能顯示可以沿第42街向東行進(jìn)、然后在第6大道左轉(zhuǎn)并且繼續(xù)向北到中央公園。該路線在真實(shí)生活中有理論上的可能,但卻沒有考慮到這一事實(shí):即紐約市對橫跨第42街在第6大道左轉(zhuǎn)做出了時(shí)間限制,并且即使在一天中允許該轉(zhuǎn)向的時(shí)刻也會因交通擁堵而花太多時(shí)間在該轉(zhuǎn)向上,以至于只有非常勇敢的駕駛員才會試圖這么做。在像上面提到的曼哈頓的交叉路口那樣的非常熟知并且病態(tài)的案例中,地圖提供者可以投入資源以收集這些問題的知識并且將該知識籌建于其地理模型中。然而,有許多實(shí)際與地圖所示不匹配的地方,而且難以對全部這些情形進(jìn)行標(biāo)識和建模。前述的例子示出了連接性問題:兩條道路之間的連接看似在地圖上存在,但在實(shí)際中連接卻不存在,或是僅在一天中的某些時(shí)刻存在,或是太難以實(shí)施以至于有理由避免將該連接包括在駕駛方向集合中。
[0017]第二個(gè)出現(xiàn)的問題是可以行駛的路線傾向于隨時(shí)間變化。增加了新的道路。舊的道路因維護(hù)而暫停服務(wù),或者被重新規(guī)整。交通圖發(fā)生變化,使得曾經(jīng)一度行駛?cè)菀椎穆肪€行駛起來更加困難。新的交通限制正在增加,使得曾經(jīng)一度被允許的轉(zhuǎn)向不合法。由于跟進(jìn)這種變化包括花費(fèi)資源來采集和分析信息,因而對于地圖提供者而言,難以做到這一點(diǎn)并且難以將信息添加到從中計(jì)算方向的地理模型(圖表或其它)中。
[0018]此外,邊加權(quán)有向圖表一般將權(quán)重(成本)與圖表上的邊(即從一個(gè)節(jié)點(diǎn)到另一個(gè)節(jié)點(diǎn)的路徑)關(guān)聯(lián)。然而,在真實(shí)生活中,行程的最昂貴(例如,耗費(fèi)時(shí)間)的部分可能是在交叉路口而不是直路上。例如在上述曼哈頓的示例中,沿第42街駕駛可能只花I分鐘,沿第6大道駕駛再花I分鐘,但是從一條道路左轉(zhuǎn)進(jìn)入另一條道路(即使是在一天中允許該轉(zhuǎn)向的時(shí)刻)可能要花5分鐘。換句話說,未將從特定節(jié)點(diǎn)取道特定分支的成本考慮在內(nèi)的邊加權(quán)圖表可能導(dǎo)致低估進(jìn)行轉(zhuǎn)向的成本,從而使得整個(gè)路線看似成本低于在真實(shí)生活中的成本。但是尋找從點(diǎn)A到點(diǎn)B的最快路線的駕駛員可能會非常在意該轉(zhuǎn)向花費(fèi)多長時(shí)間。
[0019]本文說明的主題將提供駕駛方向的問題作為信息采集和檢索問題來對待?;谌藗儗?shí)際行駛的路線實(shí)時(shí)地采集關(guān)于實(shí)際可以行駛的路線的信息。本主題不是從將每一交叉路口作為圖表中的節(jié)點(diǎn)來對待的地圖的抽象模型建立方向,而是將已知信息的集合作為人們實(shí)際行駛過的路線的集合來建模,并且通過根據(jù)已知的重疊路線將路線拼接在一起而建立方向集合。
[0020]路線的知識是從人們攜帶的或是內(nèi)置在他們的車輛中的設(shè)備的全球定位系統(tǒng)(GPS)蹤跡采集的。(如以上所述,雖然出于對隱私的考慮,一些人可能選擇不讓他們的位置被跟蹤,但是許多人很可能同意他們的位置和移動被跟蹤。在一些情況下,可以提供激勵(lì)以鼓勵(lì)人們明確同意這種跟蹤。)隨時(shí)間變動的來自配備有GPS的設(shè)備的原始地理坐標(biāo)對照著地圖被交叉引用,以便將該原始數(shù)據(jù)轉(zhuǎn)化成人們所行使的實(shí)際路線。(例如,可以每隔10秒接收一次坐標(biāo);通過將隨時(shí)間變動的坐標(biāo)的變化與實(shí)際地圖做比較,可以確定某人行駛的路線。)將行駛過的路線存儲在數(shù)據(jù)庫中。與路線本身在一起的可以是以下信息:關(guān)于一天中行駛路線的時(shí)刻、行駛路線花多長時(shí)間、在行駛路線的時(shí)刻有多少人乘坐車輛、使用什么型號的車輛,或任何類型的信息。該信息可以與以下的確定有關(guān):確定某些路線在一天中的某些時(shí)刻是否擁擠,或確定路線的某些部分是否受到時(shí)間限制(例如從早9點(diǎn)到晚5點(diǎn)禁止左轉(zhuǎn)),或確定路線的某些部分是否受到客容或車型限制(例如,路線可能包括大客容車輛(HOV)車道,這種車道要求在轎車中至少乘坐3人,但在該車道中允許公交車和單人摩托車)。(盡管前面的例子假設(shè)位置信息將從GPS蹤跡采集,但它也可以通過其它技術(shù)來采集一例如,WiFi定位、慣性傳感器、三角測量等。如同GPS蹤跡一樣,這種信息可以依照從用戶處接收到的適宜許可來采集)。
[0021]假設(shè)存在含有已知路線(如使用上述技術(shù)采集的路線)的集合的某數(shù)據(jù)庫,則提供方向的系統(tǒng)可以根據(jù)已有路線將方向集合拼接在一起。路線由“路段”構(gòu)成,“路段”是交叉路口之間的段。(這種情況下“交叉路口 ”是可以轉(zhuǎn)向多于一個(gè)方向的點(diǎn)。)如果有人詢問點(diǎn)A和點(diǎn)B之間的方向,則系統(tǒng)在數(shù)據(jù)庫中查找以確定在那兩點(diǎn)之間是否已知存在實(shí)際路線。如果存在這種路線,則可以將路線作為方向提供(盡管系統(tǒng)也會嘗試從較短的路線的集合構(gòu)建出成本更低的路線)。一般地,由于較長的路線代表由實(shí)際的人做出的關(guān)于如何從一點(diǎn)到另一點(diǎn)的較大的決定集合,因而較長的路線被認(rèn)為包含更多信息。(看待這種情形的一種方式是:同理于將整句話從一種語言翻譯成另一種語言可能比由該句中的單個(gè)字詞拼湊在一起而來的翻譯更精確,較長的路線可能比由較短的路線拼接在一起而來的路線更可靠。)由于較長的路線可能覆蓋從一點(diǎn)到另一點(diǎn)的距離的大部分,使得能夠減少在使用較短的路線時(shí)將不得不做的拼接的量,因而較長的路線也可以簡化并且加速尋路處理。(盡管應(yīng)當(dāng)注意長路線可能是某個(gè)人偶然間行駛過的。因此在某些情況下,除非路線被一些人在一段時(shí)間內(nèi)行駛過,否則可以不認(rèn)為該路線是權(quán)威的?;蛘撸灰L路線的路段被作為其它較短路線的一部分集中地行駛過,使得能夠證實(shí)長路線的精確性和/或巧妙性,即可認(rèn)為該長路線是權(quán)威的。)然而,如果覆蓋從點(diǎn)A到點(diǎn)B的整體距離的路線不可用,則系統(tǒng)可以嘗試將其它路線組合。
[0022]為了組合路線,系統(tǒng)尋找在至少一個(gè)路段上重疊并且具有共同的至少一個(gè)轉(zhuǎn)向的路線。路線具有共同轉(zhuǎn)向這一條件是要確保系統(tǒng)在方向集合中不包括從一條路線到在真實(shí)生活中尚未被驗(yàn)證的另一條路線的轉(zhuǎn)向。避免這種轉(zhuǎn)向避免了以上說明的問題即包括有看似在地圖上存在、但卻在真實(shí)生活中要么不可能實(shí)施要么實(shí)施起來不現(xiàn)實(shí)的轉(zhuǎn)向。施加將被結(jié)合的路線具有共同轉(zhuǎn)向這一條件確保(至少在路線是從人們已經(jīng)歷的真實(shí)生活行程中導(dǎo)出的示例中)在方向中包括的轉(zhuǎn)向已被實(shí)際的人們驗(yàn)證為可能和現(xiàn)實(shí)。(在一些情況下,作為將路線結(jié)合在一起的條件,系統(tǒng)可能堅(jiān)持要求2個(gè)、3個(gè)或n個(gè)順序的共同轉(zhuǎn)向,這可以導(dǎo)致更符合實(shí)際的路線。然而,本文的主題不限于使用這種條件的系統(tǒng))。
[0023]如以上所示,長路線被認(rèn)為比短路線包含更多信息。因此,當(dāng)根據(jù)已知路線將方向集合拼接在一起時(shí),系統(tǒng)可以從長路線開始(可能受制于這樣的條件:即應(yīng)通過長路線的路段被作為其它較短路線的一部分行駛過來證實(shí)這些路段),同時(shí)使用較短的路線來填充到端點(diǎn)的間隙或連接。例如,如果有人想從加利福尼亞州的伯克利(Berkeley)行駛到新澤西州的普林斯頓(Princeton),則可以將從伯克利到內(nèi)華達(dá)州的溫尼木卡(Winnemucca)、再從溫尼木卡到愛達(dá)荷州的波卡特洛(Pocatello)、再從波卡特洛到蒙大拿州的西黃石(WestYellowstone)、再從西黃石到懷俄明州的科迪(Cody)等各路線組合起來以拼接出該路線。然而,代替以這種方式將路線拼接在一起,在一個(gè)示例中系統(tǒng)可能尋找從伯克利附近的點(diǎn)到普林斯頓附近的點(diǎn)的更長的路線。這樣,系統(tǒng)可能以從舊金山到紐約的路線開始,并且可能尋找從伯克利到沿該路線最近的高速公路入口和從高速公路出口到普林斯頓的更短的路線。如果,比方說,沒有從伯克利到附近的高速公路入口的已知路線,則系統(tǒng)可能尋找甚
至更加細(xì)化的路線-例如,從伯克利市區(qū)到伯克利的Shattuck大道、再從Shattuck大道
到1-580。一般地,系統(tǒng)可能以較長的路線開始,然后搜索繼續(xù)細(xì)化的路線以拼入,直到創(chuàng)建從點(diǎn)A到點(diǎn)B的完整的方向集合為止。
[0024]下面看附圖,圖1示出了可以行駛其上的路線的示例地圖100。在該示例中,地圖100被圖示為具有呈直角的街道的矩形柵格。然而,應(yīng)當(dāng)理解,地圖可以顯示按照任何形狀的路徑并且以任何方式相交的街道的任何集合。
[0025]地圖100在水平方向上具有以數(shù)字編號的街道(第I街?第7街),并且在垂直方向上具有以字母編號的街道(A街?G街)。沿這些街道的已知路線以沿街道的深粗線被示出。如以上所示,這些路線在已實(shí)際地觀察到有人沿這些路線行駛的意義上可以是“已知”的。然而,通過除了實(shí)際觀察到有人行駛該路線以外的其它一些機(jī)制,路線也可能成為已知。圖1所示的路線展現(xiàn)出路線的和路線所存在的地圖的各種屬性。這些屬性在下文加以說明。
[0026]路線102是開始于第6街與A街的拐角處、結(jié)束于第7街與B街的拐角處的路線。路線102具有兩個(gè)路段104和106?!奥范巍笔锹肪€的一部分,對于這一部分而言,沒有轉(zhuǎn)向離開路線的可能。這樣,路段104覆蓋路線102的從第6街與A街的拐角行至第6街與B街的拐角的部分。由于在那兩個(gè)拐角之間沒有交叉路口,因而路線102在那兩個(gè)拐角之間的部分是路段。類似地,由于第6街與B街的拐角和第7街與B街的拐角之間沒有交叉路口,因而路線102的那部分也是路段(路段106)。類似地,路線108是包含路段110、112和114的三路段路線。盡管路線108看似未實(shí)施任何“轉(zhuǎn)向”(它沿第6街直行),但路線108在它穿過兩個(gè)交叉路口、在此行駛者必須對去往哪里做出決定的意義上被認(rèn)為具有“轉(zhuǎn)向”。例如,因?yàn)橛锌赡茉诘?街與D街的交叉路口處向左轉(zhuǎn)、向右轉(zhuǎn)或直行,所以通過交叉路口繼續(xù)沿第6街直行的決定被理解成“轉(zhuǎn)向”。沿路線108的兩個(gè)這樣的交叉路口將路線分割成3個(gè)路段。
[0027]正如通過交叉路口直行可以被解釋成“轉(zhuǎn)向”那樣,通過物理拐角前行的路線可以被理解成“無轉(zhuǎn)向”。例如,路線116沿G街前行,然后在零(Null)街的拐角處通過90度角前行。然而,由于G街結(jié)束而零街開始于靠近該90度角處,因而通過該角前行不被認(rèn)為是為了確定路線有多少個(gè)路段目的的“轉(zhuǎn)向”,這是因?yàn)檠谿街行駛到零街的人別無選擇,只能左轉(zhuǎn)進(jìn)入零街。
[0028]還示出了各種其它路線。路線118從第I街與A街的拐角前行到第3街與C街的拐角。出于以上說明的原因,第I與B、第I與C和第2與C處的交叉路口全都被認(rèn)為是轉(zhuǎn)向。由于有三個(gè)這樣的交叉路口,因而路線118是四路段路線。路線120是從第I街與C街前行到第4街與E街的五路段路線。路線122是從第3街與D街前行到第5街與F街的六路段路線。路線124是從第I街與C街前行到第5街與F街的七路段路線。在下文使用這些路線來展現(xiàn)可以如何將已知路線組合以提供方向集合的各種方面。
[0029]假設(shè)路線102、108、116、118、120、122和124存儲在數(shù)據(jù)庫中,并且有人詢問了從點(diǎn)X (第I與A的拐角)到點(diǎn)Y (第5與F的拐角)的方向。應(yīng)當(dāng)觀察到,沒有一條實(shí)際地從點(diǎn)X行至點(diǎn)Y的單條已知路線。然而,處理該請求的系統(tǒng)(例如,汽車導(dǎo)航系統(tǒng)、或必應(yīng)地圖等Web站點(diǎn))可以嘗試組合已有路線以創(chuàng)建從X到Y(jié)的方向。系統(tǒng)可能首先嘗試將路線118的頭兩個(gè)路段與路線124的全部路段組合起來。然而,路線118和124沒有共同的路段或轉(zhuǎn)向。如以上所討論的,在一個(gè)示例中,本文的主題可以避免創(chuàng)建在真實(shí)生活中尚未被驗(yàn)證的轉(zhuǎn)向,因此系統(tǒng)可以避免組合這些路線。盡管這些路線可能看似具有共同的交叉路口(即第I街與C街的拐角),但由于這些路線不表示有人沿第I街直行通過C街處的交叉路口,因而該交叉路口不代表共同的轉(zhuǎn)向。換句話說,由于沒有任何人行駛過該路線的證據(jù),因而直行通過C街不是系統(tǒng)“已知”的路線的一部分。(例如,可能在該交叉路口有個(gè)阻止直行的混凝土路障,盡管這種路障從地圖上不顯現(xiàn)。)。
[0030]系統(tǒng)還可能嘗試結(jié)合路線118、120和124??梢钥闯觯肪€118和120具有兩個(gè)重疊的路段(從第I和C到第2和C的路段,以及從第2和C到第3和C的路段)。然而,盡管可能看似路線124的盡頭能夠接上路線120的截止處,但應(yīng)當(dāng)注意路線120和124沒有共同的路段和轉(zhuǎn)向。相反,路線120在第4街與E街的拐角處與路線124垂直地結(jié)束,因此沒有包括從第4街到E街的轉(zhuǎn)向的已知路線。這樣,路線124不能被添加至路線118和120的組合。然而,路線122確實(shí)與路線120具有兩個(gè)共同路段一即從第3和D到第4和D的路段,以及從第4和D到第4和E的路段。這樣,從X到Y(jié)的路線可以通過將路線118、120和122的部分組合來構(gòu)建。應(yīng)當(dāng)注意,由于通過組合路線118、120和122所生成的路線包括從第5街沿E街走到第6街,然后又沿F街從第6街回到第5街,因而該路線顯得繞遠(yuǎn)。然而,該路線可以通過將路線122與路線124組合而多少被縮短。由于路線122和124具有共同的路段(從第4和E到第5和E的路段),因而有可能將路線122與路線124的最后兩個(gè)路段組合,以避免被迫取道該繞遠(yuǎn)的路線。(然而,某些實(shí)施方式可能堅(jiān)持要求兩條路線具有多于一個(gè)共同路段,然后才組合兩條路線。具有更大數(shù)量共同路段的路線可能帶給人們感覺更順暢且“崎嶇”更少的真實(shí)生活行程,這是因?yàn)檫@種路線具有被人們實(shí)際行駛過的多路段延伸。)。
[0031]如果從路線118、120、122和124創(chuàng)建方向集合,則以點(diǎn)劃線(線126)來示出從點(diǎn)X到點(diǎn)Y的完整方向。通過將已知路線的集合拼接在一起而構(gòu)建的這些方向可以作為從點(diǎn)A到達(dá)點(diǎn)B的路而提供給請求者。以這種方式,提供方向的問題縮減成從已知路線的數(shù)據(jù)庫檢索路線的正確組合以及遵循某些規(guī)則將那些路線拼接在一起的問題。
[0032]注意到在圖1的示例中示出的路線是有方向的,其方向由箭頭所示。例如,路線102是從第6街與A街的拐角行至第7街與B街的拐角的路線,它不是以相反方向從第7街與B街的拐角行至第6街與A街的拐角的路線。本文的主題的一個(gè)方面是利用關(guān)于人們實(shí)際行駛過的路線的信息,并且以一個(gè)方向行駛路線和以相反方向行駛該路線會遇到不同的問題(例如,街道可能是單行的,或者取決于轉(zhuǎn)去的方向和人正行駛在哪條路上,某些轉(zhuǎn)向可能是不合法的。)然而,本文的主題不限于有方向的路線,而是包括使用無方向路線的系統(tǒng)。
[0033]圖2示出了可以被用來建立已知路線的數(shù)據(jù)庫的組件的示例集合。圖2的示例示出了從人們實(shí)際行駛過的路線建立的數(shù)據(jù)庫。然而如以上所述,本文的主題的某些方面不限于以這種方式采集已知路線的情況。
[0034]在圖2中,車輛202沿路線行駛(如箭頭204所示)。通過示例,車輛202被圖示為轎車,但是車輛202可以是任何類型的車輛——例如,公交車、卡車、摩托車、自行車等。另夕卜,盡管圖2的示例示出了車輛正在行駛的路線,但在另一示例中也可以由不乘坐任何類型車輛移動的步行者來行駛路線。
[0035]車輛202配備有GPS設(shè)備206。GPS設(shè)備206可以是便攜導(dǎo)航匣、裝載在儀表盤上的導(dǎo)航臺、配備有GPS接收器的智能手機(jī)或任何其它類型的設(shè)備。GPS設(shè)備206可以確定它在全球范圍的當(dāng)前位置并且能夠?qū)⒃撐恢玫淖鴺?biāo)發(fā)送至接收器。(如以上所述,出于對隱私的考慮,有人可能選擇不讓自己的位置被跟蹤和發(fā)送,但是也有人自愿選擇允許他們的位置被發(fā)送。)GPS設(shè)備206將它的信息(例如經(jīng)過蜂窩電話網(wǎng)絡(luò))發(fā)送至GPS蹤跡接收器208。
[0036]GPS蹤跡接收器208接收到的信息可以是在一段時(shí)間內(nèi)傳播的坐標(biāo)的流。例如,GPS蹤跡接收器208可以在車輛202的整個(gè)行駛期間每隔10秒接收一次坐標(biāo)。使用這些坐標(biāo)可以確定車輛202行駛了哪條路線、行駛該路線花了多長時(shí)間、乃至行駛該路線的具體部分花多長時(shí)間。GPS蹤跡接收器可以將該信息提供給GPS蹤跡轉(zhuǎn)地圖對應(yīng)引擎210,該引擎充當(dāng)基于GPS蹤跡的路線的創(chuàng)建者。由于坐標(biāo)只是原始位置數(shù)據(jù)(例如緯度和經(jīng)度坐標(biāo)),因而引擎210可以將這些坐標(biāo)應(yīng)用于實(shí)際地圖以確定車輛202行駛了哪些路線。例如,GPS蹤跡接收器可以發(fā)現(xiàn)車輛202在下列時(shí)刻處在下列位置:
BiIi_
1:00:0047.606622, - 122.333407
1:00:1047.607342,一 122.334035
1:00:2047.608785, - 122.335392
然而,引擎210可以確定:這些時(shí)刻和坐標(biāo)表明車輛202正在西雅圖Madison與Union大街之間沿第4街向北行駛。
[0037]一旦引擎210確定了哪條實(shí)際路線212對應(yīng)于GPS蹤跡,則引擎210可以將路線212存儲在路線數(shù)據(jù)庫214中。路線數(shù)據(jù)庫214可以包含從車輛202 (和從許多其它車輛)的GPS蹤跡識別的每條路線212。另外,對于每條路線,數(shù)據(jù)庫214可以存儲時(shí)間信息216和/或成本信息218。時(shí)間信息216指示觀察路線的時(shí)間和行駛該路線花多長時(shí)間。如以上所討論的,有些路線可能只在一天中的某些時(shí)刻可用而在其它時(shí)刻不可用(例如,可能有禁止在高峰時(shí)段左轉(zhuǎn)的限制,或者某些車道可能在早高峰和晚高峰之間調(diào)換方向)。這樣,在從已知路線創(chuàng)建方向集合時(shí),知道在何時(shí)觀察了路線可能是相關(guān)的。成本信息218可以指示行駛特定路線的成本。該成本可以基于時(shí)間(例如,花費(fèi)長時(shí)間行駛的路線可以被視為比可以花費(fèi)較少時(shí)間行駛的路線具有更高的“成本”)。然而,成本還可以基于其它因素一例如距離、限速、存在已知的超速處罰區(qū)、是否存在收費(fèi)站、或任何其它信息。行駛路線的成本可以由成本分析器220來確定,該成本分析器220可以將這些因素(或其它因素)都考慮在內(nèi),并且可以確定任何給定路線的成本信息218。
[0038]圖3以流程圖的形式示出了基于GPS蹤跡建立路線的數(shù)據(jù)庫的示例處理。在轉(zhuǎn)到圖3的說明之前,應(yīng)當(dāng)注意雖然本文(在圖3和圖5中)包含的流程圖是參照圖1、2和4所示的組件通過示例說明的,但是這些處理可以在任何系統(tǒng)中執(zhí)行并且不限于圖1、2和4所示的場景。此外,圖3和圖5中的每一幅流程圖都示出了以特定次序執(zhí)行處理的各階段的示例(如連接各框的線所指示),但是這些圖中所示的各個(gè)階段可以以任何次序執(zhí)行,或是可以以任何組合或下級組合執(zhí)行。
[0039]在302處,可以接收到GPS蹤跡。在304處,可以將GPS蹤跡應(yīng)用于地圖以獲得GPS蹤跡(例如坐標(biāo)和接收到那些坐標(biāo)的時(shí)刻)所代表的路線,可以對GPS蹤跡進(jìn)行分析以確定匯報(bào)那些坐標(biāo)的GPS設(shè)備行駛了哪條(些)道路,何時(shí)行駛了那些道路,以及方向如何。
[0040]在306處,確定路線是否具有多于一個(gè)路段。如以上所述,路段是路線中沒有可能轉(zhuǎn)向的部分。只有一個(gè)路段的路線是不能與其它路線組合的路線,這是因?yàn)閱蝹€(gè)路段路線不包含轉(zhuǎn)向到不同路線上的路。這樣,如果路線不具有多于一個(gè)路段,則不存儲該路線(在308處)。另一方面,如果路線確實(shí)具有多于一個(gè)路段,則在310處將路線存儲在數(shù)據(jù)庫中。
[0041]對于每一條所存儲的路線,可以計(jì)算與該路線關(guān)聯(lián)的成本(在312處)。成本可以基于各種因素。在圖3中示出了那些因素314的一些示例。
[0042]一個(gè)示例因素是行駛路線所花的時(shí)間(框316)。假設(shè)人們傾向于尋求從一個(gè)地方到另一個(gè)地方的最快路線,則花費(fèi)更長時(shí)間行駛的路線可以被視為具有比花費(fèi)更少時(shí)間行駛的路線更高的成本。另一個(gè)可以考慮的因素是與路線中的每一轉(zhuǎn)向關(guān)聯(lián)的時(shí)間(框318)。由于沿直路行駛(交通罕至?xí)r)可以相對較快,因而行駛路線花費(fèi)的大部分時(shí)間可能都花在轉(zhuǎn)向上了。這樣,知道這些轉(zhuǎn)向有多費(fèi)時(shí)可能是相關(guān)的。此外,由于可以將路線的部分組合在一起以創(chuàng)建方向集合,因而除了行駛路線的總成本以外知道完成特定的轉(zhuǎn)向要花多長時(shí)間可能是相關(guān)的,這是因?yàn)檗D(zhuǎn)向的成本決定了將兩條路線拼接在一起是如何昂貴。這樣,在計(jì)算總成本時(shí)可以將在路線中實(shí)施轉(zhuǎn)向所花的時(shí)間考慮在內(nèi),并且可以將該時(shí)間獨(dú)立于總成本存儲。
[0043]另一個(gè)可以被考慮在內(nèi)的因素是一天中路線被行駛的時(shí)刻(框320)。例如,如果在下午3:00行駛了路線并且行駛花費(fèi)20分鐘,則在成本計(jì)算時(shí)該事實(shí)可能被視為不同于在下午5:00花20分鐘行駛該路線的情況,這是因?yàn)槿藗冾A(yù)期在下午5:00時(shí)交通量更大。這樣,在確定路線的總成本時(shí),一天中路線被實(shí)際行駛的時(shí)刻可以被考慮在內(nèi)。在某些情況下,由于一天中行駛發(fā)生的時(shí)刻可能與確定向人們推薦哪條路線高度相關(guān),因而可以對于一天的不同時(shí)刻計(jì)算不同成本。
[0044]另一個(gè)可以被考慮在內(nèi)的因素是觀察路線時(shí)車輛中乘客的人數(shù)(框322)。(該信息可以由車輛的駕駛員自行匯報(bào)。)乘客的人數(shù)可能相關(guān)的原因是某些車道具有客容限制(例如華盛頓州SR-520具有HOV車道,只有至少3人以上乘客的轎車才能使用該HOV車道),并且有些收費(fèi)道路基于車輛中的乘客人數(shù)而給予折扣(例如,有至少3人乘客的轎車穿過林肯隧道向東只付2美元而不是正常的8美元通行費(fèi))。這樣,成本可以基于車輛中有多少乘客。能夠在高峰時(shí)段使用HOV車道可以極大地減少行駛路線所花的時(shí)間,并且減少通行費(fèi)的量以另一種方式減少了行程的成本。這樣,在某些情況下,可以對于車輛中的不同人數(shù)計(jì)算路線的不同成本。
[0045]前述是與路線的成本關(guān)聯(lián)的示例因素的列表,這些示例因素也可以被用來確定將推薦哪些路線。然而,可以考慮其它因素,如駕駛員是本地居民還是到此地的來訪者(與本地人相比,來訪者可能傾向于偏愛更簡單的路線),或是車輛的類型(高的車輛可能難以駛過某些立交橋下;長的車輛可能難以實(shí)施某些轉(zhuǎn)向;商用卡車可能在稱重站處必須停車)
坐寸o
[0046]在324處可以存儲計(jì)算出的成本。應(yīng)當(dāng)注意,該成本可以是數(shù)字,但也可以是用來基于某些變量生成數(shù)字的函數(shù)。例如,如果路線的行駛成本基于一天中路線被行駛的時(shí)刻(t)和/或車輛中的人數(shù)(n),則“成本”可能實(shí)際上是C (t,n)等函數(shù),該函數(shù)在確定行駛路線的成本時(shí)將時(shí)刻和車輛的客容考慮在內(nèi)。取決于環(huán)境和情境可以計(jì)算其它類型的成本——例如,在購物行程中,由于可能認(rèn)為人們到訪多家店鋪的購物行程比人們不停車地迅速駛過道路的購物行程更高效,因而多次停車可以被解釋成行程的成本降低(即使停車使得行程花費(fèi)的時(shí)間更長)。
[0047]一旦創(chuàng)建了路線的數(shù)據(jù)庫,則可以使用那些路線來響應(yīng)路線問詢。(然而,如以上所示,不管已知路線的數(shù)據(jù)庫是從實(shí)際的GPS蹤跡創(chuàng)建還是以某種其它方式創(chuàng)建,本文說明的技術(shù)都可以用來響應(yīng)路線問詢。)圖4示出了可以被用來響應(yīng)路線問詢的示例系統(tǒng)。
[0048]問詢處理器402接收路線問詢404。一個(gè)示例路線問詢是“從加利福尼亞州的伯克利到新澤西州的普林斯頓”,這是可以將該問詢鍵入到地圖Web站點(diǎn)中的形式。然而,問詢可以采取如將目的地鍵入導(dǎo)航匣等任何形式,該形式有效地構(gòu)成了對從導(dǎo)航匣的當(dāng)前位置到不論哪個(gè)目的地的方向的問詢(使得當(dāng)前位置和指定目的地被當(dāng)作問詢的兩個(gè)端點(diǎn))。
[0049]將已知路線存儲在路線數(shù)據(jù)庫214中。這樣,問詢處理器402可以查詢路線數(shù)據(jù)庫214以確定可以使用哪些已知路線來響應(yīng)問詢404。如果在路線數(shù)據(jù)庫214中存在有行于問詢404中指定的兩個(gè)端點(diǎn)之間的路線,則可以檢索該路線并且可以將該路線作為方向406來提供。(如圖4所示,方向406的示例是“左轉(zhuǎn)上主路(Main)。進(jìn)入1_80高速公路。向東行駛900英里……”)。
[0050]問詢處理器402可以包括路線合成器408,該路線合成器408構(gòu)成可將數(shù)據(jù)庫214中的路線拼接在一起以合成新路線的軟件和/或硬件。如果在路線數(shù)據(jù)庫214中不存在問詢的端點(diǎn)之間的路線,則路線合成器408可以從已有的已知路線構(gòu)建路線,并且所構(gòu)建的路線可以作為方向406來提供。路線合成器408可以使用以上結(jié)合圖1說明的并且還將在下文中結(jié)合圖5更詳細(xì)地說明的技術(shù)來構(gòu)建該路線。
[0051 ] 圖5示出了通過檢索已有的已知路線來響應(yīng)路線問詢的示例處理。在502處,可以接收到路線問詢(例如“從加利福尼亞州的伯克利到新澤西州的普林斯頓”)。在504處,處理可以在路線數(shù)據(jù)庫214中尋找接近問詢的端點(diǎn)的最長路線。在某些情況下,路線數(shù)據(jù)庫214將實(shí)際地包含問詢中兩個(gè)端點(diǎn)之間的路線,在這種情況下,處理可以簡單地通過以方向集合的形式提供該路線來做出響應(yīng)。然而,在許多情況下,路線數(shù)據(jù)庫214將不包含與問詢中端點(diǎn)精確地匹配的路 線。在這種情況下,圖5的處理嘗試從其它路線構(gòu)建那些端點(diǎn)之間的路線。
[0052]為了構(gòu)建這種路線,通過首先嘗試找到從問詢中的起點(diǎn)附近的地方行至問詢的終點(diǎn)附近的地方的長路線,所述處理可以考慮已有路線的長度。例如,參照伯克利到普林斯頓的問詢,舊金山在伯克利附近而紐約在普林斯頓附近。如果數(shù)據(jù)庫214包含舊金山到紐約的路線,則可以使用該路線作為基礎(chǔ)來構(gòu)建伯克利到普林斯頓的路線。舊金山到紐約的路線可以被選為起點(diǎn);在本示例中做出舊金山到紐約的選擇具體地是因?yàn)樵撀肪€的起點(diǎn)和終點(diǎn)接近問詢中指定的端點(diǎn)。由于存在于數(shù)據(jù)庫中的長路線代表人們關(guān)于如何從一點(diǎn)行駛到另一點(diǎn)的實(shí)際選擇,因而它可以被認(rèn)為是特別可靠的。這樣,圖5的處理可以從尋找長路線開始,并且可以使用更短的路線來填充間隙。這樣,從數(shù)據(jù)庫檢索的一條或多條路線是從路線問詢中指明的一個(gè)端點(diǎn)行至另一端點(diǎn)的、要么是單獨(dú)的要么是組合的路線。
[0053]因此,一旦選擇了長路線,則在506處,該處理繼續(xù)尋找更短的路線以將端點(diǎn)連接到更長的路線。例如,當(dāng)已選擇長的舊金山到紐約的路線作為基礎(chǔ)來構(gòu)建伯克利到普林斯頓的路線時(shí),該處理可以尋找從伯克利行至長路線上的交叉路口的路線和從長路線上的交叉路口行至普林斯頓的其它路線。如果不存在伯克利與舊金山到紐約路線上的交叉路口之間的任何路線,則該處理可以繼續(xù)尋找更短的路線來構(gòu)建這種路線。如以上所說明的,可以支配路線選擇處理的一個(gè)示例規(guī)則是僅當(dāng)兩條路線的重疊程度滿足某一標(biāo)準(zhǔn)(例如,如果它們具有一定數(shù)量的共同路段,以及如果有從一條路線轉(zhuǎn)到另一條路線上的轉(zhuǎn)向)時(shí)才結(jié)合這兩條路線。
[0054]一旦已識別出具有共同路段的路線,則可以將這些路線在共同的路段處結(jié)合在一起(在508處)??梢灾貜?fù)地執(zhí)行找出路線的處理,并且可以創(chuàng)建多條路線。在510處可以比較這些競爭路線的成本。在512處,處理可以通過基于最低成本路線提供方向來響應(yīng)在502處接收到的問詢。[0055]圖6示出了可以利用本文說明的主題的方面的示例環(huán)境。
[0056]計(jì)算機(jī)600包括一個(gè)或多個(gè)處理器602和一個(gè)或多個(gè)數(shù)據(jù)記憶組件604。處理器602典型地是微處理器,例如那些在個(gè)人桌面或膝上計(jì)算機(jī)、服務(wù)器、手持計(jì)算機(jī)或另一種計(jì)算設(shè)備中可見的微處理器。數(shù)據(jù)記憶組件604是能夠短期或長期地存儲數(shù)據(jù)的組件。數(shù)據(jù)記憶組件604的示例包括硬盤、可移動盤(包括光盤和磁盤)、易失性和非易失性隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)、閃存、磁帶等。數(shù)據(jù)記憶組件是計(jì)算機(jī)可讀存儲媒介的示例。計(jì)算機(jī)600可以包括顯示器612或與顯示器612關(guān)聯(lián),該顯示器612可以是陰極射線管(CRT)監(jiān)視器、液晶顯示(IXD)監(jiān)視器或任何其它類型的監(jiān)視器。
[0057]軟件可以存儲在數(shù)據(jù)記憶組件604中并且可以在一個(gè)或多個(gè)處理器602上執(zhí)行。這種軟件的一個(gè)示例是可以實(shí)施以上結(jié)合圖1?5說明的一些或全部功能的路線檢索和構(gòu)建軟件606,但是也可以使用任何類型的軟件。軟件606可以例如通過一個(gè)或多個(gè)組件實(shí)施,組件可以是分布式系統(tǒng)、分立的文件、分立的功能、分立的對象、分立的代碼行等中的組件。程序被存儲在硬盤上、載入RAM并且在計(jì)算機(jī)的處理器上執(zhí)行的計(jì)算機(jī)(例如個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持計(jì)算機(jī)等)是圖6描繪的場景的典型,但是本文說明的主題不限于該示例。
[0058]本文說明的主題可以作為軟件來實(shí)施,該軟件存儲在一個(gè)或多個(gè)數(shù)據(jù)記憶組件604中并且在一個(gè)或多個(gè)處理器602上執(zhí)行。作為另一個(gè)不例,主題可以作為存儲在一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲媒介或計(jì)算機(jī)可讀存儲記憶體上的指令來實(shí)施。光盤或磁盤等有形媒介是存儲媒介的示例。指令可以存在于永久媒介上。這種指令當(dāng)被計(jì)算機(jī)或其它機(jī)器執(zhí)行時(shí)可以使得計(jì)算機(jī)或其它機(jī)器執(zhí)行方法的一個(gè)或多個(gè)動作。執(zhí)行動作的指令既可以存儲在一個(gè)媒介上,也可以跨多個(gè)媒介分布,使得不論是否全部指令恰好都在同一媒介上,該指令都可以看似集中地處在一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲媒介上。應(yīng)當(dāng)注意,“存儲”信號的媒介(可稱作“存儲媒介”)與相對照的發(fā)送傳播信號的媒介兩者之間有區(qū)別。DVD、閃存、磁盤等是存儲媒介的示例。另一方面,信號短暫地存在于其上的導(dǎo)線或纖維是瞬時(shí)信號媒介的示例。
[0059]此外,本文說明的任何動作(不論是否在圖中示出)都可以作為方法的一部分由處理器(例如,一個(gè)或多個(gè)處理器602)執(zhí)行。這樣,如果本文說明了動作A、B和C,則可以執(zhí)行包括A、B和C的動作的方法。另外,如果本文說明了 A、B和C的動作,則可以執(zhí)行包括使用處理器來執(zhí)行A、B和C的動作的方法。
[0060]在一種示例環(huán)境中,計(jì)算機(jī)600可以通過網(wǎng)絡(luò)608通信地連接至一個(gè)或多個(gè)其它設(shè)備。在結(jié)構(gòu)上可以與計(jì)算機(jī)600相似的計(jì)算機(jī)610是可以連接至計(jì)算機(jī)600的設(shè)備的示例,但是其它類型的設(shè)備也可以這樣連接。
[0061]盡管以針對結(jié)構(gòu)特征和/或方法動作的具體語言說明了主題,但是應(yīng)當(dāng)理解,在所附權(quán)利要求中定義的主題未必僅限于以上說明的具體特征或動作。相反,以上說明的具體特征或動作是作為實(shí)施權(quán)利要求的示例形式而公開的。
【權(quán)利要求】
1.一種提供方向的方法,所述方法包括: 通過采集全球定位系統(tǒng)(GPS)數(shù)據(jù)并且將所述GPS數(shù)據(jù)應(yīng)用于地圖來獲得人們行駛過的多條路線; 將所述多條路線存儲在數(shù)據(jù)庫中; 接收指明第一端點(diǎn)和第二端點(diǎn)的問詢; 在所述數(shù)據(jù)庫中搜索一條或多條從所述第一端點(diǎn)行至所述第二端點(diǎn)的、要么是單獨(dú)的要么是組合的路線; 從所述數(shù)據(jù)庫中檢索所述一條或多條路線; 基于所述一條或多條路線創(chuàng)建方向集合;以及 向人提供所述方向集合。
2.根據(jù)權(quán)利要求1所述的方法,所述動作進(jìn)一步包括: 將所述一條或多條路線組合在一起以創(chuàng)建從所述第一端點(diǎn)到所述第二端點(diǎn)的完整的路線,所述組合由指定了路線要被組合在一起所要具備的重疊量的規(guī)則支配,所述規(guī)則指定路線要被組合在一起所要具有的共同路段的數(shù)量,每一個(gè)路段是路線中無轉(zhuǎn)向的部分。
3.根據(jù)權(quán)利要求1所述的方法,所述數(shù)據(jù)庫中的每一條路線與成本相關(guān)聯(lián),該成本將一天中行駛路線的時(shí)刻或行駛路線的車輛中的人數(shù)考慮在內(nèi),所述動作進(jìn)一步包括: 基于所述成本并且要么基于一天中接收到所述問詢的時(shí)刻要么基于將使用所述方向的車輛中的人數(shù)來選擇在所述方向使用所述一條或多條路線中的哪條路線。
4.根據(jù)權(quán)利要求1所述的方法,其中所述搜索包括:` 基于路線的長度,通過首先尋找更長的路線、然后繼續(xù)尋找更短的路線來搜索路線。
5.根據(jù)權(quán)利要求1所述的方法,其中所述搜索包括: 基于第一路線的起點(diǎn)與所述第一端點(diǎn)之間的接近性、以及基于第一路線的終點(diǎn)與所述第二端點(diǎn)之間的接近性,在所述數(shù)據(jù)庫中找出所述第一路線; 在所述數(shù)據(jù)庫中找出從所述第一端點(diǎn)到沿所述第一路線的交叉路口的第二路線;以及 在所述數(shù)據(jù)庫中找出從沿所述第一路線的交叉路口到所述第二端點(diǎn)的第三路線。
6.一種具有計(jì)算機(jī)可執(zhí)行指令以執(zhí)行根據(jù)權(quán)利要求1~5中的任何一個(gè)的方法的計(jì)算機(jī)可讀媒介。
7.一種提供方向的系統(tǒng),所述系統(tǒng)包括: 全球定位系統(tǒng)(GPS)蹤跡接收器,所述GPS蹤跡接收器從設(shè)備接收GPS蹤跡; 路線數(shù)據(jù)庫; 路線創(chuàng)建器,所述路線創(chuàng)建器基于所述GPS蹤跡識別行駛過的路線并且將所述路線存儲在所述路線數(shù)據(jù)庫中; 存儲器; 問詢處理組件,所述問詢處理組件存儲在所述存儲器中,接收包括第一端點(diǎn)和第二端點(diǎn)的路線問詢,從所述數(shù)據(jù)庫中檢索集中地從所述第一端點(diǎn)行至所述第二端點(diǎn)的多條重疊路線;以及 路線合成器,所述路線合成器基于所述重疊路線中的哪些滿足支配重疊的程度的規(guī)則而將所述重疊路線結(jié)合在一起,以創(chuàng)建從所述第一端點(diǎn)到所述第二端點(diǎn)的完整的路線,其中所述問詢處理組件基于所述完整的路線向人提供方向集合。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其中所述路線合成器在所述完整的路線中僅包括在從所述GPS蹤跡創(chuàng)建的路線中實(shí)施過的轉(zhuǎn)向。
9.根據(jù)權(quán)利要求7所述的系統(tǒng),其中所述路線合成器在確定所述完整的路線中將使用哪些路線時(shí),將每一條所述路線的成本考慮在內(nèi),所述成本是基于一天中行駛所述路線的時(shí)刻或行駛所述路線的車輛中的人數(shù)。
10.根據(jù)權(quán)利要求7所述的系統(tǒng),其中所述問詢處理器基于第一路線的起點(diǎn)與所述第一端點(diǎn)之間的接近性、以及基于第一路線的終點(diǎn)與所述第二端點(diǎn)之間的接近性,在所述數(shù)據(jù)庫中找出所述第一路線,其中所述問詢處理器在所述數(shù)據(jù)庫中找出從所述第一端點(diǎn)到沿所述第一路線的交叉路口的第二路線,并且其中所述問詢處理器在所述數(shù)據(jù)庫中找出從沿所述第一路線的交叉路口到所述 第二端點(diǎn)的第三路線。
【文檔編號】G01C21/34GK103620345SQ201280032107
【公開日】2014年3月5日 申請日期:2012年6月2日 優(yōu)先權(quán)日:2011年6月28日
【發(fā)明者】E.奧菲克, J.庫庫伊特, G.金基, B.貝克曼 申請人:微軟公司