賀 佑,謝剛生
(華南農業大學信息學院,廣東 廣州 510640)
Online Multi-temporal Remotely Sensed Imagery Browse Based on Map API
HE You,XIE Gangsheng
?
利用地圖API實現多時相遙感影像地圖在線瀏覽
賀佑,謝剛生
(華南農業大學信息學院,廣東 廣州 510640)
Online Multi-temporal Remotely Sensed Imagery Browse Based on Map API
HE You,XIE Gangsheng
摘要:利用不同在線地圖服務商衛星遙感影像數據的時間差異,結合天地圖API,基于B/S開發模式,實現了低成本的多時相衛星遙感影像地圖在線瀏覽。
關鍵詞:天地圖;地圖API;多時相影像;WebGIS
一、引言
隨著我國經濟的快速發展,基礎設施建設和房地產開發得到了極大的促進,城市的風貌在短期內出現了巨大的變化,這使得眾多非專業人士也有了對土地利用變化進行了解的需求,這種需求可以通過衛星影像圖的多時相瀏覽與比對來實現。而面向公眾用戶的衛星影像圖的多時相瀏覽應用的產品較少,目前面向國內公眾提供這一功能的主要有 Google公司的Google Earth,但Google Earth是一個C/S模式的電子地圖軟件,它的使用同在線地圖相比有一定的應用局限[1];另外,我國自主研發的天地圖在2014年7月6日發布的天地圖2014版中新增了多時相衛星影像地圖對比瀏覽功能,但暫時多時相衛星影像僅提供北京、上海等大中型城市及其周邊區域的歷史影像數據[2]。本文針對在線地圖衛星影像圖多時相瀏覽的問題進行了研究,基于天地圖 API及HERE Maps API 進行了設計與開發,低成本地實現了多時相衛星影像地圖的在線瀏覽,并可以對地圖進行簡單的標注、說明與標注搜索[3]。
二、技術路線
多時相通常指反映一組遙感影像在時間系列上具有的特征。衛星遙感具有按固定周期實現對地球重復覆蓋的能力,能提供各種時間分辨率的多時相遙感影像,滿足動態分析的要求[4]。
當前全球的大多數在線地圖服務商所提供的衛星遙感影像數據,基本都是來源于美國Digital Globe公司,它的合作企業包括Google公司、Nokia公司,中國的四維圖新、百度、騰訊、高德等,基本涵蓋了所有主流在線地圖服務提供商,但這些不同的地圖服務商由于自身的定位及用戶的地域范圍不同,在衛星遙感影像數據的采購方面選擇了不同的數據,其不同主要體現在遙感影像的時間分辨率與空間分辨率上[5]。
本文從不同在線地圖服務商所提供的衛星遙感影像的時間分辨率的區別入手,在同一頁面調用天地圖 API及HERE Maps API,由于這兩種電子地圖的衛星遙感影像的拍攝時間有顯著的時間差異,間接地實現了多時相衛星影像地圖的在線瀏覽。系統前臺采用HTML+CSS+JavaScript開發,系統后臺采用PHP語言,數據庫選取MySQL數據庫,最后采用Apache服務器環境進行部署。
三、關鍵技術實現
基于地圖API的開發流程包括引用API文件、創建地圖容器、創建地圖實例、地圖初始化、添加各項功能等基本過程。本文需要調用兩個不同的地圖數據,就需要分別引入兩個地圖的API文件,創建兩個地圖容器,并分別進行創建地圖實例、地圖初始化、添加功能等。
國內所有電子地圖必須使用國家測繪地理信息局制定的加密坐標系統。基于此,盡管天地圖與HERE地圖均采用WGS-84坐標系,但是HERE地圖在顯示由天地圖返回的經緯度時會出現一定程度的誤差。因此在進行兩個地圖的經緯度參數傳遞時要對坐標進行轉換。由于本文的方法僅用于一般瀏覽,且天地圖與HERE地圖均未提供坐標轉換的API函數,本文通過對百度、騰訊等開放了的坐標轉換API函數進行調用與測試,最終選擇了搜狗地圖的坐標轉換函數對兩個地圖的坐標進行轉換。
實現多時相衛星影像地圖的在線瀏覽,必須要保證兩個影像地圖窗口瀏覽位置的一致性,本文通過天地圖的事件偵聽、經緯度與縮放比例獲取及JavaScript的參數傳遞來實現。天地圖API中有一個事件偵聽器可以直接調用來完成這一事件偵聽,首先通過TEvent.addListener來添加事件偵聽,TEvent.addListener方法有兩個重要參數:監聽事件的類型和事件觸發時調用的函數。天地圖在獲取地圖中心經緯度與縮放比例方面分別有getCenter與getZoom方法;實現這一功能的語句如圖1所示。而后將cenx變量與ceny變量的經緯度數據進行坐標轉換后通過JavaScript的參數傳遞給HERE地圖,然后在HERE地圖的初始化過程中利用map. Display方法使用天地圖返回的經緯度數據來加載地圖,從而實現了兩個影像地圖窗口瀏覽位置的一致性[6]。

