摘 要 Mashup是糅合,是當(dāng)今網(wǎng)絡(luò)上新出現(xiàn)的一種網(wǎng)絡(luò)現(xiàn)象,將兩種以上使用公共或者私有數(shù)據(jù)庫的web應(yīng)用,加在一起,形成一個(gè)整合應(yīng)用。地圖Mashup是一種非常流行的混搭,可以將地理位置信息映射到一個(gè)新的數(shù)據(jù)服務(wù),并在地圖上直觀地顯示。本文以vs2010+sql2008為開發(fā)平臺,實(shí)現(xiàn)益陽市基礎(chǔ)地理信息平臺。
關(guān)鍵詞 地圖Mashup Javascript GIS Ajax
中圖分類號:P208 文獻(xiàn)標(biāo)識碼:A
1簡介
地圖服務(wù)是web服務(wù)的一個(gè)分支。近十年來,許多地圖服務(wù)是建立在網(wǎng)絡(luò)。如谷歌地圖,百度地圖,Yahoo 地圖,微軟地圖等。尤其谷歌推出地圖應(yīng)用后,這些地圖服務(wù)接口簡單、操作方便,而且能夠快速獲得地圖而變得流行。如今大多數(shù)移動(dòng)地圖Mushup應(yīng)用都是基于上述地圖服務(wù)。
在這個(gè)信息時(shí)代,大量的客觀事物和行為數(shù)據(jù)通常包含地理信息,如x / y坐標(biāo)。和大部分的信息在我們的日常生活中只是一些簡單的文本描述,太難以理解,除了很難滿足實(shí)時(shí)的要求調(diào)查的要求。為了解決這個(gè)問題,有人提出了地圖Mushup概念,它可以把不同的數(shù)據(jù)源的地理信息數(shù)據(jù)直接顯示在地圖上,同時(shí)也可以為人們提供更生動(dòng)、清晰的信息,包括圖片和文字質(zhì)量。
本文以益陽市基礎(chǔ)地理信息為例,提出了以vs2010+sql2008為平臺,建立益陽市公共自行車服務(wù)系統(tǒng)。
2 Mushup相關(guān)技術(shù)
2.1 XML和Ajax
XML是可擴(kuò)展置標(biāo)語言的縮寫,是W3C組織于1998年2月發(fā)布的標(biāo)準(zhǔn)。置標(biāo)指計(jì)算機(jī)所能理解的信息符號,通過此種標(biāo)記,計(jì)算機(jī)之間可以處理包含各種信息的文章等。XML是W3C組織在標(biāo)準(zhǔn)通用標(biāo)記語言SGML基礎(chǔ)上開發(fā)的一個(gè)子集,目的是能在Web上以HTML的使用方式提供、接收和處理通用的SGML,它結(jié)合了Web的簡單性和SGML的可擴(kuò)展性、結(jié)構(gòu)化與規(guī)范性等優(yōu)點(diǎn)。其用途主要有兩個(gè)一是作為元置標(biāo)語言,定義各種實(shí)例置標(biāo)語言標(biāo)準(zhǔn),二是作為標(biāo)準(zhǔn)交換語言,擔(dān)負(fù)起描述交換數(shù)據(jù)的作用。目前,XML漸成為Web上的數(shù)據(jù)表示和應(yīng)用之間數(shù)據(jù)交換的標(biāo)準(zhǔn)格式,在電子商務(wù)、遠(yuǎn)程教育等領(lǐng)域得到重要的應(yīng)用。
Ajax即“Asynchronous Javascript And XML”(異步JavaScript和XML),是指一種創(chuàng)建交互式網(wǎng)頁應(yīng)用的網(wǎng)頁開發(fā)技術(shù)。通過在后臺與服務(wù)器進(jìn)行少量數(shù)據(jù)交換,AJAX 可以使網(wǎng)頁實(shí)現(xiàn)異步更新。這意味著可以在不重新加載整個(gè)網(wǎng)頁的情況下,對網(wǎng)頁的某部分進(jìn)行更新。
2.2 CSS和Dom
CSS,層疊樣式表(英文全稱:Cascading Style Sheets)是一種用來表現(xiàn)HTML(標(biāo)準(zhǔn)通用標(biāo)記語言的一個(gè)應(yīng)用)或XML(標(biāo)準(zhǔn)通用標(biāo)記語言的一個(gè)子集)等文件樣式的計(jì)算機(jī)語言。
Dom,文檔對象模型(Document Object Model,簡稱DOM),是W3C組織推薦的處理可擴(kuò)展標(biāo)志語言的標(biāo)準(zhǔn)編程接口。在網(wǎng)頁上,組織頁面(或文檔)的對象被組織在一個(gè)樹形結(jié)構(gòu)中,用來表示文檔中對象的標(biāo)準(zhǔn)模型就稱為DOM。
3系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)
3.1環(huán)境搭建
網(wǎng)絡(luò)上有很多資源可以用來構(gòu)建基于Mushup技術(shù)的地理信息服務(wù)平臺,包括數(shù)據(jù)服務(wù)及實(shí)現(xiàn)不同功能的服務(wù),如將含有空間位置信息的數(shù)據(jù)或元數(shù)據(jù)與空間數(shù)據(jù)進(jìn)行關(guān)聯(lián),就可以實(shí)現(xiàn)地圖標(biāo)注顯示或查詢等數(shù)據(jù)服務(wù),此外地理編碼服務(wù)、路線導(dǎo)航服務(wù)等百度地圖API也提供相應(yīng)的接口可以實(shí)現(xiàn)。如圖1所示框架,Mushup站點(diǎn)將來源于數(shù)據(jù)庫或網(wǎng)絡(luò)上的數(shù)據(jù),以統(tǒng)一數(shù)據(jù)格式規(guī)范進(jìn)行編碼,開發(fā)平臺服務(wù),在客戶端進(jìn)行網(wǎng)頁瀏覽。
3.2地圖混搭實(shí)現(xiàn)
3.2.1 地圖初始化
3.2.2 坐標(biāo)轉(zhuǎn)換
用戶開發(fā)每個(gè)系統(tǒng)時(shí)會選擇一個(gè)地圖服務(wù),但在進(jìn)行過程中如果遇到問題需要更換地圖API服務(wù)或者對不同地圖API的性能進(jìn)行測試時(shí)就會出現(xiàn)問題,這是因?yàn)槟壳安煌牡貓DAPI服務(wù)商使用了不同的坐標(biāo)系,百度地圖提供的坐標(biāo)轉(zhuǎn)換工具可以方便的將不同的坐標(biāo)體系轉(zhuǎn)換成百度地圖標(biāo)準(zhǔn)下的坐標(biāo),有效地減少了API更換服務(wù)的投入,且擴(kuò)大了可選擇范圍及自由度。目前百度地圖轉(zhuǎn)換工具支持轉(zhuǎn)換圖吧、51地圖、谷歌等服務(wù)商使用的坐標(biāo)體系。
本文獲取的益陽市自行車站點(diǎn)經(jīng)諱度數(shù)據(jù)來自谷歌地圖坐標(biāo),因此若要在百度地圖上顯示準(zhǔn)確的位置就需要轉(zhuǎn)換成百度地圖坐標(biāo)。百度地圖通過Bmap.convertor.translate方法可以將谷歌坐標(biāo)、GPS坐標(biāo)轉(zhuǎn)換成百度坐標(biāo)。另外,目前網(wǎng)上有公布的免費(fèi)的百度地圖坐標(biāo)拾取系統(tǒng),可以快速準(zhǔn)確的根據(jù)輸入的地址名稱獲取相應(yīng)的百度地圖坐標(biāo),也可以進(jìn)行坐標(biāo)反査,即根據(jù)輸入的標(biāo)查詢到相應(yīng)的地址名稱或單位。
4結(jié)論
本文對Mushup相關(guān)技術(shù)進(jìn)行研究,包括XML、DOM、Ajax、CSS,在深入研究百度地圖API基礎(chǔ)上,創(chuàng)建了基于Mushup益陽市基礎(chǔ)信息平臺,即將開源數(shù)據(jù)和個(gè)人數(shù)據(jù)混搭到一起,這種混搭的架構(gòu)方法,節(jié)省了開發(fā)成本,本文充分證明了地圖Mushup的可行性,體現(xiàn)了Ajax易于編碼、解析和高效傳輸?shù)奶攸c(diǎn),以及地理信息服務(wù)業(yè)的發(fā)展需求。
參考文獻(xiàn)
[1] 李德仁.邵振峰論新地理信息時(shí)代[J].中國科學(xué),2009,39(6):579-587.
[2] 陳述彭,魯學(xué)軍,周成虎.地理信息系統(tǒng)導(dǎo)論[M].北京:科學(xué)出版社,2000.
[3] 劉岳峰.地理信息服務(wù)概述[J].地理信息世界,2004,02(6):26-29.
[4] 唐飛,李鋼.基于的地理信息服務(wù)模式研究[J].科技廣場,2010(8):205-207.
[5] 龍?jiān)兰t,王科,唐爭氣.地理數(shù)據(jù)編碼方法GeoRSS初探[J].測繪科學(xué),2010, 35(06):225-227+249.