地圖數據轉換網絡
地圖數據轉換是指從地圖提供商的數據轉換到導航軟件所須要的數據。導航引擎主要須要三個方面的數據:數據結構
1,爲了計算路徑須要地圖網絡數據 2,地圖須要顯示,因此須要各類地理元素的數據 3,爲了查詢須要轉換成查詢所須要的數據
下面詳細來講。spa
1,地圖網絡數據設計
1.1 地圖邊界3d
地圖邊界每每是按照行政區來劃分。好比國家、省、市、縣等。一般在製做地圖過程當中,每一個行政區之間會由不一樣的人員去採集去畫圖,因此在實際的處理中須要經過幾何計算消除邊界之間的重複以及偏差。
1.2 路網code
在路徑運算中是對路進行計算,因此須要把全部的路鏈接起來,成爲路網。在實際的導航中是把地圖邊界內的路造成一張網格,咱們稱爲mesh。這裏面也須要考慮路之間重複,邊界之間的路連通等問題。
1.3路的屬性blog
實際的導航功能中,對路網的使用不單單是路徑運算。好比會涉及到路徑中是否有交警攝像頭、路口放大圖、收費站、是否爲高速公路等信息,若是有實時交通訊息的話,還須要考慮路是否擁堵等問題。
這些都構成了在路網計算中須要考慮的問題。
2,地圖顯示數據class
2.1 地圖的實體元素軟件
地圖幾何數據能夠劃分爲點、線、面,對應的實體就能夠劃分爲不一樣的層級。大概能夠分爲:行政區圖(邊界),路網圖(用於顯示),地形圖(3d),河流,綠地,建築物(如今導航中不少建築都渲染爲3d),公園,鐵路,興趣點等等。
2.2 地圖的放大縮小渲染
地圖放大縮小須要把地圖數據分爲不一樣的級別,不一樣的級別顯示不一樣的地圖元素。
3,地圖查詢數據
3.1 點的查詢
點的查詢經常用於興趣點(POI)。須要根據點的不一樣屬性進行分類,合理的設計數據結構。好比興趣點能夠分爲咖啡店、餐館、4s店、警察局、公園等等。
點的查詢還能夠直接用經緯度去查詢。
3.2 線的查詢
每每用於路的查詢,好比查詢某一條路。