日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

如何制作一份导航电子地图(上)

發布時間:2024/3/24 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何制作一份导航电子地图(上) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

自從上次發表“導航電子地圖的組成和制作流程”后,被罵的噴頭,說文中有很多的錯誤言論,但我并沒有認為有太多的錯誤(當然關于微軟使用四維地圖這一錯誤點還真的是一大疏忽,但這不是重要的,說不定Google哪一天也使用四維了)。我是聽了四維公司產品經理的演講后寫的該文,其中許多的總結性的內容個人認為很對,我也該文也是基于對他PPT的理解,當然也有可能我的理解有誤,畢竟我并沒有在數據公司供職過。不過沒有什么關系,錯誤還希望大家繼續指正,我們今天繼續談“如何制作一份導航電子地圖”,也算是我接觸過三四家數據公司的數據后做的一些簡單思考吧,當然,今天甚至會講到數據中的字段,我要說的是一份最簡單最基本的導航電子地圖,如果說你寫code的能力夠好,也許能夠根據我所提供的思路制作出一個導航軟件,對此我深信不疑(世界第一的導航軟件公司制作導航電子地圖也用了如此簡單的基本需求)。

言歸正傳,在講本文之前還是建議看一下我被批的那個文章,該文中指出,導航電子地圖從形式上看由“道路、背景、注記、POI”組成,而功能上看需要有“定位顯示、索引、路徑計算、引導”,形式上再簡單一些來說,就是點、線、面,如何使用“點、線、面”擁有“索引”和“路徑計算”的功能?這就是導航電子地圖要做的主要功能,至于顯示本身就有矢量的數據,繪圖引擎根據矢量的數據繪制出圖形即可,而引導部分是導航軟件的后續功能(和數據層有關系但需要考慮的不僅僅在于此)。雖然說很多的人都會做電子地圖,但不見得會做導航電子地圖,路徑計算功能應該是導航電子地圖與普通的電子地圖最大的差別了。

OK,如果說今天一定要將導航電子地圖限定一個格式的話,那么我們今天用MIF格式來講好了,當然SHP也是一樣的,只是數據公司用的最多的還是Mapinfo軟件,畢竟簡單易上手。根據導航電子地圖的四種形式,我們將地圖數據化到最簡,分別使用Road、Back、landmark、POI四個MIF文件來表示,其中對于landmark其實也可以歸入到POI中,個人的理解為不作為索引的POI,僅僅作為顯示用。

上面提到的四個文件都離不開基本的點、線、面,在制作導航電子地圖之前我們先對點線面做一個簡單的要求,點(POI和landmark)要求不能出現SHP中的多點情況(其實就是一個點的組合,Mapinfo中應該沒有這個情況),線(主要是道路,也有部分背景數據)也同樣不能出現組合,就是線從頭到尾都不是斷的,如果中途斷掉然后再接到一個新的線并且算作一個線的話,這是不允許的。對于面(背景數據)來說,雖然沒有嚴格的要求到不允許出現多part的情況,但多part還是不被推薦的,多part分為島洞和飛地兩種情況,飛地在Mapinfo中非常容易處理,打散就好,而島洞是無法避免的,但可以通過切割將這個島洞對象變成兩個對象,這樣就不出現島洞的情況了,但制作上面還是相對有點麻煩的,所以面的制作看你自己的需求了,如果導航軟件夠強大的話,對島洞和飛地的處理還是游刃有余的,這里個人建議不出現飛地情況,島洞允許出現。

如果空手繪制一份地圖,這個不是很現實,那么我們就假定已經獲得了部分的衛星影像數據(主要是做背景用,現在的影響數據也算是比較容易獲得了,比如Google earth),另外呢我們還使用GPS設備在外面采集了許多的航點和航跡(這也是上次說到的外業提供的最基礎數據),將這些航點航跡轉換導入Mapinfo,我們就可以理解為一份最簡單的電子地圖了,但離導航電子地圖還相差甚遠。這里順便提一下我們使用的坐標系統WGS84,因為GPS下使用的都是WGS84吧,所以使用GPS記錄的航點航跡等導入后正好符合要求。

