如何制作一份导航电子地图(上)
自從上次發(fā)表“導(dǎo)航電子地圖的組成和制作流程”后,被罵的噴頭,說文中有很多的錯誤言論,但我并沒有認為有太多的錯誤(當(dāng)然關(guān)于微軟使用四維地圖這一錯誤點還真的是一大疏忽,但這不是重要的,說不定Google哪一天也使用四維了)。我是聽了四維公司產(chǎn)品經(jīng)理的演講后寫的該文,其中許多的總結(jié)性的內(nèi)容個人認為很對,我也該文也是基于對他PPT的理解,當(dāng)然也有可能我的理解有誤,畢竟我并沒有在數(shù)據(jù)公司供職過。不過沒有什么關(guān)系,錯誤還希望大家繼續(xù)指正,我們今天繼續(xù)談“如何制作一份導(dǎo)航電子地圖”,也算是我接觸過三四家數(shù)據(jù)公司的數(shù)據(jù)后做的一些簡單思考吧,當(dāng)然,今天甚至?xí)v到數(shù)據(jù)中的字段,我要說的是一份最簡單最基本的導(dǎo)航電子地圖,如果說你寫code的能力夠好,也許能夠根據(jù)我所提供的思路制作出一個導(dǎo)航軟件,對此我深信不疑(世界第一的導(dǎo)航軟件公司制作導(dǎo)航電子地圖也用了如此簡單的基本需求)。
言歸正傳,在講本文之前還是建議看一下我被批的那個文章,該文中指出,導(dǎo)航電子地圖從形式上看由“道路、背景、注記、POI”組成,而功能上看需要有“定位顯示、索引、路徑計算、引導(dǎo)”,形式上再簡單一些來說,就是點、線、面,如何使用“點、線、面”擁有“索引”和“路徑計算”的功能?這就是導(dǎo)航電子地圖要做的主要功能,至于顯示本身就有矢量的數(shù)據(jù),繪圖引擎根據(jù)矢量的數(shù)據(jù)繪制出圖形即可,而引導(dǎo)部分是導(dǎo)航軟件的后續(xù)功能(和數(shù)據(jù)層有關(guān)系但需要考慮的不僅僅在于此)。雖然說很多的人都會做電子地圖,但不見得會做導(dǎo)航電子地圖,路徑計算功能應(yīng)該是導(dǎo)航電子地圖與普通的電子地圖最大的差別了。
OK,如果說今天一定要將導(dǎo)航電子地圖限定一個格式的話,那么我們今天用MIF格式來講好了,當(dāng)然SHP也是一樣的,只是數(shù)據(jù)公司用的最多的還是Mapinfo軟件,畢竟簡單易上手。根據(jù)導(dǎo)航電子地圖的四種形式,我們將地圖數(shù)據(jù)化到最簡,分別使用Road、Back、landmark、POI四個MIF文件來表示,其中對于landmark其實也可以歸入到POI中,個人的理解為不作為索引的POI,僅僅作為顯示用。
上面提到的四個文件都離不開基本的點、線、面,在制作導(dǎo)航電子地圖之前我們先對點線面做一個簡單的要求,點(POI和landmark)要求不能出現(xiàn)SHP中的多點情況(其實就是一個點的組合,Mapinfo中應(yīng)該沒有這個情況),線(主要是道路,也有部分背景數(shù)據(jù))也同樣不能出現(xiàn)組合,就是線從頭到尾都不是斷的,如果中途斷掉然后再接到一個新的線并且算作一個線的話,這是不允許的。對于面(背景數(shù)據(jù))來說,雖然沒有嚴格的要求到不允許出現(xiàn)多part的情況,但多part還是不被推薦的,多part分為島洞和飛地兩種情況,飛地在Mapinfo中非常容易處理,打散就好,而島洞是無法避免的,但可以通過切割將這個島洞對象變成兩個對象,這樣就不出現(xiàn)島洞的情況了,但制作上面還是相對有點麻煩的,所以面的制作看你自己的需求了,如果導(dǎo)航軟件夠強大的話,對島洞和飛地的處理還是游刃有余的,這里個人建議不出現(xiàn)飛地情況,島洞允許出現(xiàn)。
如果空手繪制一份地圖,這個不是很現(xiàn)實,那么我們就假定已經(jīng)獲得了部分的衛(wèi)星影像數(shù)據(jù)(主要是做背景用,現(xiàn)在的影響數(shù)據(jù)也算是比較容易獲得了,比如Google earth),另外呢我們還使用GPS設(shè)備在外面采集了許多的航點和航跡(這也是上次說到的外業(yè)提供的最基礎(chǔ)數(shù)據(jù)),將這些航點航跡轉(zhuǎn)換導(dǎo)入Mapinfo,我們就可以理解為一份最簡單的電子地圖了,但離導(dǎo)航電子地圖還相差甚遠。這里順便提一下我們使用的坐標系統(tǒng)WGS84,因為GPS下使用的都是WGS84吧,所以使用GPS記錄的航點航跡等導(dǎo)入后正好符合要求。
先講背景數(shù)據(jù),背景數(shù)據(jù)最簡單,不過內(nèi)容也算比較豐富,最常見的背景數(shù)據(jù)有河流、綠地、鐵路等,當(dāng)然國界線、行政區(qū)劃面等其實也都可以稱之為背景數(shù)據(jù),在數(shù)據(jù)制作過程中建立一個Kind字段來定義這些背景數(shù)據(jù)的形態(tài),這樣背景數(shù)據(jù)在同一個文件中就有所區(qū)分了,這也是必須的。除了道路和POI數(shù)據(jù)以外,其他數(shù)據(jù)都可以作為背景數(shù)據(jù),比如你想做一個建筑物的輪廓形態(tài)數(shù)據(jù)。萬變不離其宗,注意使用Kind進行區(qū)分就好,至于導(dǎo)航軟件是否使用你這么多的背景要素就讓他們自己考慮吧。
landmark數(shù)據(jù)和POI數(shù)據(jù)我剛剛說了簡單的區(qū)分,但一般來說都不會太在意這區(qū)分,landmark作為POI用的也不少。landmark的作用從字面上就能理解,就是地標性的點位,一般是推薦顯示在地圖畫面上,當(dāng)然這一點取決于你landmark數(shù)據(jù)制作的好壞了,許多的landmark數(shù)據(jù)還是很不好用的。landmark的顯示讓你的地圖看起來錯落有致,比如Google map現(xiàn)在衛(wèi)星影像圖上面疊加的文字,我們就可以理解為landmark。landmark對于導(dǎo)航的作用來說,大概是非常容易讓使用者知道自己的大概位置吧。什么樣的數(shù)據(jù)可以制作成landmark?最多的是鄉(xiāng)鎮(zhèn)村莊,而在城市中來說呢,可以是一個街道、小區(qū)的名字,也可以地標的東方明珠塔等等,landmark的制作個人認為還沒有具體的標準。
POI,這三個字母我就不解釋了,但POI數(shù)據(jù)是非常關(guān)鍵的數(shù)據(jù),你要去吃飯、去加油、去停車、去購物等等等,都是和POI有關(guān)。由于POI是Point數(shù)據(jù),所以制作相對比較容易,就比如說GPS設(shè)備采集的航點就可以直接錄入,或者根據(jù)影像數(shù)據(jù)自己標上去的點都可以。POI數(shù)據(jù)的屬性相對來說需要豐富一些,因為不僅僅一個名稱就夠了,還有省份、城市、地址、電話等,甚至可以加入郵編、傳真、網(wǎng)站等資料,當(dāng)然如果再豐富就有些過頭了。POI數(shù)據(jù)的分類也算是一個比較頭痛的問題,剛剛說到的吃飯、加油、停車、購物等就是POI的細分,頭痛的問題在于應(yīng)該有多少分類?有些模棱兩可的POI應(yīng)該歸為哪一類?這些不僅僅每個地圖供應(yīng)商分類方法各異,導(dǎo)航軟件廠商也有非常大的差別。當(dāng)然這些分類還是有分級的,比如吃飯可以稱之為餐飲這一個大類,而餐飲下面分為中餐、快餐、西餐等,而在中餐下面則甚至可以再細分為川菜、粵菜、湘菜等。由于沒有統(tǒng)一的分類標準,所以分類上我也沒有一個好的標準提供,大家可以自己制定。
道路,這是最為關(guān)鍵的數(shù)據(jù)了,導(dǎo)航電子地圖的核心是道路,道路關(guān)系到“路徑計算”,而一個導(dǎo)航軟件的成敗在于路徑計算,由此可見導(dǎo)航數(shù)據(jù)供應(yīng)商是何其的重要,數(shù)據(jù)沒有做好就可能導(dǎo)致整個導(dǎo)航軟件混亂,致使導(dǎo)航軟件都無法使用。既然道路是核心,那么復(fù)雜度也是可想而知。有很多的用戶可能使用GPS記錄下航跡后說,你看這就是我走過的路啊,你們地圖中沒有的路就可以這樣加進去啦,話是沒錯,但至少還需要處理。導(dǎo)航電子地圖中對于道路的要求非常高,就拿繪制來說,道路和道路之間不能交叉(對于上下穿越式的非交叉道路是可以兩線交叉的),也就是說從一個路口到下一個路口就是一條線,這個路段就結(jié)束了,不能穿過這個路口將線繼續(xù)畫下去。這樣做的用處在于什么呢?拐彎就可以進行了。這是導(dǎo)航電子地圖和普通電子地圖在制作上最大的差異(一般的電子地圖都是一條路就是一條線,導(dǎo)航電子地圖是一條路上的一個路段就是一條線),所以制作上也需要有所注意。
=======================
很少將文章分成上下篇,但以上的文字已經(jīng)擱置了很長一段時間,又考慮到近期可能無心續(xù)寫,所以分成上篇將文字先放出來,下篇等到有心情的時候再寫吧。當(dāng)然,我還是強調(diào)精華在道路,所以下篇希望寫的更加精彩。歡迎繼續(xù)討論。謝謝。
總結(jié)
以上是生活随笔為你收集整理的如何制作一份导航电子地图(上)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Cleave input输入框 自动格式
- 下一篇: 智慧社区智慧物业APP决方案