摘 要:本文通過OpenStreetMap(OSM)的實驗項目開發(fā),簡述了OpenStreetMap的基本功能和優(yōu)勢,并根據(jù)實驗項目的格式通過六個實驗子步驟構建了一種基于OpenStreetMap的實驗項目。
關鍵詞:OSM 開放 實驗項目
中圖分類號:TN206 文獻標識碼:A 文章編號:1672-3791(2013)07(b)-0014-02
OpenStreetMap(簡稱OSM)是一個網(wǎng)上地圖協(xié)作計劃,目標是創(chuàng)造一個內容自由且能讓所有人編輯的世界地圖。OpenStreetMap允許您查看,編輯或者使用世界各地的地理數(shù)據(jù)來幫助您。
OSM的地圖由用戶根據(jù)手提GPS裝置、航空攝影照片、其他自由內容甚至單靠地方智慧繪制。網(wǎng)站里的地圖圖像及向量數(shù)據(jù)皆以共享創(chuàng)意姓名標示-相同方式分享2.0授權。
OSM網(wǎng)站的靈感來自維基百科等網(wǎng)站。這可從該網(wǎng)地圖頁的“編輯”按鈕及其完整修訂歷史獲知。經(jīng)注冊的用戶可上載GPS路徑及使用內置的編輯程式編輯數(shù)據(jù)。
1 OpenStreetMap的基本功能
從OpenStreetMap的主界面可以看到,包含了查看、編輯、歷史、輸出、GPS軌跡及用戶日志幾項內容。查看,用來查看地圖,大概瀏覽一下,就能看到好多縣城級別的地圖數(shù)據(jù)仍為一片空白,大城市,如北京,地理要素還是比較詳細的。編輯,注冊的用戶登陸后才能對所在視野范圍的地圖數(shù)據(jù)進行編輯。歷史,包含了改視野范圍內地圖的更新歷史記錄。輸出,可將當前視野的地圖數(shù)據(jù)導出,支持輸出的格式有:OpenStreetMap XML數(shù)據(jù) :OpenStreetMap的xml格式(擴展名.osm)
Mapnik圖像:圖片格式
包含:JEPG、PNG、SVG、PDF、Postscript
Osmarender圖像:圖片格式(png)
嵌入HTML:嵌入到網(wǎng)頁的html,同時可以自定義添加標記。
2 OpenStreetMap的優(yōu)勢
在導航器市場,OpenStreetMap擁有很大的優(yōu)勢:商業(yè)供應者提供的數(shù)字地圖售價往往達幾百歐元,而OpenStreetMap卻是免費的。互聯(lián)網(wǎng)上的情況就困難一些,因為OpenStreetMap要和其他免費地圖供應者如GoogleMaps競爭,從中期角度來看,OpenStreetMap勝過GoogleMaps的機會還是很不錯的,因為它和GoogleMaps不同,不光可以免費使用,而且它的數(shù)據(jù)是自由開放的,任何人想怎么用就可以怎么用。
3 基于OSM的實驗項目設計與應用
本實驗項目類型:設計性。
本實驗項目共分為六個步驟,每個步驟包括主要實驗內容、實驗目標、實驗學時數(shù)、實驗人數(shù)和實驗人時數(shù)。具體如下。
3.1 主要實驗內容
程序實現(xiàn)自動解壓的批處理文件,能夠對網(wǎng)站的下載的數(shù)據(jù)進行自動解壓
實驗目標:批處理文件的自動生成
實驗學時:6學時
實驗人數(shù):20人
實驗人時數(shù):120學時·人
3.2 主要實驗內容
對解壓后的數(shù)據(jù)進行自動拆分,拆分主要完成如下功能。
(1)對于boundaries.shp、buildings.shp、coastline.shp、railwaystations.shp未進行拆分,只是復制到新文件夾。
(2)對于place.shp等文件采用根據(jù)dbf表中fClass的不同進行拆分。
(3)對于roads.shp和railways.shp根據(jù)fClass和bridge、tunnel三列信息進行拆分。
(4)對于roads.shp中fClass=pedestrian的數(shù)據(jù)進行單獨處理,將首尾相同的點處理為多邊形。
實驗目標:C#實現(xiàn)數(shù)據(jù)的自動處理
實驗學時:16學時
實驗人數(shù):20人
實驗人時數(shù):320學時·人
3.3 主要實驗內容
對拆分后的所有地圖數(shù)據(jù)建立投影,實現(xiàn)DecimalDegrees到GoogleMap的投影方式
實驗目標:C#完成地圖的投影變換
實驗學時:4學時
實驗人數(shù):20人
實驗人時數(shù):80學時·人
3.4 主要實驗內容
對所有地圖數(shù)據(jù)建立空間索引Rtree文件,為后面實現(xiàn)地圖的快速瀏覽
實驗目標:C#構建空間索引樹
實驗學時:4學時
實驗人數(shù):20人
實驗人時數(shù):80學時·人
3.5 主要實驗內容
對處理好的數(shù)據(jù)實施正確渲染,完成Desktop版本
實驗目標:C#實現(xiàn)桌面地圖顯示
實驗學時:10學時
實驗人數(shù):20人
實驗人時數(shù):200學時·人
3.6 主要實驗內容
對處理好的數(shù)據(jù)實施正確渲染,完成Web版本
實驗目標:C#實現(xiàn)網(wǎng)頁地圖顯示
實驗學時:8學時
實驗人數(shù):20人
實驗人時數(shù):160學時·人
本項目總實驗人時數(shù):48學時×20人=960學時·人
通過本項目,讓學生從理論回到了實際應用,揭開了諸如百度、谷歌地圖顯示的神秘面紗,了解了地圖顯示的基本原理和技術,同時讓學生對于一些經(jīng)典算法,如:Rtree算法進行深入的學習和了解,掌握了課堂以外更深入的專業(yè)知識,同時強化他們面向對象的編程思想,提高編程的實踐技能,讓學生所學的計算機知識充分的應用到Gis這個領域,把他們自學能力發(fā)揮到了極致。同時,由于該實驗室為公司和學院共建聯(lián)合實驗室,已經(jīng)有不少動手能力較強的同學最后都選擇了思宙公司實習或工作,還有部分優(yōu)秀的同學推薦到了美國總公司工作。
通過本項目的實施,首先彌補了一般學校沒有Gis相關課程的缺憾,將GIS這門前沿的技術應用到我們的實踐當中,增加了學生的知識面,培養(yǎng)學生的動手能力及擴大了將來的就業(yè)范圍,并能為將來學院開展Gis的相關應用奠定一定的理論與實踐基礎,項目的成果也將也將作為公司實際應用的一部分。
本項目的目的是為學生將來就業(yè)提供必要培訓,提前讓學生掌握一些就業(yè)的技能,為公司輸送高素質的人才。此項目的特色是完全按照公司培養(yǎng)計劃來執(zhí)行和管理,通過該項目的實施,能夠讓參與實驗的同學體驗公司化的管理制度,高效的溝通技能和管理方法,提高他們的編程理念和規(guī)范他們的編程規(guī)則,建立起軟件產(chǎn)品的構建思想,為學生將來的就業(yè)起到了積極的培訓作用。
4 結語
通過本實驗項目的實施使學生了解了地圖顯示的基本原理和技術,同時讓學生對于一些經(jīng)典算法有了深入的學習和了解,增加了學生的知識面,培養(yǎng)了學生的動手能力及擴大了將來的就業(yè)范圍。
參考文獻
[1]王瑾.基于Flash技術的交互式測試系統(tǒng)的設計[J].蘇州市職業(yè)大學學報,2012(2):59-61.
[2]高昂.新授權協(xié)議提升OpenStreetMap應用價值[J].程序員,2012(8):16.