APP下载

林业外业调查数据采集系统的设计与实现

2020-08-12乐通潮

防护林科技 2020年6期
关键词:外业图层二维码

乐通潮

(1.福建省林业科学研究院,福建 福州 350012;2.泉州湾湿地生态系统定位研究站,福建 泉州 362000)

现代林业是当前生态文明建设中最基础的环节之一,而林业数字化建设是落实现代林业发展的重要途径。外业调查数据采集是林业信息化的重要内容,通常情况,林业工作者在森林资源清查及林地变更调查等外业调查时需要随身携带地形图、林业基本图等纸质图件,对现场判读地图和辨认地形能力有很高的要求,调查人员要有丰富的野外工作经验。同时,外业调查数据要记录在纸质表格内,需要内业整理,无法实现内外业一体化处理。智能移动终端、地理定位、无线互联网等技术的发展势必助推移动地理信息系统在各行各业的深入应用,便携式智能移动终端应用于森林资源调查、森林管护及科研试验地等信息管理成为现实。本文简述移动地理信息系统具有卫星定位、智能终端携带方便及无线互联网络等特点,开发林业外业调查数据采集系统,为林业资源信息数字化采集提供解决方案,将传统的烦琐复杂的外业调查和内业整理工作变得快捷、高效、简便。

1 关键技术

1.1 移动终端地理定位技术

移动定位技术包括卫星定位、网络定位及混合定位。目前市面上智能手机、IPAD等移动终端大多采用混合定位,但在没有网络信号覆盖的野外主要采用基于卫星定位系统(GPS、GLONASS、Galileo、QZSS、北斗)。卫星定位系统包括:卫星星座、地面监控系统和卫星信号接收机。在移动地理信息系统中,卫星定位功能被分装在一个Location Manager对象中,通过调用相关函数获得地理位置信息,从而实现与位置有关的地理信息服务。

1.2 地图离线缓存技术

地图瓦片技术是一种分层级存储高分辨率影像技术,按金字塔设计每层级的地理范围保持一致,从顶层到底层,分辨率越来越高。谷歌地球、天地图、百度地图等地图服务商通常运用瓦片地图技术采用相应的切片算法向用户提供在线地图服务。传统的瓦片地图不能脱离网络浏览,而基于ArcGIS的紧凑型瓦片地图能够脱离网络支持多种移动设备读取本地地图数据,是目前应用较广泛的地图离线缓存技术。这种技术便于数据迁移,可为用户灵活定制底图数据,为移动端地理信息系统应用设备提供更好的数据采集和地图导航定位服务。

1.3 移动地理信息技术

随着无线互联网技术的迅猛发展和智能移动终端设备更新换代,移动地理信息从静态走向动态,已成为现代信息科学的热点技术。它具有移动性和实时性的特点,依托移动网络,采用嵌入式技术将地理信息技术应用于平板、智能手机、穿戴装备等移动终端,结合GPS、北斗或信号基站的精确定位技术,实时准确地向用户提供存储、获得、显示、处理、分析和更新地理信息服务。

1.4 移动离线数据库技术

移动离线数据库是一种基于轻量型的移动环境分布式数据库。SQLite诞生于2000年5月,是一个开源的嵌入式关系数据库,占用资源小,操作速度快,能够达到自包容、零配置、支持事务的关系数据库引擎。SQLite数据表存储管理几何属性信息,支持移动端在多种网络条件下对地理数据的展示、查询、编辑和保存等常规操作和事务处理。

1.5 二维码技术

二维码技术是一种成本低廉、经济实用、自纠错的信息编码和识别技术,已普及各行各业,极大地改变社会的生产生活方式。系统采用市面上广泛应用的代表性的全方位识读能力的矩阵式二维码QR Code作为外业调查植物标签信息载体。标签RQ二维码通过三个步骤生成:QR码数据码字生成、纠错码字的生成和最终码字序列构造。外业调查时可将事先打印带有关键字的二维码,装进透明自封袋固定到调查的样木表面上,调查时通过移动终端扫描二维码读取样木前期调查数据,输入当次调查数据,存储到数据库。

1.6 数据加密技术

基于移动终端的外业数据采集系统需要解决的重点问题是数据安全。一旦移动终端遗失或者被黑客侵入,设备上地形图、森林资源、科研调查等数据容易为他人获知,甚至导致涉密信息泄露,因此,数据加密技术是防止非授权用户读取数据的有效措施。采用md5加密算法将地图数据加密,只有输入正确的密码才能打开图层,用户即使丢失移动终端也无须担心数据泄密。

2 林业外业调查数据采集系统功能设计

2.1 功能设计

2.1.1 地理定位导航 当前主流导航卫星包括GPS、GLONASS、Galileo、QZSS、北斗等,不同的移动终端兼容不同的导航卫星信号。通过调用移动终端的地理定位模块,实时接收导航卫星反馈的移动终端持有者当前的地理位置信息,标记于在线的或者预装本机离线的卫星影像图、地形图或者其他专题矢量图上,方便采集者在外业调查确定当前位置。可选定样地位置、样木位置、地名等作为目标点,实现以当前位置作为起点的实时轨迹导航。

2.1.2 地图图层管理 在线或预装离线遥感影像及矢量地图的装载移除、地图图层的放大缩小漫游、图层叠加、图层标注显示、图层透明度调节等。

2.1.3 矢量数据编辑 读写矢量图层、采集点线面、合并图斑、切割图形对象、修整图形对象边界、删除图形对象,添加、修改、更新要素的属性等操作。

2.1.4 信息查询 点击屏幕查看所在位置对象的属性、通过扫描二维码查询目标的属性、坐标定位、地名搜索、关键字查询等信息查询。