先講背景數據,背景數據最簡單,不過內容也算比較豐富,最常見的背景數據有河流、綠地、鐵路等,當然國界線、行政區劃面等其實也都可以稱之為背景數據,在數據制作過程中建立一個Kind字段來定義這些背景數據的形態,這樣背景數據在同一個文件中就有所區分了,這也是必須的。除了道路和POI數據以外,其他數據都可以作為背景數據,比如你想做一個建筑物的輪廓形態數據。萬變不離其宗,注意使用Kind進行區分就好,至于導航軟件是否使用你這么多的背景要素就讓他們自己考慮吧。

landmark數據和POI數據我剛剛說了簡單的區分,但一般來說都不會太在意這區分,landmark作為POI用的也不少。landmark的作用從字面上就能理解,就是地標性的點位,一般是推薦顯示在地圖畫面上,當然這一點取決于你landmark數據制作的好壞了,許多的landmark數據還是很不好用的。landmark的顯示讓你的地圖看起來錯落有致,比如Google map現在衛星影像圖上面疊加的文字,我們就可以理解為landmark。landmark對于導航的作用來說,大概是非常容易讓使用者知道自己的大概位置吧。什么樣的數據可以制作成landmark?最多的是鄉鎮村莊,而在城市中來說呢,可以是一個街道、小區的名字,也可以地標的東方明珠塔等等,landmark的制作個人認為還沒有具體的標準。

POI,這三個字母我就不解釋了,但POI數據是非常關鍵的數據,你要去吃飯、去加油、去停車、去購物等等等,都是和POI有關。由于POI是Point數據,所以制作相對比較容易,就比如說GPS設備采集的航點就可以直接錄入,或者根據影像數據自己標上去的點都可以。POI數據的屬性相對來說需要豐富一些,因為不僅僅一個名稱就夠了,還有省份、城市、地址、電話等,甚至可以加入郵編、傳真、網站等資料,當然如果再豐富就有些過頭了。POI數據的分類也算是一個比較頭痛的問題,剛剛說到的吃飯、加油、停車、購物等就是POI的細分,頭痛的問題在于應該有多少分類?有些模棱兩可的POI應該歸為哪一類?這些不僅僅每個地圖供應商分類方法各異,導航軟件廠商也有非常大的差別。當然這些分類還是有分級的,比如吃飯可以稱之為餐飲這一個大類,而餐飲下面分為中餐、快餐、西餐等,而在中餐下面則甚至可以再細分為川菜、粵菜、湘菜等。由于沒有統一的分類標準,所以分類上我也沒有一個好的標準提供,大家可以自己制定。

道路,這是最為關鍵的數據了,導航電子地圖的核心是道路,道路關系到“路徑計算”,而一個導航軟件的成敗在于路徑計算,由此可見導航數據供應商是何其的重要,數據沒有做好就可能導致整個導航軟件混亂,致使導航軟件都無法使用。既然道路是核心,那么復雜度也是可想而知。有很多的用戶可能使用GPS記錄下航跡后說,你看這就是我走過的路啊,你們地圖中沒有的路就可以這樣加進去啦,話是沒錯,但至少還需要處理。導航電子地圖中對于道路的要求非常高,就拿繪制來說,道路和道路之間不能交叉(對于上下穿越式的非交叉道路是可以兩線交叉的),也就是說從一個路口到下一個路口就是一條線,這個路段就結束了,不能穿過這個路口將線繼續畫下去。這樣做的用處在于什么呢?拐彎就可以進行了。這是導航電子地圖和普通電子地圖在制作上最大的差異(一般的電子地圖都是一條路就是一條線,導航電子地圖是一條路上的一個路段就是一條線),所以制作上也需要有所注意。

=======================

很少將文章分成上下篇,但以上的文字已經擱置了很長一段時間,又考慮到近期可能無心續寫,所以分成上篇將文字先放出來,下篇等到有心情的時候再寫吧。當然,我還是強調精華在道路,所以下篇希望寫的更加精彩。歡迎繼續討論。謝謝。

總結

以上是生活随笔為你收集整理的如何制作一份导航电子地图(上)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。