李觀石,張 彭,蔡 勇
(1.江蘇省測(cè)繪研究所,江蘇 南京 210013;2.泰州市自然資源和規(guī)劃局,江蘇 泰州 225300)
2016 年,泰州確立為江蘇省智慧城市建設(shè)試點(diǎn),進(jìn)一步加快 “智慧泰州”建設(shè)進(jìn)程。 智慧泰州以“互聯(lián)網(wǎng)+”與城鎮(zhèn)化建設(shè)相融合為抓手,充分運(yùn)用互聯(lián)網(wǎng)、云計(jì)算、大數(shù)據(jù)等新理念、新技術(shù),面向城市治理、惠民服務(wù)、公用基礎(chǔ)設(shè)施管建等,通過(guò)全面感知、精確分析的智能化管理手段,逐步提升智能化水平,實(shí)行精細(xì)化運(yùn)行管理服務(wù)。 根據(jù)2019 年版《智慧城市時(shí)空大數(shù)據(jù)平臺(tái)建設(shè)技術(shù)大綱》[1],項(xiàng)目的建設(shè)任務(wù)確立為在數(shù)字城市地理空間框架的基礎(chǔ)上,依托城市云支撐環(huán)境,實(shí)現(xiàn)向智慧城市時(shí)空大數(shù)據(jù)平臺(tái)的提升,開(kāi)發(fā)智慧城市示范應(yīng)用系統(tǒng),為智慧城市時(shí)空大數(shù)據(jù)平臺(tái)的全面應(yīng)用積累經(jīng)驗(yàn)。
智慧泰州時(shí)空大數(shù)據(jù)平臺(tái)依托云支撐環(huán)境、時(shí)空大數(shù)據(jù)和數(shù)據(jù)服務(wù)、功能服務(wù)、接口服務(wù)等服務(wù)體系進(jìn)行平臺(tái)和示范應(yīng)用建設(shè),總體上采用了基礎(chǔ)設(shè)施即服務(wù)(IaaS)、數(shù)據(jù)即服務(wù)(DaaS)、平臺(tái)即服務(wù)(PaaS)、軟件即服務(wù)(SaaS)的總體架構(gòu),同時(shí)為確保系統(tǒng)長(zhǎng)效運(yùn)行,同步建設(shè)了政策法規(guī)標(biāo)準(zhǔn)規(guī)范、安全保障體系和運(yùn)營(yíng)維護(hù)機(jī)制[2]。 智慧泰州時(shí)空大數(shù)據(jù)平臺(tái)總體架構(gòu),如圖1 所示。
圖1 智慧泰州時(shí)空大數(shù)據(jù)平臺(tái)總體架構(gòu)
時(shí)空大數(shù)據(jù)建設(shè)完成之后,如何進(jìn)行大數(shù)據(jù)的匯聚、分析,并且將分析模型發(fā)布為服務(wù),并供平臺(tái)用戶調(diào)用,成為平臺(tái)建設(shè)的關(guān)鍵問(wèn)題,因此平臺(tái)設(shè)計(jì)了大數(shù)據(jù)三維渲染引擎、POI 搜索引擎和時(shí)空信息分析引擎。
1.2.1 基于GLSL 的三維渲染引擎
時(shí)空大數(shù)據(jù)三維渲染引擎基于GLSL 語(yǔ)言(OpenGL 著色器編程語(yǔ)言)GPU 編程技術(shù),實(shí)現(xiàn)了渲染管線自定義、頂點(diǎn)著色器和片元著色器編程,定制渲染效果。 在不改變?cè)紨?shù)據(jù)存儲(chǔ)結(jié)構(gòu)的前提下,通過(guò)多次繪制實(shí)現(xiàn)矢量和模型數(shù)據(jù)的融合表達(dá)。
本項(xiàng)目基于Cesium 所內(nèi)置的Primitive 基類,實(shí)現(xiàn)了以Shader 邏輯為核心的GLSL 實(shí)時(shí)單體化分割渲染機(jī)制。 對(duì)于數(shù)據(jù)調(diào)度獲取到的每塊矢量瓦片單元,先以圖元為單位拆解出內(nèi)部包含的幾何對(duì)象,構(gòu)建為基礎(chǔ)二維幾何圖元,然后設(shè)置三維單體化底面高度屬性字段、頂面高度屬性字段等必要樣式信息,讀取圖元本身的三維空間坐標(biāo),同時(shí)結(jié)合樣式配置,提取必要的圖元屬性,構(gòu)建三維幾何圖元,建立自定義Primitive 繪制對(duì)象。 為確保海量數(shù)據(jù)的渲染效率,對(duì)圖元進(jìn)行合并處理,構(gòu)造GLSL Shader 與JavaScript 的基于圖元唯一鍵的關(guān)聯(lián)關(guān)系,支撐對(duì)象屬性拾取,進(jìn)行實(shí)例著色屬性賦值,支撐基于屬性的對(duì)象單體化著色,基于自定義GLSL Shader 頂點(diǎn)著色器腳本和片元著色器腳本,實(shí)現(xiàn)瀏覽器渲染管線下的動(dòng)態(tài)單體化效果渲染。 渲染流程,如圖2 所示。
圖2 三維引擎渲染流程
1.2.2 基于Solr 的POI 搜索引擎
Solr 是一個(gè)高性能,采用Java 開(kāi)發(fā),基于Lucene 的全文搜索服務(wù)器。 對(duì)其進(jìn)行了擴(kuò)展,提供了比Lucene更為豐富的查詢語(yǔ)言,同時(shí)實(shí)現(xiàn)了可配置、可擴(kuò)展并對(duì)查詢性能進(jìn)行了優(yōu)化,并且提供了一個(gè)完善的功能管理界面,是一款非常優(yōu)秀的全文搜索引擎。
為解決傳統(tǒng)POI(興趣點(diǎn))搜索方式部署復(fù)雜、效率不高以及無(wú)法智能搜索等問(wèn)題,本項(xiàng)目將Solr 技術(shù)引入地名地址引擎,對(duì)POI 搜索進(jìn)行改造。 基于Solr 技術(shù),僅需對(duì)省、市、縣后臺(tái)數(shù)據(jù)庫(kù)及POI 源數(shù)據(jù)進(jìn)行一次索引創(chuàng)建,之后可以與數(shù)據(jù)庫(kù)及源數(shù)據(jù)文件徹底分離,與底層數(shù)據(jù)庫(kù)及數(shù)據(jù)格式無(wú)關(guān),部署方便,實(shí)現(xiàn)使用多種數(shù)據(jù)庫(kù)創(chuàng)建POI 索引;查詢請(qǐng)求直接訪問(wèn)索引庫(kù),索引作為一種普通文本文件,其訪問(wèn)效率要高于訪問(wèn)數(shù)據(jù)庫(kù);支持全文檢索、智能分詞及同源詞匹配,按地理位置進(jìn)行搜索,無(wú)需額外編寫代碼;支持用戶輸入的模糊性與容錯(cuò)性設(shè)置,實(shí)現(xiàn)了地名地址信息的精確匹配和模糊匹配。
項(xiàng)目采用Solr 技術(shù)進(jìn)行數(shù)據(jù)搜索,基本流程為:首先把獲取到的原始數(shù)據(jù)轉(zhuǎn)換成ShapeFile 格式的數(shù)據(jù),通過(guò)對(duì)ShapeFile 文件創(chuàng)建索引,創(chuàng)建完成后可以直接使用索引庫(kù),甚至可以不用源數(shù)據(jù)和數(shù)據(jù)庫(kù),使用客戶端請(qǐng)求直接訪問(wèn)搜索中間層,而中間層直接訪問(wèn)Solr索引庫(kù)。 流程如圖3 所示。
圖3 Solr 技術(shù)搜索流程
1.2.3 基于OGC WPS 的數(shù)據(jù)分析引擎
OGC WPS 是一種Web 處理服務(wù),用于解決空間信息互操作的空間分析等問(wèn)題。 Processing 即ArcView 中的GeoProcessing,諸如Union,Intersect 等方法。 WPS 要做的就是暴露基于URL 接口來(lái)實(shí)現(xiàn)客戶端通過(guò)WebService 對(duì)此類方法的調(diào)用和返回?cái)?shù)據(jù)。
數(shù)據(jù)分析引擎主要包含知識(shí)引擎、知識(shí)模型和知識(shí)服務(wù)池三大模塊,知識(shí)模型中存儲(chǔ)了基于J2EE 或PYTHON 編輯和發(fā)布的知識(shí)算法,知識(shí)服務(wù)池基于OGC WPS 服務(wù)進(jìn)行封裝,通過(guò)BPMN (Business Process Modeling Notation)進(jìn)行工作流建模,通過(guò)Zookeeper 大數(shù)據(jù)分布式集群基礎(chǔ)組件構(gòu)建知識(shí)引擎[3],提供配置維護(hù)、域名服務(wù)、分布式同步、組服務(wù)等功能,不僅保證了系統(tǒng)的穩(wěn)定性和可用性,還設(shè)置了數(shù)據(jù)存儲(chǔ)的冗余機(jī)制,利用適合快速訪問(wèn)和讀寫的數(shù)據(jù)模型進(jìn)行數(shù)據(jù)管理。 項(xiàng)目將知識(shí)模型按一定的規(guī)則發(fā)布為標(biāo)準(zhǔn)的OGC WPS 服務(wù),再通過(guò)符合BPMN2.0 規(guī)范的流程引擎[4],對(duì)服務(wù)進(jìn)行流程定制,實(shí)現(xiàn)從知識(shí)算法模型到知識(shí)服務(wù)流程的轉(zhuǎn)變。
時(shí)空信息分析引擎針對(duì)不同的業(yè)務(wù)場(chǎng)景,利用流程設(shè)計(jì)器組合適用的知識(shí)模型,形成知識(shí)流程,并通過(guò)流程引擎按照知識(shí)流程,調(diào)用知識(shí)模型,執(zhí)行知識(shí)鏈,得到最終運(yùn)算結(jié)果。 時(shí)空信息分析引擎架構(gòu),如圖4所示。
圖4 時(shí)空信息分析引擎架構(gòu)
智慧泰州大數(shù)據(jù)平臺(tái)基于一套完整的時(shí)空大數(shù)據(jù)的整合和處理技術(shù)流程,匯聚了多個(gè)年份的基礎(chǔ)時(shí)空數(shù)據(jù)、各類公共專題等數(shù)據(jù)資源、物聯(lián)網(wǎng)感知數(shù)據(jù)和互聯(lián)網(wǎng)抓取數(shù)據(jù)。
智慧泰州時(shí)刻大數(shù)據(jù)匯聚內(nèi)容包括基礎(chǔ)時(shí)空數(shù)據(jù)、公共專題數(shù)據(jù)、物聯(lián)網(wǎng)感知數(shù)據(jù)和互聯(lián)網(wǎng)在線抓取數(shù)據(jù)四大類。
2.1.1 基礎(chǔ)時(shí)空數(shù)據(jù)
影像數(shù)據(jù)匯集了電子地圖數(shù)據(jù)、DEM 數(shù)據(jù),收集整理了2003—2019 年7 個(gè)年度的0.1~0.3 m 分辨率高清航片、2004—2021 年度衛(wèi)片影像以及1966 年、1976年的歷史衛(wèi)片(共15 個(gè)年度,如圖5 所示)以及歷年的地理國(guó)情數(shù)據(jù)。
圖5 歷年衛(wèi)片數(shù)據(jù)(泰州市政府周邊影像)
2.1.2 公共專題時(shí)空數(shù)據(jù)
歷史與現(xiàn)狀的公共專題數(shù)據(jù)包括泰州市水利、交通、城管等多個(gè)部門的專題數(shù)據(jù)。 對(duì)于部分缺乏空間信息的專題數(shù)據(jù),首先需要將這些數(shù)據(jù)進(jìn)行空間化處理,然后統(tǒng)一進(jìn)行規(guī)范化處理,統(tǒng)一空間基準(zhǔn)為CGCS2000,添加時(shí)間戳并入庫(kù)。
2.1.3 物聯(lián)網(wǎng)實(shí)時(shí)感知數(shù)據(jù)建設(shè)
物聯(lián)網(wǎng)實(shí)時(shí)感知數(shù)據(jù)主要包括慧眼守土監(jiān)測(cè)點(diǎn)、城管綜合管理視頻監(jiān)控點(diǎn)等攝像頭流數(shù)據(jù)和點(diǎn)位分布數(shù)據(jù)等。
2.1.4 互聯(lián)網(wǎng)在線抓取數(shù)據(jù)建設(shè)
互聯(lián)網(wǎng)在線抓取數(shù)據(jù)建設(shè)主要通過(guò)FME 軟件集成數(shù)據(jù),輔助以Python 二次開(kāi)發(fā)(即FME 中的Python Caller 和Python Creator)。 數(shù)據(jù)獲取包括三個(gè)階段:設(shè)計(jì)獲取規(guī)則、規(guī)避數(shù)據(jù)保護(hù)和解析地理信息[5]。 設(shè)計(jì)獲取有助于了解網(wǎng)站的架構(gòu)及確定爬取URL、參數(shù)的設(shè)置。 規(guī)避數(shù)據(jù)保護(hù)旨在研究如何有效地避開(kāi)不同網(wǎng)站的保護(hù)機(jī)制。 解析地理信息為后期并行計(jì)算、分布式存儲(chǔ)提供有力支撐。
項(xiàng)目按照以上數(shù)據(jù)建設(shè)內(nèi)容,構(gòu)建時(shí)空大數(shù)據(jù),主要包括匯聚、空間化處理和管理三大功能,統(tǒng)一匯聚、存儲(chǔ)、處理、融合、服務(wù)化各類結(jié)構(gòu)化、非結(jié)構(gòu)化信息內(nèi)容。 時(shí)空大數(shù)據(jù)空間化處理對(duì)實(shí)時(shí)在線、定期在線和離線拷貝的結(jié)構(gòu)化、非結(jié)構(gòu)化的時(shí)空大數(shù)據(jù),序化前的處理工作包括:統(tǒng)一格式、一致性處理和空間化。 流程如圖6 所示。
圖6 時(shí)空大數(shù)據(jù)處理流程
時(shí)空大數(shù)據(jù)分析挖掘通過(guò)調(diào)用平臺(tái)的已有工具,通過(guò)基于J2EE 后臺(tái)自主開(kāi)發(fā)的基于內(nèi)存計(jì)算的開(kāi)源集群系統(tǒng)Spark 來(lái)實(shí)現(xiàn)[6],形成REST 服務(wù)供Java 服務(wù)端調(diào)用并提供給客戶端,數(shù)據(jù)源為DataStore,Oracle11g或Geodatabase,利用快速的分布式計(jì)算和存儲(chǔ),快速處理帶有時(shí)間和空間值的矢量或者表格數(shù)據(jù)的新產(chǎn)品,挖掘數(shù)據(jù)在時(shí)空上的分布特征。
時(shí)空信息云平臺(tái)主要包括云中心(業(yè)務(wù)流引擎、知識(shí)引擎、地名地址引擎、三維場(chǎng)景引擎、云端管理系統(tǒng)、服務(wù)引擎、大數(shù)據(jù)挖掘與可視化系統(tǒng)、云端自主制圖系統(tǒng)、按需定制系統(tǒng)、服務(wù)資源池)、桌面平臺(tái)、移動(dòng)平臺(tái)建設(shè)。
3.1.1 服務(wù)引擎
服務(wù)引擎是指以靈活的方式實(shí)現(xiàn)服務(wù)彼此通信和轉(zhuǎn)換的連接中樞,幫助用戶在線調(diào)用服務(wù)資源池里的各類服務(wù)。 服務(wù)引擎的主要功能包括服務(wù)地址編目規(guī)則、服務(wù)地址轉(zhuǎn)換與編目、服務(wù)通信和服務(wù)圍欄等功能。
3.1.2 業(yè)務(wù)流引擎
業(yè)務(wù)流引擎是將業(yè)務(wù)流程中的工作,按照邏輯和規(guī)則以恰當(dāng)?shù)哪P瓦M(jìn)行表示并對(duì)其實(shí)施計(jì)算,實(shí)現(xiàn)工作業(yè)務(wù)的自動(dòng)化處理。 業(yè)務(wù)建模管理提供一個(gè)可視化的業(yè)務(wù)流建模管理平臺(tái),通過(guò)拖拽的方式實(shí)現(xiàn)業(yè)務(wù)流程建模,并支持對(duì)所建模型的運(yùn)行、監(jiān)控和管理。 業(yè)務(wù)流程建模構(gòu)建在時(shí)空大數(shù)據(jù)之上,以時(shí)空信息云服務(wù)能力為支撐。 其中構(gòu)建業(yè)務(wù)工作流所需要的計(jì)算資源、存儲(chǔ)資源、數(shù)據(jù)資源、分析模型等都可以從云平臺(tái)獲取,這些資源以原子服務(wù)形式存在,可歸為兩大類:云GIS 基礎(chǔ)資源服務(wù)和云GIS 功能服務(wù)。 云GIS 基礎(chǔ)資源服務(wù)是指為業(yè)務(wù)流提供基礎(chǔ)計(jì)算和存儲(chǔ)資源、數(shù)據(jù)服務(wù)資源的服務(wù),云GIS 功能服務(wù)是指提供時(shí)空信息數(shù)據(jù)加工、處理、挖掘、分析等GIS 功能的服務(wù)。 每個(gè)原子服務(wù)通過(guò)Java 接口遵循統(tǒng)一標(biāo)準(zhǔn)實(shí)現(xiàn)。
3.1.3 知識(shí)引擎
知識(shí)引擎是一個(gè)獨(dú)立的、可擴(kuò)展的引擎系統(tǒng),主要負(fù)責(zé)知識(shí)流程流轉(zhuǎn)的驅(qū)動(dòng),讓知識(shí)模型在定制的流程結(jié)構(gòu)中以節(jié)點(diǎn)和節(jié)點(diǎn)組合的方式進(jìn)行運(yùn)轉(zhuǎn)并輸出結(jié)果。 整個(gè)知識(shí)引擎系統(tǒng)的核心是知識(shí)模型,總體可分為三大類:統(tǒng)計(jì)分析模型、空間分析模型和面向時(shí)空大數(shù)據(jù)的分析模型。 其中,統(tǒng)計(jì)分析模型包括:屬性統(tǒng)計(jì)模型、時(shí)間統(tǒng)計(jì)模型、空間統(tǒng)計(jì)模型;空間分析模型包括:疊加分析模型、網(wǎng)絡(luò)分析模型、插值分析模型;面向時(shí)空大數(shù)據(jù)的分析模型包括:時(shí)空聚類模型、時(shí)空分類模型、時(shí)空模式分析模型、時(shí)空異常檢測(cè)模型。
3.1.4 地名地址引擎
地名地址匹配引擎是空間信息與其他信息之間的橋梁,能夠?qū)崿F(xiàn)數(shù)據(jù)在立方體模型上的精確定位,具體功能主要包括精確匹配不完整地址和不規(guī)范地址、精確匹配地址別名、精確匹配地址要素別名、容錯(cuò)匹配功能、非法或超界地址識(shí)別功能、可定制功能的開(kāi)放服務(wù)接口、批量匹配等。
3.1.5 三維場(chǎng)景引擎
三維場(chǎng)景引擎利用WebGL 無(wú)插件技術(shù),實(shí)現(xiàn)海量二三維空間數(shù)據(jù)從全球到近景尺度的實(shí)時(shí)可視化功能,并提供二三維數(shù)據(jù)符號(hào)化效果的交互式配置和專題三維地理場(chǎng)景的內(nèi)容和功能交互式配置功能。 三維場(chǎng)景引擎按照數(shù)據(jù)在線發(fā)布、圖層符號(hào)化配置、三維場(chǎng)景瀏覽、專題應(yīng)用定制等四方面功能建設(shè)目標(biāo),三維場(chǎng)景引擎細(xì)化解耦出數(shù)據(jù)管理系統(tǒng)、三維場(chǎng)景瀏覽系統(tǒng)及數(shù)據(jù)管理服務(wù)接口三大子系統(tǒng)。
桌面平臺(tái)是依托云中心提供的各類服務(wù)和引擎,面向桌面終端設(shè)備,運(yùn)行在內(nèi)部網(wǎng)、政務(wù)外網(wǎng)或互聯(lián)網(wǎng)上的服務(wù)平臺(tái)。 桌面平臺(tái)子系統(tǒng)主要包括地名地址服務(wù)系統(tǒng)、三維場(chǎng)景展示系統(tǒng)、服務(wù)管理中心、云端管理系統(tǒng)、大數(shù)據(jù)挖掘與可視化系統(tǒng)、云端自主制圖系統(tǒng)、按需定制系統(tǒng)等。 系統(tǒng)界面如圖7 所示。
圖7 智慧泰州時(shí)空大數(shù)據(jù)桌面平臺(tái)
移動(dòng)平臺(tái)是依托云中心提供的服務(wù),以移動(dòng)應(yīng)用程序或軟件形式部署在移動(dòng)終端設(shè)備,運(yùn)行在移動(dòng)網(wǎng)或無(wú)線網(wǎng)上的服務(wù)平臺(tái)。
移動(dòng)平臺(tái)實(shí)現(xiàn)了電子地圖基本功能、興趣點(diǎn)查詢、專題圖層菜單控制、定位等內(nèi)容,并進(jìn)行合理布局。 依托云中心,實(shí)現(xiàn)用戶注冊(cè)、認(rèn)證及登錄、圖層疊加、查詢統(tǒng)計(jì)、離線下載、路線查詢及規(guī)劃、興趣點(diǎn)標(biāo)注及收藏、空間量測(cè)及應(yīng)用設(shè)置等功能。 實(shí)現(xiàn)用戶分享、數(shù)據(jù)編輯、分屏對(duì)比、資源更新同步、地圖打印、地圖導(dǎo)航等功能。 系統(tǒng)界面如圖8 所示。
圖8 智慧泰州時(shí)空大數(shù)據(jù)移動(dòng)平臺(tái)
智慧泰州時(shí)空大數(shù)據(jù)平臺(tái)是智慧泰州的時(shí)空基礎(chǔ)設(shè)施,在項(xiàng)目實(shí)施中技術(shù)難度大、施工周期長(zhǎng),項(xiàng)目組攻堅(jiān)克難、搶抓時(shí)間節(jié)點(diǎn),積累了多項(xiàng)科技創(chuàng)新成果,構(gòu)建了時(shí)空大數(shù)據(jù)平臺(tái),實(shí)現(xiàn)鏈?zhǔn)綌?shù)據(jù)匯集、處理、分析與可視化。 研發(fā)了時(shí)空知識(shí)引擎,實(shí)現(xiàn)多平臺(tái)GIS分析能力互操作與在線組合定制,智能搭建GIS 應(yīng)用,賦能智慧城市應(yīng)用,提升行業(yè)智能化水平。
智慧泰州時(shí)空大數(shù)據(jù)平臺(tái)建設(shè)試點(diǎn)項(xiàng)目將不斷進(jìn)行持續(xù)深入的建設(shè)和推廣,并總結(jié)新形勢(shì)下開(kāi)展智慧城市時(shí)空大數(shù)據(jù)平臺(tái)建設(shè)的工作經(jīng)驗(yàn)、智慧城市時(shí)空大數(shù)據(jù)平臺(tái)服務(wù)于自然資源管理的優(yōu)秀經(jīng)驗(yàn),形成可復(fù)制、可推廣的“泰州模式”,為泰州的建設(shè)、運(yùn)營(yíng)、管理與服務(wù)提供全市統(tǒng)一的時(shí)空信息 “工作底圖”。