基于Android平台的地理实习数据采集系统设计

2024-12-31 00:00:00王杰蒋德健张管宏
河南科技 2024年12期
关键词:要素数据库用户

摘 要:【目的】为满足地理实习中空间数据实时采集与管理的需求,提升野外实习工作效率,研发了一套基于Android平台的地理实习数据采集系统。【方法】在地理实习教学需求分析的基础上,以Android智能手机为移动终端,基于客户端—服务器体系结构的分布式模式,利用ArcGIS Runtime SDK for Android二次开发接口集成Android开发、物联网数据实时采集、SQLite数据库以及移动地图展示等移动GIS技术进行系统设计与研发。【结果】实现了用户登录、地图浏览、地理位置获取与显示、地理要素采集与管理、现场照片上传、退出系统等功能,并应用于地理实习教学。【结论】该系统不仅可用于地理实习、野外调查等场景,而且可用于实时采集、存储和显示地理数据。此外,该系统还具有较好的可扩展性和兼容性,也可以适用于其他外业工作场景。

关键词:Andriod平台;地理数据采集;移动GIS;GIS应用系统;地理实习教学

中图分类号:G633.55;K909 " 文献标志码:A " 文章编号:1003-5168(2024)12-0014-05

DOI:10.19968/j.cnki.hnkj.1003-5168.2024.12.003

Design of a Field Data Collection System for Geographical Practice Based on Android Platform

WANG Jie1 JIANG Dejian1 ZHANG Guanhong2

