方 川
(江蘇省基礎地理信息中心,江蘇 南京 210013)
為進一步提升測繪地理信息公共服務水平和保障能力,促進公益性地圖共建共享,實現(xiàn)地理信息優(yōu)勢資源整合互補,江蘇省開展了全省輔助決策地圖聯(lián)動更新和共建共享工作,構建了省市縣三級聯(lián)動、按月更新、共建共享的運行機制[1]。目前,PC瀏覽器端開發(fā)的輔助決策地圖變化信息聯(lián)動系統(tǒng)實現(xiàn)了地圖聯(lián)動更新審核業(yè)務流程化管理[2],但仍存在縣級操作人員無法在外業(yè)實時標繪變更信息(以點線面等形狀及文字表示)以及業(yè)務移動辦公不方便等問題,迫切需要開發(fā)基于移動端的系統(tǒng)來實現(xiàn)相關功能。當前,智能手機、平板電腦等移動端設備得到迅速普及,其自身攜帶的各種傳感器和GPS模塊等使得基于移動端的應用開發(fā)更加方便,許多學者開始研究將矢量數(shù)據(jù)加入移動端地圖應用中。顧振雄[3]基于Leaflet在線地圖開源類庫,設計了一種基于HTML5 標準中Canvas標簽的矢量瓦片顯示方法;劉云峰等[4]基于ArcGIS API forFlex開發(fā)出文物電子地圖系統(tǒng);袁懷月等[5]分析傳統(tǒng)B/S模式下WebGIS應用存在的問題,提出一種基于ArcGIS Flex API技術構建的新型WebGIS開發(fā)框架;趙汀等[6]基于WebGIS技術建立地質遺跡數(shù)據(jù)庫及網(wǎng)絡電子地圖系統(tǒng);韓敏等[7]利用ArcGIS Server提供ADF(應用程序開發(fā)框架),結合JavaScript和無刷新回調等技術方法完成了電子地圖開發(fā)。在借鑒其他學者研究成果的基礎上,本文基于天地圖提供的地圖服務,結合智能語音識別、工作流引擎以及地理信息技術等,應用Leaflet Web API開發(fā)了移動端地圖變更審核系統(tǒng),實現(xiàn)重要地理要素的智能化更新。
基于leaflet Web API開發(fā)的移動端地圖變更審核系統(tǒng),可提供地圖變化信息的增刪改、審核、上傳、下載及管理等聯(lián)動功能。系統(tǒng)的具體業(yè)務流程為:省級審核人員每月下發(fā)任務;市級操作人員在縣級人員提交標記參考的基礎上完成本月地圖變更信息標記,并提交市級審核,市級審核人員完成審核后,根據(jù)審核結果提交至省級審核或駁回至市級操作;省級審核人員審核完成后,也可根據(jù)審核結果選擇通過任務或駁回任務,如圖1所示。
圖1 業(yè)務流程
系統(tǒng)充分利用GPS定位、拍照、錄制視頻、錄音等移動端功能,技術架構自頂向下設計為人機交互層、應用功能層、服務支撐層、數(shù)據(jù)存儲層和基礎設施層5層技術體系,如圖2所示。
圖2 技術架構
(1)基礎設施層:為系統(tǒng)提供基礎的軟件和硬件支撐平臺。其中,系統(tǒng)軟件分為操作系統(tǒng)軟件(Windows Server 2012及Linux Centos操作系統(tǒng))、Springboot+Python環(huán)境、關系型數(shù)據(jù)庫MySQL和非關系型數(shù)據(jù)庫Redis等;硬件設施包括數(shù)據(jù)庫服務器、應用服務器、APP軟件掛載服務器等。
(2)數(shù)據(jù)存儲層:應用MySQL和Redis兩種數(shù)據(jù)庫實現(xiàn)系統(tǒng)所有業(yè)務資料數(shù)據(jù)和圖片數(shù)據(jù)的存儲管理。其中,關系型數(shù)據(jù)庫MySQL用于存放用戶信息、標記信息、附件索引信息和業(yè)務處理流程信息等,非關系型數(shù)據(jù)庫Redis用于存儲用戶的認證授權信息和附件實體。
(3)服務支撐層:實現(xiàn)本系統(tǒng)使用的技術架構和采用的關鍵技術,為應用功能層的各個功能模塊、業(yè)務組件起支撐和組織的作用。根據(jù)系統(tǒng)的運行特點,采用前后分離的App開發(fā)架構,使用客戶端加服務端的模式,區(qū)別于傳統(tǒng)的B/S和C/S開發(fā)模式。
(4)應用功能層:負責處理本系統(tǒng)的所有核心業(yè)務,并將業(yè)務處理結果交由人機交互層進行可視化、交互分析等操作。主要包括:用戶管理模塊、地圖變更流程模塊、GIS可視化及編輯模塊、移動端功能調度模塊和語音識別擴展模塊等。
(5)人機交互層:用于顯示數(shù)據(jù)和接收用戶輸入的數(shù)據(jù),為用戶提供一種交互式操作的界面來使用系統(tǒng)的業(yè)務功能,系統(tǒng)的功能通過移動端App作為統(tǒng)一入口。包括:地圖展示、地理搜索、標記編輯、任務管理和用戶管理等。
從功能模塊的角度將系統(tǒng)劃分為5個模塊。
(1)用戶管理模塊:提供用戶注冊和登錄、工作底圖權限管理、任務分配權限管理、人員權限分配審核及信息修改等功能。系統(tǒng)所有業(yè)務功能都須用戶登錄后才能使用,不同角色用戶擁有不同權限,所有的用戶由管理員賬號統(tǒng)一管理。
(2)地圖變更流程模塊:提供業(yè)務流程化操作功能,主要包括每月糾正任務的下發(fā)和接收、糾正標記的添加、修改、審核和下載等功能,基于每個業(yè)務節(jié)點通過短信對相關用戶給予通知。
(3)GIS可視化及編輯模塊:通過WebGIS的API對地理數(shù)據(jù)進行相關處理,包括對矢量數(shù)據(jù)的創(chuàng)建、修改、編輯、刪除、渲染等,對圖片數(shù)據(jù)的疊加展示以及對數(shù)據(jù)格式的轉換,并通過MySQL數(shù)據(jù)庫對生成的GeoJson數(shù)據(jù)進行存儲,同時提供地理文件的上傳和下載功能。
(4)移動端功能調度模塊:實現(xiàn)移動端傳感設備調用功能,如通過調度移動端攝像頭為用戶提供拍照和視頻錄制服務、調用麥克風提供錄音服務、調用存儲系統(tǒng)將工作底圖緩存到移動設備本地、調用設備的GPS系統(tǒng)為用戶提供精準的定位服務等。
(5)語音識別模塊:提供移動端語音識別功能,通過快速精準地返回語音中的信息和命令執(zhí)行相應的操作,在系統(tǒng)中可實現(xiàn)快速語音搜索以及上傳語音轉文字功能。
工作流引擎作為應用系統(tǒng)的一部分,提供根據(jù)角色、分工和條件的不同決定信息傳遞路由、內容等級等核心解決方案,工作流引擎包括流程的節(jié)點管理、流向管理、流程樣例管理等重要功能。本系統(tǒng)開發(fā)語言是Java,工作流引擎采用Activiti,實現(xiàn)過程管理的自動化、智能化和整合化。
項目建設中采用ESRI公司的 Leaflet矢量地圖引擎作為項目軟件開發(fā)的核心引擎,可以將ArcGIS Server提供的地圖資源嵌入Web應用,支持地圖數(shù)據(jù)的無極縮放、旋轉、傾斜,提供豐富的配色模板支持個性化地圖的自定義編輯,提供地圖數(shù)據(jù)分層管理以及分類顯示、專題圖疊加、地圖標注編輯等功能。本系統(tǒng)主要運用的技術有:矢量地圖渲染、矢量圖形繪制、在線編輯和圖層疊加。另外,借助移動設備的GPS定位功能,通過調用天地圖API接口,結合GIS技術對檢索到的空間信息在地圖底圖上進行地物空間位置和地物屬性信息的疊加顯示,從而實現(xiàn)空間位置的查詢定位,便于快速確定目標位置。
語音識別功能在系統(tǒng)中主要應用于快速語音搜索以及上傳語音轉文字功能。
(1)快速語音搜索:由于手機屏幕尺寸限制了用戶查找標記位置的效率,系統(tǒng)提供語音智能識別,通過前端錄制用戶音頻,并實時傳給后臺Java服務,Java服務收到前臺傳來的語音后,開啟一個socket鏈接,將語音文件交由Python程序處理,Python程序將調用相關聲學模型和語言模型,經(jīng)過解碼,與傳過來的語音文件進行匹配,并通過socket鏈接返回識別的文本內容至搜索框,借助天地圖的興趣點數(shù)據(jù)實現(xiàn)位置檢索。
(2)上傳語音轉文字:現(xiàn)場實地進行調查時,調查人員會根據(jù)現(xiàn)場的實際情況進行描述,用手機鍵盤輸入或手寫比較浪費時間,可以通過語音上傳功能將描述的語音先上傳到后臺數(shù)據(jù)庫中,讓后臺語音識別模塊進行識別,并將識別的文字描述存入數(shù)據(jù)庫中,審核人員可以根據(jù)需要使用語音播放或者查看識別的描述,用于地圖要素變更的參考。
系統(tǒng)實現(xiàn)地圖變化信息編輯、審核、提交和反饋等全流程業(yè)務操作功能。
應用Leaflet Web API開發(fā),實現(xiàn)前端地圖渲染及在線地圖編輯的核心功能,業(yè)務人員通過移動端設備即可完成基于天地圖影像和工作底圖的地理數(shù)據(jù)繪制和編輯能力,提供空間數(shù)據(jù)加載、圖層控制、空間數(shù)據(jù)編輯(點、線、面及屬性)、數(shù)據(jù)可視化及操作等功能。
業(yè)務操作人員通過該模塊調用手機GPS功能進行位置檢索,調用手機攝像頭及麥克風等實時錄制標記相關圖片、視頻或音頻并上傳。另外,用戶可以將多媒體文件存儲在移動端ROM中,提供圖片、視頻保存至系統(tǒng)相冊的功能。通過把工作底圖緩存在內存中,以備下次打開直接調用,提高傳輸效率。
業(yè)務操作人員在對標記位置進行查找時,可實時語音識別檢索,也可將標記時的語音描述轉為文字進行保存或應用。部分系統(tǒng)操作界面如圖3所示。
圖3 系統(tǒng)操作界面
基于Leaflet Web API開發(fā)的移動端手機地圖變更審核系統(tǒng),結合工作流引擎技術、語音識別等關鍵技術,采用分布式計算、網(wǎng)絡化運行的系統(tǒng)環(huán)境,提供了一個功能完善、編輯便捷、流程完整的地圖變更信息編輯、審核、上傳和應用系統(tǒng)。作為PC端系統(tǒng)的補充,有效地解決了市縣級操作人員無法在外業(yè)中實時標繪變更信息以及適應業(yè)務移動辦公的需要,并且充分利用了移動端設備傳感器豐富的優(yōu)勢,極大提高了工作效率。