Mapquest的工作原理
1. 引言 2. MapQuest的技術(shù) 3. 地理編碼 4. 使用MapQuest
5. 其他MapQuest應(yīng)用程序 6. MapQuest的錯誤
MapQuest絕對稱得上是一個精彩絕倫的網(wǎng)絡(luò)地圖程序。它的主要功能包括:FindIt,可以找出特定區(qū)域內(nèi)的商業(yè)設(shè)施;地圖,根據(jù)地址、城市、郵編或經(jīng)緯度創(chuàng)建一個位置地圖;以及行車指引,可根據(jù)你提供的地址信息生成從A點到B點的行車路線。它可以生成兩所住宅之間、兩個城市之間或者從Vancouver的一個購物商場到佛羅里達某個機場的行車路線,并且估計出到達目的地所需的時間。
MapQuest.com如何確定“理想”路線?有哪些最常見的錯誤?為何會發(fā)生這些錯誤?在本文中,讓我們來看看MapQuest.com背后的秘密,了解它如何提供地圖和方向指示,以及其他一些不太為人所知的應(yīng)用程序。
MapQuest絕對稱得上是一個精彩絕倫的網(wǎng)絡(luò)地圖程序。它的主要功能包括:FindIt,可以找出特定區(qū)域內(nèi)的商業(yè)設(shè)施;地圖,根據(jù)地址、城市、郵編或經(jīng)緯度創(chuàng)建一個位置地圖;以及行車指引,可根據(jù)你提供的地址信息生成從A點到B點的行車路線。它可以生成兩所住宅之間、兩個城市之間或者從Vancouver的一個購物商場到佛羅里達某個機場的行車路線,并且估計出到達目的地所需的時間。
每天,MapQuest.com生成約500萬張地圖和大約700萬條行車路線。MapQuest需要處理大量數(shù)據(jù)——它提供街道級別的美國、加拿大、法國、英國、德國、意大利、奧地利、比利時、丹麥、盧森堡、荷蘭、瑞士和西班牙地圖,并且提供世界其他國家/地區(qū)的城市級別的地圖。這些地圖的來源包括MapQuestand為其印刷出版物自行建立的繪圖數(shù)據(jù)、來自其他數(shù)字地圖公司(例如NavTech和TeleAtlas)的信息以及諸如美國郵政服務(wù)這樣的政府機構(gòu)編撰的數(shù)據(jù)庫。MapQuest每三個月更新一次數(shù)據(jù),根據(jù)各個地圖來源提供的信息添加新數(shù)據(jù)或修正數(shù)據(jù)。
MapQuest的技術(shù)
正如大多數(shù)人知道的,MapQuest的34臺服務(wù)器在維吉尼亞州的AOL數(shù)據(jù)中心進行托管。這34臺服務(wù)器負責(zé)處理即時創(chuàng)建地圖和行車路線所需的所有數(shù)據(jù)以及相關(guān)計算工作。這些服務(wù)器的具體任務(wù)細分如下:
- 15臺服務(wù)器生成地圖
- 15臺服務(wù)器處理地理編碼工作(將地址與經(jīng)緯度坐標進行匹配)
- 4臺服務(wù)器創(chuàng)建行車路線
每臺服務(wù)器都是一個自給自足的單元,存儲的信息與所在任務(wù)組中其他服務(wù)器上存儲的信息完全相同。如果你要求MapQuest生成行車路線,在行車路線最終顯示在屏幕上時,會用到15臺地理編碼(我們將在下一節(jié)中討論地理編碼)服務(wù)器中的一臺服務(wù)器,15臺地圖生成服務(wù)器中的一臺服務(wù)器以及四臺路線生成服務(wù)器中的一臺服務(wù)器。
|
MapQuest的路線生成算法會查找兩點之間所有可能的路線,并通過在行程的每個階段權(quán)衡某些因素來挑選一條路線。其目標是選出一條最快、最直接的路線。它會考慮道路類型(例如,如果有高速公路或土路供選擇,它會選擇高速公路)、轉(zhuǎn)彎的數(shù)量、道路流量和交叉口數(shù)量等因素。在為行程的每一步選擇了理想路段之后,它會提供一條完整的行車路線。
|
MapQuest將所有這些數(shù)據(jù)輸入到自己的技術(shù)基礎(chǔ)結(jié)構(gòu)中,以便將數(shù)據(jù)轉(zhuǎn)換為地圖和方向指引并顯示在MapQuest.com上。讓我們看看在這個過程會涉及哪些工作。
當MapQuest路線生成服務(wù)器生成一條路線時,它還會計算出預(yù)計的行車時間。行車時間是根據(jù)各個路段的行車速度(通常是規(guī)定的速度上限)和通過各個交叉路口所需的時間計算得出的。MapQuest的市場營銷主管Jim Greiner說,“根據(jù)轉(zhuǎn)彎的類型(左轉(zhuǎn)、右轉(zhuǎn)或十字路口)以及交叉路口處的道路數(shù)量、類型和形狀”來計算通過交叉口所需的時間。例如,軟件假設(shè)從輔路左轉(zhuǎn)彎進入主路要比從主路右轉(zhuǎn)彎進入輔路花費更多的時間。
為了在地圖上標出位置或提供從一點到另一點的行車路線,MapQuest必須首先將街道地址轉(zhuǎn)換為經(jīng)緯度坐標。這個過程稱作地理編碼。
|
地理編碼
地理編碼指的是將一對經(jīng)度/緯度值指定給某個街道地址的過程。結(jié)果不一定很精確——地理編碼過程會根據(jù)可用信息做出盡可能準確的判斷。MapQuest使用多種方法之一來完成地理編碼工作。
地址插值
這種方法可提供最精確的結(jié)果。在地址插值過程中,街道被分割成多個段,每段都有個關(guān)聯(lián)的地址范圍。MapQuest的軟件基于給定地址應(yīng)該位于的街道段,有根據(jù)地猜測給定地址的位置。例如,假如你要求MapQuest顯示“加利福尼亞好萊塢榆樹街25號”這個地址的位置。地理編碼服務(wù)器會要求地圖生成服務(wù)器提供與好萊塢的榆樹街最匹配的數(shù)據(jù)。然后,它會找到街道一側(cè)的地址范圍為(1到49)而另一側(cè)的地址范圍為2到50的街道段。它假定25位于該街道奇數(shù)一側(cè)的中間位置,并在與該位置對應(yīng)的經(jīng)緯度坐標上定位該地址。
|
如果它不能使用插值方法對某個地址進行地理編碼——通常是因為數(shù)據(jù)庫中沒有收錄該街道或者給定區(qū)域中具有多個同名街道——服務(wù)器會嘗試使用交叉點匹配(如果地址位于美國之外)或郵編區(qū)域(如果地址位于美國國內(nèi))方法。
交叉點匹配
為了使用交叉點匹配方法對地址進行地理編碼,MapQuest需要找到兩個街道段:一個街道段位于MapQuest設(shè)想的該地址所在地的附近,而另一個街道段則與該街道段相交。然后,它假定該交叉點是與給定地址最接近的交叉點,并對其進行地理編碼。在這種情況下,MapQuest會生成標出了該交叉點的地圖,或者根據(jù)該交叉點來生成行車路線。
郵編區(qū)域
在美國,每個地址都有一個與城市特定區(qū)域?qū)?yīng)的郵政編碼。郵編區(qū)域是與五位數(shù)、七位數(shù)或九位數(shù)郵政編碼對應(yīng)的一個區(qū)域。大多數(shù)人都熟悉五位數(shù)郵編,但是這些郵編實際上可劃分為更小的“郵編+2”區(qū)域和甚至比這還小的“郵編+4”區(qū)域。“郵編+4”區(qū)域使用九位數(shù)郵編,你有時會在官方文檔中看到這種郵編,它通常只包括10戶家庭(你可以使用USPS郵編查詢來查找你所在地址的“郵編+4”代碼)。如果MapQuest可以找出該地址所在的九位數(shù)郵編區(qū)域,它就可以計算出與該區(qū)域中心對應(yīng)的經(jīng)緯度坐標。下一步是嘗試在“郵編+2”區(qū)域中定位該地址,然后最后找到基本的五位數(shù)郵編區(qū)域(一個面積很大的區(qū)域)。后面這兩種方法不會返回很精確的結(jié)果。
現(xiàn)在,你已經(jīng)了解了MapQuest生成地圖和行車路線的方法,下面讓我們看看如何使用MapQuest.com得到所需的信息。
使用MapQuest
讓我們使用MapQuest來規(guī)劃到達位于喬治亞州亞特蘭大的博聞網(wǎng)合作伙伴howstuffworks的行程。我們開始進行規(guī)劃所需的所有東西都位于主頁的右側(cè):
![]() |
我們需要做的第一件事情是找到亞特蘭大機場,因為那里將是我們的行程起點。如果單擊“FindIt”下面的“Search for Locations”(搜索地點),會看到一個包含某些字段的頁面,我們可以在這些字段中填寫要搜索的地點和搜索區(qū)域:
![]() 我們想查找位于喬治亞州亞特蘭大市的一個機場。 |
在同一頁面上,還有一個商業(yè)設(shè)施類別列表。如果你不知道要查找的地方的名稱或者不知道怎么稱呼它,可以搜索這些類別以找到正確的設(shè)施分類。你可以在“Travel”(旅行)類別中找到“Airports”(機場),該類別下還有“Auto Rental”(租車)、“Cruises”(游輪)、“Resorts”(風(fēng)景名勝)和“Sightseeing Tours”(觀光旅游)類別。單擊任意子類別可以用該關(guān)鍵詞自動填充“What”(搜索內(nèi)容)字段。
在我們單擊“Search for Locations”(搜索地點)時,MapQuest會生成一幅亞特蘭大地圖,并列出搜索到的“機場”。
![]() |
我們要找的是亞特蘭大哈特斯菲爾德機場(Hartsfield Atlanta Airport),它在列表中位于中間靠下的位置。在名稱和地址的緊下方有一些鏈接,我們可以通過它們查看地圖或查看與該地點之間的行車路線:
![]() |
如果我們單擊“Map”(地圖),會得到我們在亞特蘭大的起點位置的精美地圖(地圖中心為該機場):
|
臨近設(shè)施
如果在FindIt頁面上單擊“See What's in Your Neighborhood”(查看臨近設(shè)施),可以得到特定地址附近的所有商業(yè)設(shè)施的列表。圖右上方有一個名為“Find Nearby”(查找附近設(shè)施)的字段。如果我們要查找位于機場附近的一家酒店,可以在該字段中輸入“hotel”,然后會得到位于該區(qū)域的酒店列表。我們首先使用FindIt功能生成我們的地圖。我們也可以通過在主頁的“Maps”(地圖)部分中輸入亞特蘭大哈特斯菲爾德機場的地址來得到這幅地圖。此外,MapQuest可以通過郵編、城市、州和經(jīng)緯度來生成地圖。
在進入移動地圖視圖時,我們有多個選項可以使用。我們可以使用地圖周界上的箭頭來移動地圖,也可以直接單擊地圖。在地圖下方,我們可以決定在單擊地圖時執(zhí)行的操作——是放大地圖并將地圖中心設(shè)置為我們單擊的點,還是僅僅是重新設(shè)定地圖的中心。我們還可以使用地圖左側(cè)的縮放按鈕來放大或縮小地圖。我們能夠在最大尺度上看到的地圖是:
亞特蘭大和特斯菲爾德機場在北美地區(qū)的位置 |
地圖下方有一個用于路線指引的方框。在你獲得了某個位置的地圖之后,可以通過輸入起點地址或終點地址來得到起點與目的地之間的行車路線指引。我們的終點地址是“3350 Peachtree Road in Atlanta”(亞特蘭大市桃樹路3350號)——即,博聞網(wǎng)美國總部:
![]() |
在我們單擊“Get Directions”(獲得方向指引)時,MapQuest會生成從機場到博聞網(wǎng)美國總部的行車路線:
![]() 我們的行駛距離是30.29公里,行駛時間為24分鐘。 |
![]() |
如果我們返回到頁面頂部,可以看到在該處能夠執(zhí)行的一些操作。
|
使用“Find Nearby”(查找臨近設(shè)施)功能,我們可以查找一家咖啡館,以便在HowStuffWorks總部開門辦公之前能夠在那里稍事休息。由于我們的路程少于80公里,因此如果希望觀賞沿途風(fēng)景的話,可以要求行車路線避開主要高速公路。此外,我們還可以選擇回程路線,以便準確知道如何在行程結(jié)束后返回機場。
現(xiàn)在,我們已經(jīng)生成了準確的地圖信息,我們可以將它電子郵件發(fā)送它,將它發(fā)送給移動電話(使用基于訂閱的MapQuest Mobile服務(wù))或者將它下載到掌上型電腦(通過訂閱AvantGo軟件)。在下一節(jié)中,我們將了解這些通過訂閱獲得的額外服務(wù)。
|
其他MapQuest應(yīng)用程序<>/A
除了在網(wǎng)站上生成地圖和路線指引外,MapQuest還開發(fā)了大量應(yīng)用程序:
|
MapQuest LinkFree
通過MapQuest LinkFree,可以免費地直接鏈接到MapQuest網(wǎng)站上的地圖和行車路線。因此,如果你有自己的網(wǎng)站、個人主頁或者想將家中聚會的邀請函發(fā)送給朋友,可以在MapQuest上生成地圖和行車路線,然后將鏈接提供給朋友,他們可以單擊這些鏈接并立即獲得相關(guān)信息。有關(guān)將MapQuest信息添加到你的網(wǎng)頁的操作說明,請參見MapQuest:LinkFree。
MapQuest Mobile
MapQuest Mobile是一個訂閱服務(wù),可以通過移動電話提供商購買此服務(wù)。它的費用大約是每月4美元,你可以使用移動電話獲得地圖和行車路線,就像你在使用MapQuest網(wǎng)站一樣。此外,你還可以使用MapQuest.com上的“Send to Phone”(發(fā)送到電話)按鈕,將地圖和路線發(fā)送到你的電話進行下載和顯示。在下載并安裝了MapQuest Mobile應(yīng)用程序后,你的移動電話提供商會自動開始收取該服務(wù)的費用。
MapQuest FindMe
如果你有一部具備GPS功能的Nextel電話,可以將“FindMe”下載到電話上,隨時精確查看你在地圖中所處的位置,并根據(jù)當前位置使用MapQuest的本地搜索功能,還可以獲取地圖和行車路線并讓別人(人選由你決定)知道你現(xiàn)在的位置。FindMe是一個訂閱服務(wù),價格為每月5美元左右。通過使用FindMe伴侶網(wǎng)站,你可以跟蹤你的位置歷史記錄并決定哪些人能夠知道你現(xiàn)在的位置。
MapQuest個人導(dǎo)航設(shè)備
MapQuest, Inc.供圖 MapQuest PND |
MapQuest商務(wù)應(yīng)用程序
MapQuest提供了針對企業(yè)的多款商業(yè)產(chǎn)品,可以為企業(yè)的網(wǎng)站增加本地搜索、地圖和路線規(guī)劃功能。這些商務(wù)應(yīng)用程序的起價為每年5000美元,范圍從基本MapQuest功能與現(xiàn)有商業(yè)基礎(chǔ)結(jié)構(gòu)的簡單集成到在企業(yè)之中建立完整的MapQuest系統(tǒng)。
MapQuest產(chǎn)品和服務(wù)的日益增多意味著你可以越來越容易地了解到你所在的位置、你要去的位置以及通過何種路線到達目的地。但是仍然會出現(xiàn)一些小的問題:有時,MapQuest會提供錯誤信息。
MapQuest的錯誤
MapQuest說,有不到1%的用戶會出于各種原因與他們聯(lián)系,其中很少數(shù)的人是因為得到了錯誤的行車路線,而另一些很少數(shù)的人則是報告網(wǎng)站的錯誤。由于MapQuest管理的數(shù)據(jù)量非常龐大,而且這些數(shù)據(jù)來自不同來源,因此要保證它的地圖和行車路線完全正確基本上是不可能的。偶爾會有這樣的情況,MapQuest說應(yīng)該走北面的單行線,而實際上那條路在南面;或者它說應(yīng)該左轉(zhuǎn),而實際上需要右轉(zhuǎn)。最常見的一些MapQuest錯誤包括:地址定位不準確(由地理編碼估算造成的)、不能識別地址以及提供的高速公路出口不正確。
如果MapQuest不能識別某個地址,通常是因為該地址信息未能及時更新到MapQuest系統(tǒng)之中。如果你的住宅位于某條去年剛建成的街道上,MapQuest可能還不知道你的存在。城市街道的變化可能要數(shù)年之后才進入MapQuest的數(shù)據(jù)庫。首先,城市必須為新的道路舉行“落成儀式”,在道路完工并投入使用后,可能要過上數(shù)天、數(shù)月或數(shù)年才履行此手續(xù)。在落成之后,美國郵政總局才會正式承認它。在美國郵政總局承認它之后,地圖制作公司(為MapQuest提供數(shù)據(jù)的公司)才會在下一次更新地圖時更新此信息。然后,MapQuest會在下一次更新自己的數(shù)據(jù)時添加新的道路信息。這是一個有些兜圈子的過程。
不正確的高速公路編號(雖然不是一個廣泛存在的問題)對于MapQuest用戶來說可能是一個大問題。大概在去年,居住在猶他州幾個縣的人曾經(jīng)耽誤了幾次約會。2004年,猶他州交通部更改了I-15、I-70和I-80沿線數(shù)百公里長的郵政標記和出口標志,以改正以前的錯誤標志。交通部在2004年12月便將此情況告知了MapQuest,但是由于MapQuest的數(shù)據(jù)來自其他來源,因此它在數(shù)據(jù)提供商確認此更改并提供新數(shù)據(jù)之前沒有對數(shù)據(jù)進行修正。因此,在2005年11月之前,MapQuest的數(shù)據(jù)庫中猶他州的80多個高速公路出口仍在使用不正確的出口編號。
MapQuest在“Help”(幫助)部分中提供了一些鏈接,你可以使用它們報告行車路線或地圖存在的問題。在提交報告之后,MapQuest會開始錯誤修復(fù)過程。MapQuest將向其數(shù)據(jù)提供商報告該錯誤,提供商將確認錯誤(通常是通過人實際駕車到該位置并用眼睛進行檢查),糾正錯誤,然后將修正后的新信息提供給MapQuest。
評論