李觀石,張 彭,蔡 勇
(1.江蘇省測繪研究所,江蘇 南京 210013;2.泰州市自然資源和規劃局,江蘇 泰州 225300)
2016 年,泰州確立為江蘇省智慧城市建設試點,進一步加快 “智慧泰州”建設進程。 智慧泰州以“互聯網+”與城鎮化建設相融合為抓手,充分運用互聯網、云計算、大數據等新理念、新技術,面向城市治理、惠民服務、公用基礎設施管建等,通過全面感知、精確分析的智能化管理手段,逐步提升智能化水平,實行精細化運行管理服務。 根據2019 年版《智慧城市時空大數據平臺建設技術大綱》[1],項目的建設任務確立為在數字城市地理空間框架的基礎上,依托城市云支撐環境,實現向智慧城市時空大數據平臺的提升,開發智慧城市示范應用系統,為智慧城市時空大數據平臺的全面應用積累經驗。
智慧泰州時空大數據平臺依托云支撐環境、時空大數據和數據服務、功能服務、接口服務等服務體系進行平臺和示范應用建設,總體上采用了基礎設施即服務(IaaS)、數據即服務(DaaS)、平臺即服務(PaaS)、軟件即服務(SaaS)的總體架構,同時為確保系統長效運行,同步建設了政策法規標準規范、安全保障體系和運營維護機制[2]。 智慧泰州時空大數據平臺總體架構,如圖1 所示。

圖1 智慧泰州時空大數據平臺總體架構
時空大數據建設完成之后,如何進行大數據的匯聚、分析,并且將分析模型發布為服務,并供平臺用戶調用,成為平臺建設的關鍵問題,因此平臺設計了大數據三維渲染引擎、POI 搜索引擎和時空信息分析引擎。
1.2.1 基于GLSL 的三維渲染引擎
時空大數據三維渲染引擎基于GLSL 語言(OpenGL 著色器編程語言)GPU 編程技術,實現了渲染管線自定義、頂點著色器和片元著色器編程,定制渲染效果。 在不改變原始數據存儲結構的前提下,通過多次繪制實現矢量和模型數據的融合表達。
本項目基于Cesium 所內置的Primitive 基類,實現了以Shader 邏輯為核心的GLSL 實時單體化分割渲染機制。 對于數據調度獲取到的每塊矢量瓦片單元,先以圖元為單位拆解出內部包含的幾何對象,構建為基礎二維幾何圖元,然后設置三維單體化底面高度屬性字段、頂面高度屬性字段等必要樣式信息,讀取圖元本身的三維空間坐標,同時結合樣式配置,提取必要的圖元屬性,構建三維幾何圖元,建立自定義Primitive 繪制對象。 為確保海量數據的渲染效率,對圖元進行合并處理,構造GLSL Shader 與JavaScript 的基于圖元唯一鍵的關聯關系,支撐對象屬性拾取,進行實例著色屬性賦值,支撐基于屬性的對象單體化著色,基于自定義GLSL Shader 頂點著色器腳本和片元著色器腳本,實現瀏覽器渲染管線下的動態單體化效果渲染。 渲染流程,如圖2 所示。

圖2 三維引擎渲染流程
1.2.2 基于Solr 的POI 搜索引擎
Solr 是一個高性能,采用Java 開發,基于Lucene 的全文搜索服務器。 對其進行了擴展,提供了比Lucene更為豐富的查詢語言,同時實現了可配置、可擴展并對查詢性能進行了優化,并且提供了一個完善的功能管理界面,是一款非常優秀的全文搜索引擎。
為解決傳統POI(興趣點)搜索方式部署復雜、效率不高以及無法智能搜索等問題,本項目將Solr 技術引入地名地址引擎,對POI 搜索進行改造。 基于Solr 技術,僅需對省、市、縣后臺數據庫及POI 源數據進行一次索引創建,之后可以與數據庫及源數據文件徹底分離,與底層數據庫及數據格式無關,部署方便,實現使用多種數據庫創建POI 索引;查詢請求直接訪問索引庫,索引作為一種普通文本文件,其訪問效率要高于訪問數據庫;支持全文檢索、智能分詞及同源詞匹配,按地理位置進行搜索,無需額外編寫代碼;支持用戶輸入的模糊性與容錯性設置,實現了地名地址信息的精確匹配和模糊匹配。
項目采用Solr 技術進行數據搜索,基本流程為:首先把獲取到的原始數據轉換成ShapeFile 格式的數據,通過對ShapeFile 文件創建索引,創建完成后可以直接使用索引庫,甚至可以不用源數據和數據庫,使用客戶端請求直接訪問搜索中間層,而中間層直接訪問Solr索引庫。 流程如圖3 所示。

