徐 昶,胡古斤,許孟杰
(1.湖北科技職業學院,湖北 武漢 430074;2.武漢市匯科智創科技有限公司,湖北 武漢 430000)
隨著城鎮化的推進,人們對于信息的需求量逐漸提高,城市管理者對規劃決策問題也越來越敏感。地理信息涉及到日常生活、生產、城市規劃等領域,我國幅員遼闊,存在許多城市規劃問題亟待解決,例如交通規劃、水利建設、城市勘測、城市監管等,找到一個有效、全面、科學的技術對于解決以上規劃問題、為城市管理工作提供有效保障非常重要。目前,傳統地理信息系統(Geographic Information System,GIS)在多個行業領域取得了不俗的成就,技術也日趨完善。目前,基于移動平臺的地理信息系統正在崛起,移動設備憑借其便攜性受到越來越多人的喜愛。以iOS系統、iServer服務、SuperMap API for iOS為基礎,設計了一種用于工業生產、智慧城市等場景的移動解決方案,以此為后續移動端GIS系統設計提供參考。
1.1.1 GIS
GIS屬于測繪的范疇,指依賴于計算機軟硬件技術對地球特定空間內地理位置及其屬性進行收集、存儲、描述、訪問處理以及分析的系統[1]。從20世紀開始,GIS經歷了不同的發展期。20世紀60年代開發出一些處理空間數據的軟件包;70年代提高了數據信息的處理效率;80年代的決策信息處理則讓GIS跨上了新臺階;90年代GIS開始市場化應用。進入21世紀后,GIS融合全球定位系統(Global Positioning System,GPS)、互聯網技術等成為一個綜合性系統應用。
1.1.2 移動端GIS
移動端GIS指搭載在智能移動端操作系統上的GIS,其中智能設備包含智能手機、智能手表、GPS定位設備等[2]。目前,除了主流的Andriod移動操作系統和iOS移動操作系統之外,還有Windows Phone等,它們都支持Mobile GIS的開發。
1.1.3 iOS
iOS是蘋果公司為iPhone設計的移動操作系統,后來逐步應用到其他如iPod、iPad、iWatch等移動設備上。根據統計,iPhone活躍用戶在2020年9月已超10億。相較于其他移動終端系統,iOS系統具有兼容性好、使用流暢等特點,其特有的權限分離、數據加密、代碼簽名、數據執行保護以及沙盒等技術提升了系統的安全性[3]。
1.1.4 Supermap iMobile for iOS
Supermap iMobile for iOS是基于iOS平臺的輕量級GIS軟件開發包,它將GIS應用從室內PC延伸到了靈活的戶外設備,并提供給移動設備地圖豐富的訪問接口,包括地圖瀏覽查詢和量算、路徑分析、單值專題圖動態分段等。以Supermap iMobile for iOS為基礎的產品架構分為核心層、組件層、應用層3個層次,其中核心層分為基礎模塊、數據模塊、地圖、空間分析以及三維場景等。
相較于傳統Web端GIS系統而言,移動GIS系統結構更加復雜。
1.2.1 組成元素
移動端GIS系統主要由移動端設備、無線網絡設施、GIS服務器以及空間信息數據服務系統組成[4]。移動端設備包括但不限于智能手機、平板等,搭載的一般為GIS功能應用軟件。無線網絡設施是移動端設備與服務器之間完成數據交互的紐帶,可以將用戶收集到的數據信息發送到GIS服務器,服務器再將處理分析完的數據返回終端,終端通過應用軟件呈現給用戶[5]。目前,市面上的GIS服務器分為兩種。一種是采用一體化設計,集多功能為一體的GIS服務器。另一種是由多個不同功能的小型服務器構成服務器群組,包括移動應用服務器、傳統GIS應用服務器以及地理信息服務器。該服務器組既能接收終端設備的數據訪問,返回給終端數據處理結果和為終端提供地理信息基礎數據,又能實現應用信息存儲、地理信息和多媒體等文件的查詢、數據的更新與交互等。空間信息數據庫用來管理和存儲地理位置數據及對應的屬性信息[6]。
1.2.2 系統結構
移動端GIS主要包括終端、服務端、空間信息數據,分別對應于表現層、系統中間層以及數據層。表現層用于用戶交互,獲取用戶信息,例如當前地理坐標,然后通過Mobile GIS系統上傳到服務器端。數據層是各類數據處理中心,是各類服務的數據源之一。中間層則是iOS端GIS系統的設計關鍵,是整個系統服務器的支撐,包括Internet、Map Server、Web Server等,主要用于處理、傳輸空間數據信息并執行系統功能等。
1.2.3 性能特點
(1)移動性。移動端GIS應用運行在移動智能設備上,目前大多通過4G或5G網絡遠程訪問服務器空間信息數據。
(2)終端多樣性。實際應用中,搭載iOS或安卓等操作系統的智能手機與平板等。
(3)服務實時性。在移動過程中可以通過終端設備的通信傳感、定位等模塊將采集的信息實時處理并傳送給用戶,這是移動GIS系統與傳統GIS系統最大的區別。
(4)信息載體多樣性。服務器與終端設備之間的交互信息類型豐富,信息載體多樣,例如圖文、影音等。
(5)對空間的依賴性。移動端GIS受限于無線網絡的覆蓋,對空間具有一定的依賴性,并對網絡的速度有一定要求。
移動端GIS系統應用于多領域、多行業,以iOS平臺的室外消防栓采集系統設計為例,為移動平臺的GIS系統實現提供參考。
室外消防栓信息化設計有助于準確掌握市政設施的狀態、數量、分布情況以及屬性,是市政設施高效管理的基礎。室外消防栓采集系統就是給每個設備設定唯一編碼,上傳屬性信息至市政信息庫,這個過程是室外消防栓信息化、城市高效管理的重要依據。而傳統的信息采集系統一般采用載波相位差分技術(Real Time Kinematic,RTK)測量儀、全站儀等專業儀器測量和采集位置信息,但專業儀器的使用難度高、流程煩瑣、人力成本高且效率低。隨著移動設備的性能提升,無線通信技術迅速發展,移動端GIS技術被廣泛應用于數據采集系統,以此為依據設計了基于iOS系統的室外消防栓采集系統。
開發iOS平臺下的GIS應用,需要搭載Mac OS系統的蘋果筆記本,軟件使用蘋果公司專為開發者提供的Xcode。Xcode前身是NeXT的Project Builder,作為一款集成開發工具,它集成了可視化設計、編碼、測試以及調試等功能。
iOS系統主要編程語言Object_C誕生于1986年,是一種面向對象的語言,兼容C語言并引入了面向對象程序設計(Objective Oriented Programming,OOP)和消息傳遞機制。在2014年的蘋果開發者發布大會上,蘋果公司又公布了新的開發語言Swift,它集中了C語言、Objective-C語言以及其他語言的優點,不受C語言兼容性的限制,而且能與Object_C同時應用于一個項目的開發。
iOS的系統框架分為核心服務層、核心操作系統層、可觸摸層以及媒體層4個層次。UIKit和Foundation是編程中用到的兩個主要框架。UIKit用于創建用戶觸摸界面,iOS應用所有的交互效果都是依賴于UIKit表現出來,其提供了諸如繪圖、事件處理服務。Foundation框架為應用系統提供基本的數據類型和服務。
2.3.1 系統架構設計
為了提高各模塊的擴展性,同時減少各模塊的耦合,將本系統架構從下至上分為數據層、平臺層、應用層以及表現層,如圖1所示。

