蔡 磊 張 沖 劉永軒 張宏年 吳 飛 楊川石
(1. 北京市測(cè)繪設(shè)計(jì)研究院, 北京 100038; 2. 城市空間信息工程北京市重點(diǎn)實(shí)驗(yàn)室, 北京 100038)
新型冠狀病毒肺炎是近百年來(lái)人類(lèi)遭遇的影響范圍最廣的全球性大流行病,對(duì)全世界是一次嚴(yán)重危機(jī)和嚴(yán)峻考驗(yàn)。人類(lèi)生命安全和健康面臨重大威脅[1]。北京市自2020年6月11日0時(shí)~7月5日24時(shí),累計(jì)報(bào)告本地確診病例335例[2],首都疫情防控形勢(shì)嚴(yán)峻。
在突發(fā)公共衛(wèi)生事件中,疫情的實(shí)時(shí)數(shù)據(jù)對(duì)政府與公共機(jī)構(gòu)具有重要的意義,政府與公共機(jī)構(gòu)借助疫情的實(shí)時(shí)數(shù)據(jù)進(jìn)行解讀等活動(dòng),民眾可以借助數(shù)據(jù)展開(kāi)自我防護(hù)工作[3]。因此,在疫情期間及時(shí)通過(guò)信息化的手段來(lái)發(fā)布疫情信息,對(duì)疫情防控工作有著至關(guān)重要的作用。
當(dāng)前,全國(guó)各大媒體平臺(tái)對(duì)新冠肺炎疫情進(jìn)行了各種形式的信息發(fā)布,如以文本通報(bào)形式的國(guó)家衛(wèi)健委的每日疫情通報(bào)[4];以可交互式疫情地圖形式發(fā)布的百度疫情實(shí)時(shí)大數(shù)據(jù)報(bào)告地圖[5]、丁香園·丁香醫(yī)生疫情實(shí)時(shí)動(dòng)態(tài)地圖[6]、騰訊新聞疫情實(shí)時(shí)追蹤地圖[7]等;還有以小程序形式發(fā)布的國(guó)務(wù)院客戶(hù)端小程序[8]、北京“健康寶”小程序[9]等。但從整體來(lái)看,網(wǎng)絡(luò)平臺(tái)的疫情實(shí)時(shí)地圖報(bào)告或大數(shù)據(jù)報(bào)告形式基本一致,在中國(guó)地圖上,以不同深淺的紅色表示各省疫情的輕重。同時(shí),配以文本表格羅列具體的感染人數(shù)[3]。在選擇各省市查看疫情信息時(shí),只能細(xì)化到該省市的下一級(jí)行政區(qū),即地級(jí)行政區(qū)。以北京市為例,能查看到的最詳細(xì)一級(jí)的疫情信息是以東城、西城、朝陽(yáng)、豐臺(tái)、石景山、海淀、門(mén)頭溝、房山、通州、順義、昌平、大興、懷柔、平谷、密云、延慶等16個(gè)區(qū)為單位的疫情信息,如各區(qū)的確診病例數(shù)、各區(qū)的無(wú)新增病例的天數(shù)等,卻無(wú)法查詢(xún)自己所在街道、鄉(xiāng)、鎮(zhèn)的疫情信息,疫情信息的顆粒度較粗,對(duì)于公眾了解自身周邊的疫情動(dòng)態(tài)和采用相應(yīng)的防護(hù)措施產(chǎn)生了不同程度的影響。
因此,本文通過(guò)將疫情信息的顆粒度細(xì)化到街道鄉(xiāng)鎮(zhèn)級(jí)別,并基于SuperMap iServer平臺(tái)搭建了北京市新冠肺炎疫情信息平臺(tái),發(fā)布疫情信息專(zhuān)題服務(wù),在Web前端與“天地圖”平臺(tái)的在線(xiàn)地圖服務(wù)進(jìn)行集成,實(shí)現(xiàn)了細(xì)化到街道、鄉(xiāng)、鎮(zhèn)的疫情信息查詢(xún)展示功能,及時(shí)向社會(huì)公眾進(jìn)行發(fā)布,為疫情防控決策提供了參考和支持。
“天地圖”是國(guó)家測(cè)繪地理信息局(現(xiàn)國(guó)家自然資源部)主導(dǎo)建設(shè)的國(guó)家地理信息公共服務(wù)平臺(tái),它是“數(shù)字中國(guó)”的重要組成部分。天地圖于2011年發(fā)布,它的目的在于促進(jìn)地理信息資源共享和高效利用,提高測(cè)繪地理信息公共服務(wù)能力和水平,改進(jìn)測(cè)繪地理信息成果的服務(wù)方式,更好地滿(mǎn)足國(guó)家信息化建設(shè)的需要,為社會(huì)公眾的工作和生活提供方便[10-11]。自2017年7月1日起施行的《中華人民共和國(guó)測(cè)繪法》[12]第四十條和自2016年1月1日起施行的《地圖管理?xiàng)l例》[13]第六條都明確規(guī)定:通過(guò)地理信息公共服務(wù)平臺(tái)向社會(huì)提供地理信息公共服務(wù),實(shí)現(xiàn)地理信息數(shù)據(jù)開(kāi)放共享。因此,“天地圖”是社會(huì)公眾獲取測(cè)繪地理信息資源官方、正規(guī)、合法的有效平臺(tái)。
本文通過(guò)調(diào)用天地圖平臺(tái)的在線(xiàn)地圖服務(wù),包括矢量底圖/注記、影像底圖/注記作為北京市新冠肺炎疫情信息平臺(tái)的基礎(chǔ)底圖。
SuperMap iServer是北京超圖軟件股份有限公司基于Jakarta EE平臺(tái)和SuperMap iObjects Java構(gòu)建的面向服務(wù)式架構(gòu)的企業(yè)級(jí)地理信息系統(tǒng)(Geographic Information System,GIS)產(chǎn)品,它以面向服務(wù)的組件形式將GIS功能部署在服務(wù)器上。能夠管理、發(fā)布和無(wú)縫聚合多源服務(wù),包括表述性狀態(tài)遷(Representational State Transfer,REST)服務(wù)、開(kāi)放地理空間信息聯(lián)盟(Open Geospatial Consortium,OGC)服務(wù)、網(wǎng)絡(luò)地圖服務(wù)(Web Map Service,WMS)、網(wǎng)絡(luò)地圖瓦片服務(wù)(Web Map Tile Service,WMTS)、網(wǎng)絡(luò)要素服務(wù)(Web Feature Service,WFS)、網(wǎng)絡(luò)覆蓋服務(wù)(Web Coverage Service,WCS)、網(wǎng)絡(luò)地理信息處理服務(wù)(Web Processing Service,WPS)、網(wǎng)絡(luò)目錄服務(wù)(Catalogue Service for the Web,CSW)等。作為一款服務(wù)式GIS產(chǎn)品,能全面地支持面向服務(wù)的架構(gòu)(Service-Oriented Architecture,SOA),通過(guò)對(duì)多種SOA實(shí)踐標(biāo)準(zhǔn)與空間信息服務(wù)標(biāo)準(zhǔn)的支持,可以使用于各種SOA架構(gòu)體系中,與其他IT業(yè)務(wù)系統(tǒng)進(jìn)行無(wú)縫的異構(gòu)集成,從而可以更容易地讓?xiě)?yīng)用開(kāi)發(fā)者快速構(gòu)建敏捷的應(yīng)用系統(tǒng)[14]。
SuperMap iClient是空間信息和服務(wù)的可視化交互開(kāi)發(fā)平臺(tái),是SuperMap服務(wù)器系列產(chǎn)品的統(tǒng)一客戶(hù)端。產(chǎn)品基于統(tǒng)一的架構(gòu)體系,面向Web端和移動(dòng)端提供了多種類(lèi)型的軟件開(kāi)發(fā)工具包(Software Development Kit,SDK)開(kāi)發(fā)包,支持JavaScript、Flash、Silverlight、Android、iOS等多種語(yǔ)言平臺(tái),幫助用戶(hù)快速構(gòu)建網(wǎng)絡(luò)富客戶(hù)端和輕量級(jí)移動(dòng)端GIS應(yīng)用[15]。目前,SuperMap iClient客戶(hù)端開(kāi)發(fā)平臺(tái)已在多個(gè)行業(yè)得到了應(yīng)用[16-18]。
北京市新冠肺炎疫情信息平臺(tái)是“天地圖·北京”[19]的子欄目,基于B/S(瀏覽器/服務(wù)器模式,Browser/Server)架構(gòu)進(jìn)行搭建,用戶(hù)以瀏覽器的形式與平臺(tái)進(jìn)行交互,因此平臺(tái)開(kāi)發(fā)選取SuperMap iClient JavaScript開(kāi)發(fā)包,利用其封裝好的API實(shí)現(xiàn)地圖服務(wù)調(diào)用、圖層疊加、疫情信息展示等相關(guān)功能。
北京市新冠肺炎疫情信息平臺(tái)作為“天地圖·北京”的子欄目,是一個(gè)B/S架構(gòu)的WebGIS平臺(tái)。最大的需求是在Web前端集成天地圖的在線(xiàn)地圖服務(wù),并展示SuperMap iServer發(fā)布的疫情信息專(zhuān)題圖層。為了更好地將數(shù)據(jù)專(zhuān)題和Web前端表現(xiàn)進(jìn)行區(qū)分,我們?cè)诙咧虚g加入了邏輯層,對(duì)二者進(jìn)行更好的組織,因此,我們將平臺(tái)的總體架構(gòu)分為數(shù)據(jù)層、邏輯層和表現(xiàn)層,如圖1所示。
圖1 北京市新冠肺炎疫情信息平臺(tái)總體架構(gòu)
數(shù)據(jù)層以O(shè)racle關(guān)系型數(shù)據(jù)庫(kù)為存儲(chǔ)容器,通過(guò)SuperMap SDX+空間數(shù)據(jù)庫(kù)引擎[20]建立空間數(shù)據(jù)庫(kù),實(shí)現(xiàn)疫情信息的空間和屬性數(shù)據(jù)的一體化存儲(chǔ),便于疫情信息專(zhuān)題圖層的維護(hù)和管理,為查詢(xún)、統(tǒng)計(jì)、分析提供數(shù)據(jù)支持。
邏輯層以SuperMap iServer為容器,對(duì)天地圖的在線(xiàn)地圖服務(wù)和基于iServer發(fā)布的疫情信息Rest服務(wù)進(jìn)行集成,同時(shí)接受Web端用戶(hù)的瀏覽或查詢(xún)請(qǐng)求,建立與數(shù)據(jù)庫(kù)連接的通道,向Web端反饋處理結(jié)果。
表現(xiàn)層是在Web端調(diào)用天地圖的在線(xiàn)地圖服務(wù),疊加北京市中高風(fēng)險(xiǎn)地區(qū)、各區(qū)無(wú)新增病例天數(shù)、各區(qū)累計(jì)本地確診病例人數(shù)、確診病例市場(chǎng)和核酸檢測(cè)機(jī)構(gòu)等五類(lèi)疫情相關(guān)信息進(jìn)行查詢(xún)和展示,使社會(huì)公眾能夠借助“天地圖·北京”互聯(lián)網(wǎng)平臺(tái)了解北京市新冠肺炎疫情的具體情況。
疫情信息專(zhuān)題數(shù)據(jù)是公眾最為關(guān)心的內(nèi)容,因此根據(jù)社會(huì)公眾對(duì)疫情信息了解的需求,并結(jié)合北京市新冠肺炎疫情數(shù)據(jù)的實(shí)際情況,平臺(tái)將疫情信息分為北京市中高風(fēng)險(xiǎn)地區(qū)(街鄉(xiāng)鎮(zhèn)級(jí))、各區(qū)無(wú)新增病例天數(shù)、各區(qū)累計(jì)本地確診病例人數(shù)、確診病例市場(chǎng)和核酸檢測(cè)機(jī)構(gòu)等五類(lèi),具體數(shù)據(jù)的內(nèi)容和形式見(jiàn)表1。
表1 疫情信息專(zhuān)題數(shù)據(jù)的內(nèi)容和形式
在數(shù)據(jù)加工工作中,我們對(duì)平臺(tái)里的疫情數(shù)據(jù)分為空間數(shù)據(jù)和屬性數(shù)據(jù)兩類(lèi)進(jìn)行更新。北京市中高風(fēng)險(xiǎn)地區(qū)對(duì)應(yīng)的空間數(shù)據(jù)為全市333個(gè)街鄉(xiāng)鎮(zhèn),屬性數(shù)據(jù)為333個(gè)街鄉(xiāng)鎮(zhèn)對(duì)應(yīng)的高、中、低風(fēng)險(xiǎn)級(jí)別;各區(qū)無(wú)新增病例天數(shù)、各區(qū)累計(jì)本地確診病例人數(shù)對(duì)應(yīng)的空間數(shù)據(jù)為全市的16個(gè)區(qū),對(duì)應(yīng)的屬性數(shù)據(jù)為以區(qū)為單元的各區(qū)無(wú)新增病例天數(shù)和各區(qū)累計(jì)本地確診病例人數(shù);確診病例市場(chǎng)和核酸檢測(cè)機(jī)構(gòu)對(duì)應(yīng)的空間信息為空間點(diǎn)數(shù)據(jù),確診病例市場(chǎng)空間點(diǎn)對(duì)應(yīng)其名稱(chēng)、地址,核酸檢測(cè)機(jī)構(gòu)空間點(diǎn)對(duì)應(yīng)其名稱(chēng)、地址、電話(huà)等屬性信息。對(duì)于前三類(lèi)數(shù)據(jù)僅需對(duì)其屬性信息進(jìn)行修改,而后兩類(lèi)則需根據(jù)需要同時(shí)進(jìn)行修改??臻g數(shù)據(jù)和屬性數(shù)據(jù)編輯完成后經(jīng)過(guò)兩級(jí)檢查的質(zhì)量控制后,由SuperMap iSever進(jìn)行服務(wù)發(fā)布和管理,以天為更新周期。
北京市新冠肺炎疫情信息平臺(tái)的功能設(shè)計(jì),實(shí)際上是對(duì)平臺(tái)Web前端的功能進(jìn)行設(shè)計(jì)。平臺(tái)面向的對(duì)象是公眾,基于易用性原則,我們將平臺(tái)功能分為基礎(chǔ)的地圖瀏覽模塊和核心的疫情專(zhuān)題查詢(xún)展示模塊,具體如圖2所示。地圖瀏覽模塊實(shí)現(xiàn)WebGIS基本的地圖瀏覽、縮放、切換等功能。疫情專(zhuān)題查詢(xún)展示模塊針對(duì)5類(lèi)疫情信息進(jìn)行查詢(xún)展示,形成5張專(zhuān)題信息圖層,它們是北京市中高風(fēng)險(xiǎn)地區(qū)圖、各區(qū)無(wú)新增病例分布圖、各區(qū)累計(jì)本地確診病例分布圖、確診病例市場(chǎng)分布圖、核酸檢測(cè)機(jī)構(gòu)分布圖。它們能隨比例尺的縮放進(jìn)行不同詳盡程度的展示。以上5類(lèi)疫情專(zhuān)題信息保持每日更新,其中,高、中風(fēng)險(xiǎn)地區(qū)信息來(lái)源于國(guó)務(wù)院疫情風(fēng)險(xiǎn)等級(jí)查詢(xún)客戶(hù)端小程序,各區(qū)無(wú)新增病例數(shù)、各區(qū)累計(jì)本地確診病例數(shù)、確診病例市場(chǎng)和核酸檢測(cè)機(jī)構(gòu)等信息均來(lái)源于北京市衛(wèi)生健康委員會(huì)官方網(wǎng)站。
圖2 北京市新冠肺炎疫情信息平臺(tái)功能
本平臺(tái)以Eclipse為集成開(kāi)發(fā)環(huán)境,采用JavaScript腳本語(yǔ)言進(jìn)行編程。開(kāi)發(fā)完成了北京市新冠肺炎疫情信息平臺(tái),包括地圖瀏覽模塊、疫情專(zhuān)題查詢(xún)展示模塊兩部分。地圖瀏覽模塊實(shí)現(xiàn)了基本地圖瀏覽功能,如平移、縮放、矢量底圖和影像底圖的切換等。疫情專(zhuān)題查詢(xún)展示模塊實(shí)現(xiàn)了街鄉(xiāng)鎮(zhèn)級(jí)的北京市中高風(fēng)險(xiǎn)地區(qū)圖、各區(qū)無(wú)新增病例分布圖、各區(qū)累計(jì)本地確診病例分布圖、確診病例市場(chǎng)分布圖(圖3)、核酸檢測(cè)機(jī)構(gòu)分布圖(圖4)等5類(lèi)專(zhuān)題圖層的展示。
圖3 確診病例市場(chǎng)分布圖(局部)
圖4 核酸檢測(cè)機(jī)構(gòu)分布圖(局部)
本文基于SuperMap iServer平臺(tái)和天地圖的在線(xiàn)地圖服務(wù)搭建了北京市新冠肺炎疫情信息平臺(tái),實(shí)現(xiàn)了細(xì)化到街鄉(xiāng)鎮(zhèn)級(jí)的北京市中高風(fēng)險(xiǎn)地區(qū)圖、各區(qū)無(wú)新增病例分布圖、各區(qū)累計(jì)本地確診病例分布圖、確診病例市場(chǎng)分布圖、核酸檢測(cè)機(jī)構(gòu)分布圖等5類(lèi)疫情專(zhuān)題查詢(xún)信息的展示。通過(guò)建立每日更新的機(jī)制,及時(shí)向社會(huì)公眾發(fā)布疫情信息。其中,細(xì)化到街道、鄉(xiāng)、鎮(zhèn)的中高風(fēng)險(xiǎn)地區(qū)范圍圖,被新華網(wǎng)采用發(fā)布了四期北京市中高風(fēng)險(xiǎn)地區(qū)地圖(街鄉(xiāng)鎮(zhèn)圖),全網(wǎng)閱讀量高達(dá)2 300萬(wàn)人次,受到了極大的關(guān)注。下一步工作中,需繼續(xù)細(xì)化疫情信息展示的顆粒度,如中、高風(fēng)險(xiǎn)地區(qū)可進(jìn)一步細(xì)化到社區(qū)、村級(jí);確診病例可細(xì)化到病人的居住小區(qū);還應(yīng)加入流調(diào)數(shù)據(jù)進(jìn)行時(shí)空展示等。希望通過(guò)不斷地改進(jìn),該平臺(tái)能對(duì)北京市的疫情防控工作發(fā)揮更大的作用。