圖3 Solr 技術搜索流程
1.2.3 基于OGC WPS 的數據分析引擎
OGC WPS 是一種Web 處理服務,用于解決空間信息互操作的空間分析等問題。 Processing 即ArcView 中的GeoProcessing,諸如Union,Intersect 等方法。 WPS 要做的就是暴露基于URL 接口來實現客戶端通過WebService 對此類方法的調用和返回數據。
數據分析引擎主要包含知識引擎、知識模型和知識服務池三大模塊,知識模型中存儲了基于J2EE 或PYTHON 編輯和發布的知識算法,知識服務池基于OGC WPS 服務進行封裝,通過BPMN (Business Process Modeling Notation)進行工作流建模,通過Zookeeper 大數據分布式集群基礎組件構建知識引擎[3],提供配置維護、域名服務、分布式同步、組服務等功能,不僅保證了系統的穩定性和可用性,還設置了數據存儲的冗余機制,利用適合快速訪問和讀寫的數據模型進行數據管理。 項目將知識模型按一定的規則發布為標準的OGC WPS 服務,再通過符合BPMN2.0 規范的流程引擎[4],對服務進行流程定制,實現從知識算法模型到知識服務流程的轉變。
時空信息分析引擎針對不同的業務場景,利用流程設計器組合適用的知識模型,形成知識流程,并通過流程引擎按照知識流程,調用知識模型,執行知識鏈,得到最終運算結果。 時空信息分析引擎架構,如圖4所示。

圖4 時空信息分析引擎架構
智慧泰州大數據平臺基于一套完整的時空大數據的整合和處理技術流程,匯聚了多個年份的基礎時空數據、各類公共專題等數據資源、物聯網感知數據和互聯網抓取數據。
智慧泰州時刻大數據匯聚內容包括基礎時空數據、公共專題數據、物聯網感知數據和互聯網在線抓取數據四大類。
2.1.1 基礎時空數據
影像數據匯集了電子地圖數據、DEM 數據,收集整理了2003—2019 年7 個年度的0.1~0.3 m 分辨率高清航片、2004—2021 年度衛片影像以及1966 年、1976年的歷史衛片(共15 個年度,如圖5 所示)以及歷年的地理國情數據。

圖5 歷年衛片數據(泰州市政府周邊影像)
2.1.2 公共專題時空數據
歷史與現狀的公共專題數據包括泰州市水利、交通、城管等多個部門的專題數據。 對于部分缺乏空間信息的專題數據,首先需要將這些數據進行空間化處理,然后統一進行規范化處理,統一空間基準為CGCS2000,添加時間戳并入庫。
2.1.3 物聯網實時感知數據建設
物聯網實時感知數據主要包括慧眼守土監測點、城管綜合管理視頻監控點等攝像頭流數據和點位分布數據等。
2.1.4 互聯網在線抓取數據建設
互聯網在線抓取數據建設主要通過FME 軟件集成數據,輔助以Python 二次開發(即FME 中的Python Caller 和Python Creator)。 數據獲取包括三個階段:設計獲取規則、規避數據保護和解析地理信息[5]。 設計獲取有助于了解網站的架構及確定爬取URL、參數的設置。 規避數據保護旨在研究如何有效地避開不同網站的保護機制。 解析地理信息為后期并行計算、分布式存儲提供有力支撐。
項目按照以上數據建設內容,構建時空大數據,主要包括匯聚、空間化處理和管理三大功能,統一匯聚、存儲、處理、融合、服務化各類結構化、非結構化信息內容。 時空大數據空間化處理對實時在線、定期在線和離線拷貝的結構化、非結構化的時空大數據,序化前的處理工作包括:統一格式、一致性處理和空間化。 流程如圖6 所示。