(1.College of Resources and Environmental Engineering, "Hefei "230601, China;

2. Inner Mongolia Electric Power Survey amp; Design Institute, Hohhot "010010, China)

Abstract:[Purposes] In order to meet the needs of real-time collection and management of spatial data in geographical internships, and to improve the efficiency of field internships effectively , a geographic practice data acquisition system based on Android platform is developed.[Methods] Based on the analysis of the needs of geography practice teaching, the Android smart phone is used as the mobile terminal. Based on the distributed mode of client-server architecture, the ArcGIS Runtime SDK for Android secondary development interface is used to integrate GIS technologies, such as "Android development, real-time data collection of Internet of Things, SQLite database and mobile map display, so as to design and develop the system. [Findings] This system realizes functions such as user login, map browsing, geographical location acquisition and display, geographical element collection and management, on-site photo upload, and exit from the system, and is used in geography practice teaching.[Conclusions] It can be used in scenarios such as geographical internships and field surveys to collect, store and display geographical data in real time.In addition, this system also has good scalability and compatibility, and can also be applied to other field work scenarios.

Keywords: Android platform; Geographical data collection; Mobile GIS; GIS application system; Geography practice

0 引言

地理实习作为连接课堂教学与非课堂教学的桥梁,对于培养地理类专业学生的理论知识与实践技能具有重要作用。在地理实习教学中,地理数据采集是现场获取数据的必要手段,可为地理学领域研究提供强有力的支持。传统的地理数据外业采集大多依靠专业测绘设备,不仅设备体积大、重量重,而且需要专业人员进行操作和维护,难以满足大众化的数据采集需求。随着移动互联网的快速发展和移动设备的广泛应用,地理信息的采集和处理逐渐成为手机和平板电脑等移动设备的主要应用之一[1]。现代的移动设备不仅配备了精度更高、更快捷的定位系统,而且夹杂社交、传媒、办公、游戏等多重应用的特点,可以轻易地进行地理信息采集,便于大规模地收集数据[2]。因此,研发基于移动设备的地理实习外业采集系统,既可以提高地理数据的采集和处理效率,又可以加强大众对地理信息的参与度,具有高度的应用价值和推广前景[3]。

作为基于Linux系统的自由及开放源代码的操作系统, Android平台已广泛应用于智能手机和平板电脑等移动设备,其最大优势就是开放性。国外相关机构推出了多个基于Android 平台的移动GIS程序,如Google Maps API、Mapbox for Android、ArcGIS Runtime SDK for Android、GeoMobile for Android等,这些系统相当成熟,可以提供高精准性和高可视化的地图展示[4]。国内一些GIS软件厂商也开始重视基于Android平台的移动GIS产品,如SuperMap移动GIS、南京数字地球等,并已经推行出一些关于互联网导航应用、交叉路口数据等方面的解决方案[5]。但是移动GIS技术在我国还存在一些不足,如移动GIS技术应用技能的普及率较低,很多地理工作者对移动GIS应用仍存在较大的陌生感和操作难度,并且在地理实习教学中的应用也并不多见。

为了满足地理实习中数据实时采集与管理的需求,本研究基于Android平台开发一款轻便、易用、低成本的地理实习外业数据采集系统,旨在探索面向移动设备的地理实习外业采集系统开发方法,从而提高地理数据的采集与管理效率。该系统的设计目标是为了方便实习师生在山区、城市等场景中开展实时定位、矢量数据、属性数据和照片采集,实现数据存储和快速检索,并支持数据采集过程的多种选择、数据导入导出、数据格式设置等功能。

1 系统设计与关键技术

1.1 用户需求分析

地理实习数据采集系统的用户主要是地理学类专业的教师和学生。在外业实习中需要一个高效、实用的工具来采集与管理空间数据,主要需求如下。

①快速采集和管理数据。用户需要实时采集和管理各种实习数据,包括地理位置、图形数据、属性数据等。因此,需要系统具备高效的采集方式和数据管理功能。

②离线采集和数据同步。由于在野外经常没有稳定的网络信号,因此,需要系统具备支持离线采集和数据同步的功能,以确保采集的数据不会丢失。当设备恢复到网络状态时,数据可以自动同步到服务器或其他设备上。

③数据可视化和分析。用户需要一系列实用分析工具和可视化方式,因此,需要系统可以提供各种数据展示图表、图形和地图等,使用户更好地理解、分析和展示数据。

1.2 系统结构设计

ArcGIS API for Android 使用 Java 构建多种应用程序,利用 ArcGIS Server 提供的强大制图、地理编码、地理处理和自定义功能,将其部署到 Android平台上。该系统通过 ArcGIS API for Android 的二次开发接口实现地图在 Android 设备上的浏览、查询、编辑和定位等功能。其中,通过 Android 提供的一套关于地理信息和 SQLite 数据库相互转换解析的方案,实现了对要素属性的增删改查[6]。系统结构设计如图1所示。

①调用 ArcGIS API for Android提供的 GPS 定位相关类库 LocationDisplay,通过 Android移动平台获取地物目标的地理位置信息,并在地图上进行显示。

②实现地理要素空间位置和 SQLite 数据库中地理位置字段的相互转换,方便存储和渲染显示工程中绘制的地理要素。

③通过 Android 组件之间传递要素唯一 ID 的方式实现对要素属性的查询、编辑、保存等功能,进而实现移动数据的在线编辑功能。

④利用 Android 平台的多媒体采集功能,拍摄现场照片并与地理要素进行关联,将多媒体信息与地理要素信息融合,给予地理信息更丰富的表达。

1.3 采用的关键技术

1.3.1 Android开发技术。需要掌握Java或Kotlin的编程知识、Android SDK的相关API和框架、Android Studio等开发工具的使用,以及对应用界面设计、网络通信、多媒体等方面的理解。

1.3.2 数据采集技术。地理学数据的采集方法可以是实地测量、探测,也可以通过各种仪器、监控设备等获取数据。为支持离线数据采集和多种数据格式,系统需要掌握多种数据采集技术,如GPS、摄像头、录音和传感器等。

1.3.3 数据存储技术。Android数据存储技术包括内部存储、外部存储、SQLite数据库等多种方式。通过相关存储技术,开发者可以在应用中对数据进行存储、读取和更新。

1.3.4 地图展示技术。ArcGIS Runtime for Android作为一种地理信息应用程序开发框架,通过提供一组完整的API,帮助开发人员构建具有地理感知功能的应用程序,不仅支持离线和在线数据交互[7],而且提供集成开发环境和示例代码等工具。

2 系统功能实现

2.1 用户登录

在Android平台上实现用户登录,需要进行以下步骤。

①设计用户登录页面。通过activity元素和布局文件制作用户登录界面,包括用户名和密码输入框、登录按钮等。

②实现登录逻辑。登录逻辑一般在Activity的Java文件中实现。当用户单击登录按钮时,应检查用户名和密码是否正确,并给出相应提示。

③视反馈。登录成功之后需要提供用户视觉反馈,如跳转到主界面或显示“登录成功”。同时,对登录失败的情况也需要进行相应提示。

2.2 地图交互

2.2.1 地图浏览。天地图是一种常用的在线地图服务,可以提供卫星影像、地形图、行政区划、路网、地名等各种地图要素数据。在Android应用开发中,调用天地图可以为应用系统添加基础地图数据。本研究通过定义 MapView 的事件来实现不同的地图操作;调用 GPS 模块,实现地图定位如图2所示。图上定位点即是用户当前所在位置,不用再通过传统的参照物方式将自己在图上定位,极大地方便了采集工作,并提供了更人性化的交互。

2.2.2 地理坐标获取与显示。LocationDisplay是ArcGIS Runtime SDK 中用于地图定位的类函数,提供了在地图上显示位置、自动平移及其他与位置相关的功能。本研究利用LocationDisplay 将设备中 GPS 定位功能与地图应用程序集成起来,并实现了以下功能。

①显示位置。LocationDisplay 可以将设备的位置信息在地图上实时显示,并根据用户需求设置经度、纬度、精度、速度、方向等信息的显示如图3所示。

②自动平移。LocationDisplay 可以根据用户所设置的指定位置,将地图位置自动平移到该位置。

③监听位置更新事件。可以通过(LocationDisplay.addLocationChangedListener)方法来监听位置更新事件,根据需要更新地图或其他操作。

该系统中地理坐标的显示是通过AlertDialog类创建对话框来实现;点击获取地理坐标则是通过MapView的screenToLocation和locationToScreen方法来实现。其中,screenToLocation方法将屏幕坐标转换成地理坐标;locationToScreen方法则将地理坐标转换成屏幕坐标。

2.3 地理要素采集与管理

2.3.1 新增要素。GraphicsOverlay 是 ArcGIS Runtime SDK 提供的用于在地图上绘制与符号化图形、文本和链接的图层类型。 GraphicsOverlay 是一个虚拟图层,不会在地图中创建实际图层,而是作为 MapView 中的元素添加和显示。

SQLite 是一个轻量级的关系型嵌入式数据库,由于其占用空间小、运行速度快等优点,被广泛用于存储和管理地理空间和非空间信息。在 Android 应用程序中,地理要素以Shapefile、GeoJSON、KML 等形式存储在 SQLite 数据库中。Android 通过使用开放式地理空间数据库连接标准,管理和操作 SQLite 数据库中的地理空间数据。在创建SQLite数据库的基础上,本研究将采集的地理要素更新到SQlite数据库中,应用程序界面如图4所示。

在采集地理位置的同时,本研究还通过属性编辑框录入地理实体的特征数据,包括但不限于位置、形态、属性、几何等信息。通过此方式可以建立点、线、面等空间要素的属性关系,有助于后续的地理信息数据分析和处理。

2.3.2 编辑要素。本研究在Android平台上实现地理要素编辑功能,包括对地理要素的选择、修改和删除等操作。通过使用Android设备上的GPS、触控屏幕等传感器,并结合Sqlite数据库,用户可以实地采集地理信息并实时编辑。

2.4 多媒体信息的采集

本研究还利用Android设备提供的拍照、录音、录像等功能采集多媒体信息,并将其与地理实体进行关联,从而实现丰富的地理信息数据采集和管理。采集的这些数据可以用于构建地图数据库、GIS空间分析和可视化等用途,具体如图5所示。照片命名通过获取系统当前时间的方式,并以此字符串作为关联要素和地理场景照片的依据。

3 系统应用与维护

系统应用和维护在软件生命周期中是非常重要的环节,涉及软件的使用、更新和维护等多个方面[8]。在软件使用阶段,用户将软件安装到Android设备中,可在户外或者野外的环境中使用地图浏览、地理位置获取与显示、地理要素采集与管理、照片上传等功能采集和获取地理要素。采集到的要素属性包括地理坐标位置、几何属性值(线要素长度、面要素面积)和对应的影像数据。在外业工作结束后,将采集到的数据导出,并转换为常用的Shapefile文件用于后续的空间分析和制图。

在软件更新阶段,本研究通过该软件在安徽大学地理实习教学中的实际使用情况,收集实习师生的反馈和建议,进而改进和优化应用。在软件的维护和支持阶段包括错误修复、功能扩展、性能优化等方面。同时,在该阶段还需要根据实际需求,不断地更新和扩展应用的功能,以满足新的用户需求。

本研究将不断关注应用程序的用户使用和反馈情况,并针对性地改进和优化应用程序,同时也要及时地维护、更新和保障应用系统的安全性和可靠性。

4 结语

本研究以Android平台作为移动终端开发环境,研发了基于Android平台的地理实习数据采集系统,主要用于地理实习教学中师生对地理要素的采集和管理,大大提高了地理数据采集质量与效率。

由于Android平台是一款开放性操作系统,可以提供用于位置定位的相关类库,使得在该平台上获取地理位置变得更加容易。本研究借助ArcGIS API for Android二次开发类库,在移动设备上实现了地图的基本操作,如浏览、查询、编辑和定位等。同时,基于Android系统的移动GIS开发模块具有很高的自主性和灵活性,可以利用系统自带的多媒体等功能。通过在地理信息数据库中添加图片、音频、视频等信息,可以将各种多媒体数据与传统空间位置、属性信息的GIS数据关联结合,极大地丰富了地理信息的内涵,使人能够从更多的维度去体验和应用地理空间信息,从而为不同领域的外业数据采集与管理以及地理信息大众化服务提供了便捷的工具。

参考文献:

[1]曹晓航. GPS车载导航系统技术趋势浅析[J]. 现代测绘, 2006, 29(1): 14-17.

[2]陈踊, 黎刚, 徐洁. 基于ArcGIS Mobile的移动GIS开发研究[J]. 现代商贸工业, 2009, 21(23): 301-302.

[3]周百泰, 孟凡效, 潘宇明, 等. 基于北斗RTK的安卓管网GIS系统开发[J]. 测绘与空间地理信息, 2023, 46(5): 117-119,123.

[4]欧阳桂秀. 基于Java和MySQL的数据库管理系统的设计与实现[J].信息记录材料, 2022, 23(9): 240-242.

[5]顾陈浩. 基于移动GIS的自然资源巡查和执法管理平台设计与实现[J].测绘与空间地理信息, 2023, 46(5):128-130,134.

[6]白昕. 基于GIS技术的历史文化遗产普查登记系统设计与实现:以福州古厝为例[J]. 城市勘测, 2023, 196(2):31-34.

[7]王飞, 蔡忠亮, 蒋子捷,等. 移动环境下的矢量地图快速显示方法[J].测绘地理信息, 2018, 43(4): 111-115.

[8]刘善伟, 万剑华, 祝德显. 移动GIS技术辅助下的野外实践教学新模式[J].实验技术与管理, 2017, 34(12): 186-188,213.

猜你喜欢
要素数据库用户
掌握这6点要素,让肥水更高效
当代水产(2020年4期)2020-06-16 03:23:30
观赏植物的色彩要素在家居设计中的应用
现代园艺(2017年22期)2018-01-19 05:07:22
论美术中“七大要素”的辩证关系
数据库
财经(2017年2期)2017-03-10 14:35:35
关注用户
商用汽车(2016年11期)2016-12-19 01:20:16
关注用户
商用汽车(2016年6期)2016-06-29 09:18:54
数据库
财经(2016年15期)2016-06-03 07:38:02
关注用户
商用汽车(2016年4期)2016-05-09 01:23:12
数据库
财经(2016年3期)2016-03-07 07:44:46
也谈做人的要素
山东青年(2016年2期)2016-02-28 14:25:36