2.1.5 拍照 设计为要素拍照、轨迹打点拍照和直接拍照,这三种方式都是对目标物拍照,所拍照片含有采集者当前地理坐标,可添加文字描述信息存储于对应的属性表。

2.1.6 数据导出 将采集要素导出通用格式供其他程序调用,如shapefile文件、txt文件等。

2.1.7 系统设置 对采集方式、定位采集的阈值、轨迹取点间隔、长度面积单位、坐标系统、照片命名规则等参数设定。

2.2 数据库表结构设计

系统的矢量数据采用SQLite数据库要素类和shapefile文件,分别对样地、样木及现状地类等调查表结构进行设计(如表1、表2、表3)。

表1 样地字段信息表

表2 样木字段信息表

表3 地类现状调查信息表

3 林业外业调查数据采集系统的实现

3.1 开发环境

以Android Studio为开发平台,使用Java作为开发语言,结合UCMAP进行开发。

3.2 功能实现

3.2.1 加载离线地图 UCMAP地图是一个文件夹,加载shapefile数据需要先调用addFeatureLayer添加要素图层,再调用loadShapefile,输入相应的样式,就完成shapefile数据的装载。

String dir=Environment.getExternalStorageDirectory().getPath();

UCFeatureLayer layer=mView.addFeatureLayer(this);

Layer.loadShapefile(dir+”/forestryShp/小班_region.shp”,30,0,”#00000000”,”#FFB9CAFF”)。

加载mbtiles影像数据需要调用addMbtilesLayer完成数据加载。

String dir=Environment.getExternalStorageDirectory().getPath();

mView.addMbtilesLayer(dir+”/mbtiles/test.mbtiles”,0,18)。

加载TIFF格式的影像数据,需要先调用UCMAPView的importRaster函数,将tiff影像导入,然后调用UCMAPView的addRasterLayer2函数将它添加进地图。

3.2.2 地理定位 先添加Location图层,然后在onLocationChanged函数中调用setLocationPosition来设置位置符号的位置,再调用refresh立即刷新显示。

mView.setLocationPosition(location.getLongitude(),location.getLatitude(),location.getAccuracy());mView.refresh()。

3.2.3 要素编辑 矢量地图的编辑功能,主要包括:添加要素、删除要素、修改图形、修改属性、开关捕捉、整体移动等。

添加一个点要素:

Pt=Gf.createPoint(new Coordinate(119.787767,26.042366));

Values.put(“geometry”,pt);

Layer.addFeature(values)。

删除要素调用deleteFeature

修改图形:

mapView.getMapControl().setCurrentTool(new EditFeatureTool(mapView.getMapControl()))

修改属性:

EditFeatureAttTool tool=new EditFeatureAttTool(mapView.getMapControl());

editTool=tool;

editTool.setListener(act);

mapView.getMapControl().setCurrentTool(tool);

public void onUpdateFeature(IFeatureft,ILayer layer) {

this.ft=ft;

IFeatureLayer flayer={IFeatureLayer} layer;

This.showModifyDialog(flayer.getFeatureClass().getFields(),ft.getValues());}

开关捕捉用 ((AddFeatureTool)editTool).openSnap()和((AddFeatureTool)editTool).closeSnap()

整体移动:

EditFeatureTool tool=new EditFeatureTool(mapView.getMapControl());

Tool.setType(EditFeatureTool.Type_Move);

mapView.getMapControl().setCurrentTool(tool)。

3.2.4 拍照 开启移动终端的拍摄设备,再将地理坐标信息写入文字标签。

Intent intent=new Intent(“android.media.action.IMAGE_CAPTURE”)。

接着,调用setLocationPosition和addTextItem函数实现获取经纬度及添加文字。

3.2.5 二维码查询 采用嵌入ZXing二维码模块,将样地、样木等对象的关键字生成二维码打印出来粘贴到调查对象,通过移动终端扫描二维码读取属性信息,对变化信息进行更新到空间数据库。

3.2.6 数据导出 要素图层以shapefile格式导出:

Layers.elementAt(which).outputToShapefile(“/sdcard/”)。

4 总结

本文对移动地理信息系统在现代林业领域国内外的应用现状进行了简述,阐述了移动地理信息系统开发所需关键技术,基于Android和UCMAP平台对林业外业调查数据采集系统的功能和数据库表结构进行设计,并分析说明了部分功能的实现关键代码。本系统在移动终端上实现电脑版地理信息系统软件的主要功能,具备在线或离线读取天地图、谷歌卫星影像、地形图、矢量数据等,采集、编辑点线面数据、定位导航、拍照、二维码查询、首字母快速检索等功能,操作简单便捷,无纸化调查,实时实地定位,可优化外业调查路线,调查对象的属性表关联拍照功能,外业调查时随手拍照便于内业核查完善调查因子,能够大大减轻内业整理工作量,提高工作效率和调查结果的准确性,同时本系统利用MD5加密技术对需要保密的图层数据进行加密处理,可以降低涉密资料泄露的可能性。当然,目前市面智能手机、手持式GPS、IPAD等移动终端地理定位精度在米级,对于测量精度要求在厘米级的测绘调查任务中,仍然需要RTK等测绘仪器设备。随着移动终端硬件的升级,软件进一步优化,当前应用中存在的一些问题将会迎刃而解。

猜你喜欢

外业图层二维码
为《飞舞的空竹龙》加动感
基于移动 GIS 的公路工程外业调查系统研究
小康二维码
以假乱真窥探湿玻璃后的风景
与众不同“跳出”画面更个性
二维码让政务公开更直接
探析GPS在水利工程测量中的应用
二维码,别想一扫了之
浅析航测外业像控点测量系统
随心所欲制作逼真阴影效果