圖6 時空大數據處理流程
時空大數據分析挖掘通過調用平臺的已有工具,通過基于J2EE 后臺自主開發的基于內存計算的開源集群系統Spark 來實現[6],形成REST 服務供Java 服務端調用并提供給客戶端,數據源為DataStore,Oracle11g或Geodatabase,利用快速的分布式計算和存儲,快速處理帶有時間和空間值的矢量或者表格數據的新產品,挖掘數據在時空上的分布特征。
時空信息云平臺主要包括云中心(業務流引擎、知識引擎、地名地址引擎、三維場景引擎、云端管理系統、服務引擎、大數據挖掘與可視化系統、云端自主制圖系統、按需定制系統、服務資源池)、桌面平臺、移動平臺建設。
3.1.1 服務引擎
服務引擎是指以靈活的方式實現服務彼此通信和轉換的連接中樞,幫助用戶在線調用服務資源池里的各類服務。 服務引擎的主要功能包括服務地址編目規則、服務地址轉換與編目、服務通信和服務圍欄等功能。
3.1.2 業務流引擎
業務流引擎是將業務流程中的工作,按照邏輯和規則以恰當的模型進行表示并對其實施計算,實現工作業務的自動化處理。 業務建模管理提供一個可視化的業務流建模管理平臺,通過拖拽的方式實現業務流程建模,并支持對所建模型的運行、監控和管理。 業務流程建模構建在時空大數據之上,以時空信息云服務能力為支撐。 其中構建業務工作流所需要的計算資源、存儲資源、數據資源、分析模型等都可以從云平臺獲取,這些資源以原子服務形式存在,可歸為兩大類:云GIS 基礎資源服務和云GIS 功能服務。 云GIS 基礎資源服務是指為業務流提供基礎計算和存儲資源、數據服務資源的服務,云GIS 功能服務是指提供時空信息數據加工、處理、挖掘、分析等GIS 功能的服務。 每個原子服務通過Java 接口遵循統一標準實現。
3.1.3 知識引擎
知識引擎是一個獨立的、可擴展的引擎系統,主要負責知識流程流轉的驅動,讓知識模型在定制的流程結構中以節點和節點組合的方式進行運轉并輸出結果。 整個知識引擎系統的核心是知識模型,總體可分為三大類:統計分析模型、空間分析模型和面向時空大數據的分析模型。 其中,統計分析模型包括:屬性統計模型、時間統計模型、空間統計模型;空間分析模型包括:疊加分析模型、網絡分析模型、插值分析模型;面向時空大數據的分析模型包括:時空聚類模型、時空分類模型、時空模式分析模型、時空異常檢測模型。
3.1.4 地名地址引擎
地名地址匹配引擎是空間信息與其他信息之間的橋梁,能夠實現數據在立方體模型上的精確定位,具體功能主要包括精確匹配不完整地址和不規范地址、精確匹配地址別名、精確匹配地址要素別名、容錯匹配功能、非法或超界地址識別功能、可定制功能的開放服務接口、批量匹配等。
3.1.5 三維場景引擎
三維場景引擎利用WebGL 無插件技術,實現海量二三維空間數據從全球到近景尺度的實時可視化功能,并提供二三維數據符號化效果的交互式配置和專題三維地理場景的內容和功能交互式配置功能。 三維場景引擎按照數據在線發布、圖層符號化配置、三維場景瀏覽、專題應用定制等四方面功能建設目標,三維場景引擎細化解耦出數據管理系統、三維場景瀏覽系統及數據管理服務接口三大子系統。
桌面平臺是依托云中心提供的各類服務和引擎,面向桌面終端設備,運行在內部網、政務外網或互聯網上的服務平臺。 桌面平臺子系統主要包括地名地址服務系統、三維場景展示系統、服務管理中心、云端管理系統、大數據挖掘與可視化系統、云端自主制圖系統、按需定制系統等。 系統界面如圖7 所示。

圖7 智慧泰州時空大數據桌面平臺
移動平臺是依托云中心提供的服務,以移動應用程序或軟件形式部署在移動終端設備,運行在移動網或無線網上的服務平臺。
移動平臺實現了電子地圖基本功能、興趣點查詢、專題圖層菜單控制、定位等內容,并進行合理布局。 依托云中心,實現用戶注冊、認證及登錄、圖層疊加、查詢統計、離線下載、路線查詢及規劃、興趣點標注及收藏、空間量測及應用設置等功能。 實現用戶分享、數據編輯、分屏對比、資源更新同步、地圖打印、地圖導航等功能。 系統界面如圖8 所示。

圖8 智慧泰州時空大數據移動平臺
智慧泰州時空大數據平臺是智慧泰州的時空基礎設施,在項目實施中技術難度大、施工周期長,項目組攻堅克難、搶抓時間節點,積累了多項科技創新成果,構建了時空大數據平臺,實現鏈式數據匯集、處理、分析與可視化。 研發了時空知識引擎,實現多平臺GIS分析能力互操作與在線組合定制,智能搭建GIS 應用,賦能智慧城市應用,提升行業智能化水平。
智慧泰州時空大數據平臺建設試點項目將不斷進行持續深入的建設和推廣,并總結新形勢下開展智慧城市時空大數據平臺建設的工作經驗、智慧城市時空大數據平臺服務于自然資源管理的優秀經驗,形成可復制、可推廣的“泰州模式”,為泰州的建設、運營、管理與服務提供全市統一的時空信息 “工作底圖”。