丁克奎,鐘凱文,周旭斌,孫彩歌
(1.廣州地理研究所,廣東廣州510070;2.廣東省遙感與地理信息系統(tǒng)應(yīng)用重點(diǎn)實(shí)驗(yàn)室,廣東廣州510070;3.中國(guó)科學(xué)院廣州地球化學(xué)研究所,廣東廣州510640;4.中國(guó)科學(xué)院大學(xué),北京100049;5.廣東省國(guó)土資源技術(shù)中心,廣東 廣州510075)
人民國(guó)防是國(guó)防的重要組成部分,是為了防備敵人空襲、保護(hù)人民生命財(cái)產(chǎn),政府動(dòng)員并組織人民群眾所采取的措施和行為[1]。自然災(zāi)害、人為災(zāi)難的頻發(fā)和環(huán)境質(zhì)量的不斷下降,給人民的生命財(cái)產(chǎn)造成了巨大損失,并對(duì)各級(jí)人民政府及相關(guān)部門的應(yīng)急管理能力帶來了嚴(yán)峻的考驗(yàn)。因此,人民防空需要統(tǒng)籌戰(zhàn)備效益、經(jīng)濟(jì)效益、社會(huì)效益、環(huán)境效益、軌道交通效益[2],實(shí)現(xiàn)人防工程的“平戰(zhàn)結(jié)合”。加快防空防災(zāi)一體化建設(shè)是國(guó)家作出的重大戰(zhàn)略決策,是人防信息化進(jìn)程的必然要求。
近年來,云計(jì)算、物聯(lián)網(wǎng)、大數(shù)據(jù)、移動(dòng)互聯(lián)、智能設(shè)備及各種技術(shù)之間的融合、跨界都取得了飛速發(fā)展,由于多方面原因,人防現(xiàn)代化建設(shè)采用最新理論和技術(shù)的步伐相對(duì)滯后[3-4]。為了突破地理時(shí)空局限,同時(shí)加快人防業(yè)務(wù)流程,并增強(qiáng)相關(guān)各部門之間在應(yīng)急救災(zāi)中的合作和相關(guān)信息的共享,提高決策水平和效率,筆者基于ArcGIS Server API for Java Script開發(fā)了廣東省人防公共服務(wù)平臺(tái)。
要實(shí)現(xiàn)Web應(yīng)用的動(dòng)態(tài)交互需要瀏覽器發(fā)出請(qǐng)求,服務(wù)器端接受并審核成功后返回處理結(jié)果,客戶端瀏覽器將返回信息呈現(xiàn)出來。這種通信機(jī)制對(duì)于實(shí)時(shí)要求比較高的應(yīng)用,不能保證客戶端的信息是最新的,傳統(tǒng)上使用折中方案,如輪詢、長(zhǎng)輪詢和流技術(shù),這些Ajax解決方案增加了編程實(shí)現(xiàn)的復(fù)雜度和服務(wù)器端負(fù)載,制約了應(yīng)用系統(tǒng)的擴(kuò)展性[5]。
WebSocket是 HTML5的一種新協(xié)議,在單一TCP連接上實(shí)現(xiàn)客戶端瀏覽器和服務(wù)器之間的雙通道通信,減少了不必要的網(wǎng)絡(luò)流量與延遲,并提供了API供客戶端調(diào)用,提高了開發(fā)效率,降低了開發(fā)難度。服務(wù)器端啟動(dòng)套接字監(jiān)聽程序來監(jiān)聽客戶端連接請(qǐng)求,解析客戶端WebSocket“握手”信息,依據(jù)協(xié)議標(biāo)準(zhǔn)[6]生成包含WebSocket協(xié)議頭的回應(yīng)信息。在客戶端和服務(wù)器端“握手”之后,客戶端和服務(wù)器端的 WebSocket連接就建立起來了,雙方通過該通道傳遞信息,并且該連接會(huì)持續(xù)存在,直到其中一方主動(dòng)關(guān)閉連接(見表1)。
JSON是一種基于JavaScript的輕量級(jí)的數(shù)據(jù)交換格式,獨(dú)立于語言和平臺(tái),可以自我描述,易于機(jī)器和人理解,以鍵/值(key/value)對(duì)的形式存在。GeoJSON是基于JSON的數(shù)據(jù)格式,可以對(duì)地理要素進(jìn)行編碼。GeoJSON對(duì)象包括幾何特征、屬性或?qū)傩约?,幾何特征遵循OGC簡(jiǎn)單要素規(guī)范(simple features specification,SFS)。GeoJSON定義了以下幾種幾何類型:Point、LineString、Polygon、MultiPoint、MultiLineString、MultiPolygon 和 GeometryCollection,屬性包含幾何對(duì)象及附加信息,以及屬性集[7]。GeoJSON比基于XML數(shù)據(jù)交換格式的GML更為簡(jiǎn)潔,有利于地理數(shù)據(jù)的傳輸,客戶端可以直接利用JavaScript進(jìn)行解析[8-9]。
表1 WebSocket“握手”頭信息
GeoJSON數(shù)據(jù)示例如下:
圖1 系統(tǒng)體系結(jié)構(gòu)圖
ArcGIS Server REST接口響應(yīng)客戶端請(qǐng)求返回GeoJSON格式的地理數(shù)據(jù)。目前網(wǎng)上已經(jīng)提供了各種語言和平臺(tái)的JSON庫[10],在客戶端可以將解析的GeoJSON數(shù)據(jù)放在Web Stroage中,地理數(shù)據(jù)一般比較龐大,可以將數(shù)據(jù)存儲(chǔ)在SQLite數(shù)據(jù)庫中,避免重復(fù)請(qǐng)求并分擔(dān)服務(wù)器端壓力,HTML5內(nèi)置支持SQLite。
廣東省人防公共服務(wù)平臺(tái)在B/S結(jié)構(gòu)基礎(chǔ)上采用4層體系結(jié)構(gòu),如圖1所示。
1)數(shù)據(jù)層:包括人防專題數(shù)據(jù)、基礎(chǔ)空間數(shù)據(jù)、人防辦公業(yè)務(wù)數(shù)據(jù)和人防工程數(shù)據(jù)。
2)服務(wù)層:利用ArcGIS Server讀取Geodatabase空間數(shù)據(jù),通過REST接口提供Web服務(wù),將一些GIS功能和關(guān)系型數(shù)據(jù)(辦公業(yè)務(wù)數(shù)據(jù)和人防工程數(shù)據(jù))結(jié)合在服務(wù)器端進(jìn)行人防業(yè)務(wù)邏輯的實(shí)現(xiàn),采用Web Services技術(shù)[11-12],以REST接口形式提供Web服務(wù)。
3)動(dòng)態(tài)交互層:在客戶端實(shí)行內(nèi)容、形式和樣式的分離,瀏覽器接收用戶的數(shù)據(jù)服務(wù)請(qǐng)求和功能服務(wù)請(qǐng)求,利用WebSocket協(xié)議和服務(wù)器端進(jìn)行GeoJSON數(shù)據(jù)的交換,在客戶端解析數(shù)據(jù),利用HTML5和JavaScript進(jìn)行數(shù)據(jù)和功能服務(wù)的展現(xiàn)。
4)用戶層:不同的用戶具有不同的功能和服務(wù)權(quán)限。
系統(tǒng)數(shù)據(jù)庫存儲(chǔ)在關(guān)系型數(shù)據(jù)庫系統(tǒng)Oracle 11 g中,其中空間數(shù)據(jù)(包括人防專題數(shù)據(jù)和基礎(chǔ)空間數(shù)據(jù))通過ArcSDE空間數(shù)據(jù)庫引擎存儲(chǔ)在Oracle 11 g,并通過Geodatabase進(jìn)行數(shù)據(jù)庫組織,業(yè)務(wù)數(shù)據(jù)(人防辦公業(yè)務(wù)數(shù)據(jù)和人防工程數(shù)據(jù))直接存儲(chǔ)在Oracle 11g,并通過數(shù)據(jù)訪問接口進(jìn)行訪問。
1)人防專題數(shù)據(jù):包括人防警報(bào)器、地下人防工程分布、地鐵、地下商場(chǎng)、重要經(jīng)濟(jì)軍事目標(biāo)、城市重要生產(chǎn)及危險(xiǎn)物品等具有空間分布且與人防密切相關(guān)的數(shù)據(jù)。
2)基礎(chǔ)空間數(shù)據(jù):包括廣東省全省TM影像,從1∶2500至1∶2 500 000的10種比例尺地形圖,以及道路、鐵路、街道、行政區(qū)劃等矢量基礎(chǔ)地理信息?;A(chǔ)空間數(shù)據(jù)采用ArcGIS Server提供的地圖緩存技術(shù),圖片采用 PNG8格式,緩存格式采用Compact[13]格式。
3)人防辦公業(yè)務(wù)數(shù)據(jù):包括用戶數(shù)據(jù)、日志信息、部門信息、單位信息、業(yè)主聯(lián)系人等與人防相關(guān)的單位、個(gè)人及平臺(tái)管理維護(hù)信息。
4)人防工程數(shù)據(jù):工程建設(shè)、工程分期建設(shè)、工程異地建設(shè)、工程建設(shè)繳費(fèi)、工程(設(shè)施)改造、工程(設(shè)施)拆除等與人防工程相關(guān)的狀態(tài)、屬性、設(shè)備及建設(shè)維護(hù)信息。
系統(tǒng)采用Microsoft Visual Studio 2010作為開發(fā)平臺(tái),利用 ArcGIS Server API for JavaScript 3.6 開發(fā)方式,GIS服務(wù)采用ArcGIS Server 10.0,數(shù)據(jù)庫使用Oracle 11g,服務(wù)器端語言采用 C#(.NET 3.5)語言,客戶端使用HMTL5、CSS3和JavaScript。
廣東省人防公共服務(wù)平臺(tái)對(duì)不同人員和部門提供不同的服務(wù)和功能,廣東省各級(jí)人防部門進(jìn)行人防工程管理和人防業(yè)務(wù)處理,相關(guān)政府部門之間可以進(jìn)行人防信息的共享和人防管理決策協(xié)作、向相關(guān)領(lǐng)導(dǎo)進(jìn)行空間分析和空間決策支持,它還是公眾查詢?nèi)朔佬畔⒌囊粋€(gè)管理和共享平臺(tái)。
平臺(tái)功能包括以下部分(如圖2—圖5所示):
1)地圖基本操作:放大、縮小、漫游、全屏、鷹眼、地圖與遙感影像圖的切換、行政區(qū)劃目錄樹、圖層管理等。
2)量算:進(jìn)行坐標(biāo)查詢、長(zhǎng)度和面積的測(cè)量。
3)人防工程管理:包括點(diǎn)、線、面狀人防工程和相關(guān)地物的添加、刪除、修改和管理。
4)查詢檢索:包括模糊查詢、自定義查詢條件、圖數(shù)結(jié)合雙向查詢及利用SQL語句查詢?nèi)朔老嚓P(guān)信息,以及查詢結(jié)果信息的展示。
5)專題地圖:可以查詢防空襲部署圖、防空襲敵情判斷圖、防空襲物資保障圖、防空襲人員就地就近隱蔽圖、防空襲人口疏散圖等21個(gè)人防專題預(yù)案地圖。
6)空間分析:緩沖區(qū)分析、路徑分析、疏散分析,以及結(jié)合人防工程承載力、資源及人口分布等進(jìn)行資源分配分析。
7)報(bào)表統(tǒng)計(jì)與分析:進(jìn)行人防報(bào)表的查詢和編輯、人防報(bào)表信息展示,以及相關(guān)人防業(yè)務(wù)的操作。
8)系統(tǒng)管理:系統(tǒng)基本設(shè)置如注冊(cè)管理、日志管理、用戶信息和角色管理、幫助。
圖2 查詢檢索
圖3 面積和長(zhǎng)度測(cè)量
圖4 緩沖區(qū)分析
圖5 人防辦公
廣東省人防公共服務(wù)平臺(tái)滿足了人防“平戰(zhàn)結(jié)合”的需求,在和平時(shí)期,提供人防信息管理與共享、人防辦公,以及應(yīng)急救災(zāi);在戰(zhàn)時(shí),為指揮人員提供地圖信息查詢、圖上作業(yè),同時(shí)與衛(wèi)星、應(yīng)急指揮車、應(yīng)急指揮中心對(duì)接,提供人防空間決策支持。平臺(tái)還具備兼容性、可拓展性,以確保平臺(tái)能不斷優(yōu)化升級(jí),提供接口能與其他平臺(tái)系統(tǒng)進(jìn)行聯(lián)動(dòng)、銜接,為城市日常管理、應(yīng)急指揮和人防提供了強(qiáng)有力的技術(shù)支持。
目前廣東省人防公共服務(wù)平臺(tái)提供的空間分析和空間決策能力相對(duì)還比較薄弱,如何將強(qiáng)大的GIS空間分析能力與人防相關(guān)領(lǐng)域知識(shí)相結(jié)合建立、加速和簡(jiǎn)化人防空間決策時(shí)間和流程,還有待進(jìn)一步加強(qiáng)。
[1]國(guó)家人民防空辦公室基本知識(shí)[EB/OL].2011-05-05.http:∥ www.ccad.gov.cn/view/zhishibolan/renminfangkong/rfjbzs/20110505/276.html.
[2]李運(yùn)平.我國(guó)城市人防工程綜合效益評(píng)價(jià)研究[D].南京:南京航空航天大學(xué),2011:15-23.
[3]郗篤剛,劉玉,趙忠東,等.基于GIS與MIS集成技術(shù)的人防工程管理信息系統(tǒng)[J].測(cè)繪與空間地理信息,2010,33(2):69-72.
[4]鐘凱文,黃建明,梅其岳,等.基于WebGIS的廣州市人防工程地理信息系統(tǒng)研制[J].熱帶地理,2003,23(2):130-133.
[5]使用 HTML5 WebSocket構(gòu)建實(shí)時(shí) Web應(yīng)用[EB/OL].2011-12-05.http:∥www.ibm.com/developerworks/cn/web/1112_huangxa_websocket/.
[6]RFC 6455[EB/OL].2011-09-01.http:∥datatracker.ietf.org/doc/rfc6455/?include_text=1.
[7]The GeoJSON Format Specification[EB/OL].2008-06-01.http:∥geojson.org/geojson-spec.html.
[8]陳德權(quán).基與GeoJSON的 WFS實(shí)現(xiàn)方式[J].測(cè)繪科學(xué)技術(shù)學(xué)報(bào),2011,28(1):66-69.
[9]李細(xì)杰,鄔群勇,蔡旺華.基于JSON的輕量級(jí)WebGIS模型與應(yīng)用[J].測(cè)繪工程,2011,20(2):53-56.
[10]Introducing JSON[EB/OL].[2013-12-16].http:∥www.json.org/.
[11]謝喆,趙紅蕊,唐中實(shí).基于Web Services的GIS模型服務(wù)[J].測(cè)繪通報(bào),2007(3):63-66.
[12]鐘廣銳.基于GIS Web Services的城市污染源管理信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].測(cè)繪通報(bào),2009(8):50-53.
[13]何正國(guó),杜娟,毛海亞.精通ArcGIS Server應(yīng)用與開發(fā)[M].北京:人民郵電出版社,2013:81-92.