iOS端地理信息系统设计

2022-09-21 10:51胡古斤许孟杰
通信电源技术 2022年10期
关键词:消防栓服务器数据库

徐 昶,胡古斤,许孟杰

(1.湖北科技职业学院,湖北 武汉 430074;2.武汉市汇科智创科技有限公司,湖北 武汉 430000)

0 引 言

随着城镇化的推进,人们对于信息的需求量逐渐提高,城市管理者对规划决策问题也越来越敏感。地理信息涉及到日常生活、生产、城市规划等领域,我国幅员辽阔,存在许多城市规划问题亟待解决,例如交通规划、水利建设、城市勘测、城市监管等,找到一个有效、全面、科学的技术对于解决以上规划问题、为城市管理工作提供有效保障非常重要。目前,传统地理信息系统(Geographic Information System,GIS)在多个行业领域取得了不俗的成就,技术也日趋完善。目前,基于移动平台的地理信息系统正在崛起,移动设备凭借其便携性受到越来越多人的喜爱。以iOS系统、iServer服务、SuperMap API for iOS为基础,设计了一种用于工业生产、智慧城市等场景的移动解决方案,以此为后续移动端GIS系统设计提供参考。

1 移动端GIS系统介绍

1.1 定 义

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个层次,其中核心层分为基础模块、数据模块、地图、空间分析以及三维场景等。

1.2 移动端GIS系统

相较于传统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受限于无线网络的覆盖,对空间具有一定的依赖性,并对网络的速度有一定要求。

2 iOS平台室外消防栓采集系统

移动端GIS系统应用于多领域、多行业,以iOS平台的室外消防栓采集系统设计为例,为移动平台的GIS系统实现提供参考。

2.1 系统需求分析

室外消防栓信息化设计有助于准确掌握市政设施的状态、数量、分布情况以及属性,是市政设施高效管理的基础。室外消防栓采集系统就是给每个设备设定唯一编码,上传属性信息至市政信息库,这个过程是室外消防栓信息化、城市高效管理的重要依据。而传统的信息采集系统一般采用载波相位差分技术(Real Time Kinematic,RTK)测量仪、全站仪等专业仪器测量和采集位置信息,但专业仪器的使用难度高、流程烦琐、人力成本高且效率低。随着移动设备的性能提升,无线通信技术迅速发展,移动端GIS技术被广泛应用于数据采集系统,以此为依据设计了基于iOS系统的室外消防栓采集系统。

2.2 系统开发环境

开发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 系统总体设计

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 系统功能实现

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]。此外,提供区域数量统计功能,在地图特定区域统计消防栓数量,以统计图方式展示分布情况。采集人员在采集信息过程中生成的信息记录会上传保存,以备在需要的时候查询管理。

3 结 论

通过分析移动端GIS技术的特点和应用场景,以iOS端GIS开发为出发点,从系统需求、开发环境、系统架构设计以及功能模块等方面分析了市政室外消防栓采集系统。综合运用iOS系统开发、数据库技术以及通信技术等,将传统的人工野外数据采集方式转变为具有采集、展示、管理一体化功能的线上平台解决方案,提高了采集效率,具有一定的参考意义。

猜你喜欢
消防栓服务器数据库
服务器组功能的使用
理解Horizon 连接服务器、安全服务器的配置
超高消防栓(大家拍世界)
PowerTCP Server Tool
数据库
计算机网络安全服务器入侵与防御
数据库
数据库
数据库
一种消防栓