圖1 系統架構
數據訪問層的源數據來源于采集人員按照國家標準采集的信息或已有的相關市政設施數據庫,包括地圖數據、行政劃分界限、遙感數據等。平臺層主要提供配套服務,以完成數據與應用層的對接,包括Oracle、SuperMap SDX+、Map Server以及 Web Server等。應用層借助平臺以及各種服務實現對數據層的訪問,用業務邏輯將數據串接起來,并通過分層分區等技術實現大數據的管理。表現層向城市市政設施管理部門展示各項功能,包括用戶權限管理、地圖分布顯示、消防栓信息上傳查詢等。
2.3.2 系統組織設計
系統組織流程如圖2所示。

圖2 系統組織
根據行政區域或特定分工要求,對采集區域進行地圖切片、分包,相關采集工作人員綁定區域任務。工作人員到達消防栓處后,編輯保存定位信息、消防栓屬性、實地照片等,將保存的數據通過移動終端設備自動實時上傳至服務器。更新終端設備提交的數據,并將更新后的數據同步反饋給其他終端設備,實時將所有已經采集統計的數據展示給管理人員。
2.3.3 數據庫設計
服務器端和移動端分別采用Oracle和SQLite數據庫作為存儲方案,兩個數據庫之間通過Web Service實現數據的交互。SuperMap SDX+是SuperMap GIS的空間數據庫引擎,通過它能夠將空間數據關聯到關系數據庫[7]。SuperMap SDX+與Oracle兼容性好,結合SuperMap SDX+與Oracle RAC技術能夠不間斷地為用戶提供高可用性、大數據量服務,從而實現對空間數據的高效存儲和管理。移動端SQLite數據庫則用于存放采集信息和瀏覽所需要的相關數據。
2.4.1 權限管理
分別設置管理員、采集人員兩大類,根據登錄人員類型動態配置頁面,向不同用戶授予不同權限。管理員擁有添加或刪除維護保養人員、修改業務數據等權限,維護保養人員只有查詢任務、分配任務以及采集上傳等權限[8]。
2.4.2 地圖功能
利用SuperMap提供的iOS平臺應用程序接口(Application Program Interface,API),采集人員可以使用基礎地圖信息工具,包括地圖瀏覽、地圖縮放、地圖平移以及工作分區顯示地圖邊界等。此外,提供消防栓編號查詢及指定地點周邊消防栓查詢功能。當用戶點擊地圖消防栓時,顯示消防栓坐標和屬性[9]。
2.4.3 采集功能
當Internet網絡信號良好時,采用網絡定位;當網絡信號不良時,選擇GPS定位。利用SuperMap提供的軟件開發工具包(Software Development Kit,SDK),在指定區域繪制不同工作區,具有分配任務權限的人員將工作區編號與指定工作人員編號綁定。通過系統實現基本信息填寫、拍照、上傳、記錄生成以及離線緩存等,網絡不良時利用SQLite數據庫先暫存在本地,當網絡良好時再上傳。
服務器在收到上報信息后,首先對數據解析、加工和轉換,其次驗證是否重復上傳,最后基于SuperMap SDX+將數據同步更新到Oracle中。由于Oracle數據庫與SuperMap發布的i Server地圖服務綁定,因此接收到同步信號后i Server地圖服務將在終端設備上實時反應出來。通過終端人為的控制和服務器的數據驗證,防止重復采集[10]。此外,提供區域數量統計功能,在地圖特定區域統計消防栓數量,以統計圖方式展示分布情況。采集人員在采集信息過程中生成的信息記錄會上傳保存,以備在需要的時候查詢管理。
通過分析移動端GIS技術的特點和應用場景,以iOS端GIS開發為出發點,從系統需求、開發環境、系統架構設計以及功能模塊等方面分析了市政室外消防栓采集系統。綜合運用iOS系統開發、數據庫技術以及通信技術等,將傳統的人工野外數據采集方式轉變為具有采集、展示、管理一體化功能的線上平臺解決方案,提高了采集效率,具有一定的參考意義。