圖1 獲取地圖縮放比例及中心經緯度代碼
天地圖添加標注工具類允許用戶在地圖上點擊后添加一個點標注,允許用戶自定義標注的圖標樣式,并添加文本說明。使用TMarker方法可以實現標注點的添加,通過TEvent.addListener方法中點擊標注后執行的函數可以實現標注點經緯度的獲取及進一步添加自定義信息窗口,再利用PHP表單提交,將標注點的名稱、說明文字、經緯度信息寫入數據庫。
實現對用戶已標記信息的搜索要使用到地址解析技術。地址解析主要分為兩種: 正向地址解析和反向地址解析[7]。本文利用正向地址解析,即輸入地域名,然后找到目標區域的經緯度坐標。因此,載入標記區域的地圖,可按如下流程進行: 首先輸入關鍵字進行搜索,在數據庫中找到對應的標記名稱,調用API解析函數,解析當前地址,如果地址解析失敗,則返回; 如果解析地址成功,則返回目標區域地理坐標,通過地理坐標及縮放比例即可獲取目標地圖。經緯度查詢及值傳遞的PHP代碼如圖2所示。然后將array_lat與array_lng數組中的經緯度數據作為地圖加載的經緯度參數,依次顯示在地圖上,就可以實現天地圖對標注位置的顯示。

圖2 經緯度查詢及值傳遞代碼
四、系統設計與實現
該系統總體結構設計上采用B/S模式,包括數據庫、服務器、客戶端(瀏覽器)3層結構。數據庫采用MySQL數據庫,Web服務器采用Apache,地圖數據直接來源于天地圖及HERE地圖,客戶端則采用普通的瀏覽器。邏輯上將系統分為地圖應用開發中常見的數據管理層、業務邏輯層及用戶界面層3層結構[8]。系統總體架構如圖3所示。

圖3 系統架構圖
數據庫是用來存儲和組織數據的, 根據系統程序應用需求和存儲數據的特點, 本系統數據庫在邏輯上分為天地圖及HERE地圖的基礎地理數據、用戶管理數據庫3部分。
本系統是在天地圖及HERE地圖服務支持下建立的, 利用其免費API得到的基礎地理數據是必需的, 也是本系統實現的根本。天地圖和Nokia提供的基礎地理數據就是一張電子地圖, 包含了各方面的地理信息,其結構見表1。

表1 用戶信息表數據結構
為滿足用戶的權限需求,實現用戶的權限管理,用戶對地圖的標記、說明、位置等信息的存取與查看,需要設計一個用戶管理數據庫,內含用戶信息表及用戶標記表,系統采用MySQL數據庫,其結構見表2。

表2 用戶標記表數據結構
多時相衛星影像地圖瀏覽包括了兩個不同時間點的衛星影像地圖,本文選取的分別是天地圖與HERE地圖,主要功能有地圖縮放、矢量地圖,以及影像地圖切換、用戶位置導航、地圖瀏覽區域的對應等。
這一模塊主要是讓用戶注冊和登錄網頁,用來設置用戶的權限,以及自定義標注的添加與保存。
地圖標注是為方便注冊用戶在多時相瀏覽的過程中,對自己發現的土地利用歷史、變化等進行說明與標注,功能有鼠標單擊添加標注、標注信息窗口添加標注信息等。
搜索模塊可以實現用戶對系統內其他用戶在多時相瀏覽過程中添加的標注信息的搜索與查看。
系統運行環境為: Win7+ Apache2.2.21 + MySQL 5.0數據庫。發布完成后經在線測試,系統實現了設計目標,驗證了本文提出的技術路線的可行性。系統主頁如圖4所示,圖5是多時相瀏覽頁面。

圖4 系統主頁

圖5 多時相瀏覽頁面
五、結束語
本文利用不同在線地圖服務商衛星影像數據的差異,結合地圖API,基于B/S開發模式,實現了一種低成本的多時相衛星影像地圖的瀏覽方法,采用本方法可以有效地實現多時相衛星影像地圖的快速瀏覽;用戶還可以進一步通過瀏覽與比對,添加地圖信息標注,分享地理信息。本文為解決衛星影像的在線多時相瀏覽提供了一個新的解決思路。
參考文獻:
[1]江寬,龔小鵬.Google Maps與Google Earth 雙劍合璧[M].北京:電子工業出版社,2008.
[2]國家測繪地理信息局.天地圖2014版上線運行[EB/OL].(2014-07-09)[2014-08-09].http:∥www.sbsm.gov.cn/article/chyw/201407/20140700012566.shtml.
[3]李艷,高揚.基于地圖API 的Web 地圖服務及應用研究[J].地理信息世界,2010,4(2):54-57.
[4]周啟民.多時相遙感影像變化檢測綜述[J].地理信息世界,2011,4(2):28-33.
[5]程鋼,郭玉祥,賈寶,等.國內主流在線地圖API分析及優化對策研究[J].測繪工程,2013,22(6):4-8.
[6]張孝祥,張紅梅.JavaScript 網頁開發:體驗式學習教程[M].北京:清華大學出版社,2004:105-110.
[7]周宇林,付忠良.基于Google地圖API 的空間信息發布[J].計算機應用,2011,31(5):1450-1453.
[8]談帥,劉波,劉昱君.基于云計算的市縣級“天地圖”架構設計[J].測繪通報,2012(S1):621-623.
[9]天地圖.天地圖Web API (JavaScript) V2.1.2[EB/OL].2014-01-08[2014-7-10].http:∥api.tianditu.com/api-new/webIndex.html.
[10]Nokia.JavaScript APIs-HERE Developers[EB/OL].2014-9-22[2014-10-10].https:∥developer.here.com/javascript-apis.
引文格式: 賀佑,謝剛生. 利用地圖API實現多時相遙感影像地圖在線瀏覽[J].測繪通報,2015(3):79-81.DOI:10.13474/j.cnki.11-2246.2015.0082
通信作者:謝剛生
作者簡介:賀佑(1989—),男,碩士生,主要研究方向為地理信息系統應用開發。E-mail:hy939@163.com
收稿日期:2014-08-28
中圖分類號:P23
文獻標識碼:B
文章編號:0494-0911(2015)03-0079-03