黄世国姜明李小林洪铭淋林燕红张飞萍
(1.福建农林大学生态公益林重大有害生物防控福建省高校重点实验室,福建福州 350002;2.福建农林大学智慧农林褔建省高校重点实验室,福建福州 350002;3.威海市林业局,山东威海 264200)
松材线虫病是一种重大的检疫性森林病害,已在我国18个省份造成了大面积危害[1-2]。通过控制该病主要媒介昆虫松墨天牛Monochamus alternatus,阻止疫病扩散蔓延,一直是防控该病的重要策略[3-4]。已有研究和生产实践表明,在林间科学布设松墨天牛诱捕器可以有效监测和控制松墨天牛种群,在松材线虫病的防控中发挥着重要作用[5-9]。
作业人员在野外的做法是,用手写纸质标签标识诱捕器,管理松墨天牛诱捕器,手持GPS或者其它开源地理信息系统软件定位诱捕器的地理位置,统计诱捕的害虫数量,并手工记录在纸质材料上,然后室内再次整理并形成纸质材料保存。当诱捕信息量大时,与纸质标签相比,数字化标签是更好的标识方法。随着二维码技术的迅速发展[10-12],该技术已广泛用于物品的标识,如利用二维码标识农产品构建追溯系统等[13]。微信小程序的普及更进一步拓宽了二维码的应用领域[14]。因此有必要探寻利用二维码技术标识诱捕器。但如何适应野外调查不理想的网络环境是必须解决的问题。同样,利用定位设备[15-16]和开源定位软件如GPS工具箱[17]是有效的诱捕器定位方法,但作业人员将其生成完整的诱捕器信息并上报林业基层管理部门耗时费力。由于目前将松材线虫病控制的野外作业任务承包给社会经济实体已是各地常用的做法,上述管理方式显然无法实现管理部门对该项措施的实施和效果的实时监控。同时,由于数据量大,没有好的数据管理技术,也难以实现诱捕数据的快速查找和分析。
随着计算机应用技术的快速发展[18-19],基于移动终端的野外调查方式已开始在农业虫害调查中应用。如俞佩仕等应用移动终端调查稻田飞虱在田间危害情况[20],将手机作为数据采集和实时传输工具,在服务器端进行数据分析,实现省时省力实时监测。
笔者在分析传统诱捕器管理方法的基础上,引入数字化标签技术标识诱捕器,利用ionoic框架研究诱捕器完整信息的自动生成和及时远程传输方法,利用Spring Boot、MyBatis框架研究大量数据的管理和统计分析,利用Element和Vue框架研究用户和系统之间的友好交互方法。再通过技术集成开发松墨天牛诱捕器智能管理系统,以期为基层作业人员和林业管理部门提供一种省时省力采集和管理大量诱捕数据的新方法,实现实时监控、管理和数据分析。
松墨天牛诱捕器的智能管理系统的基本思路是:作业人员通过手机 APP扫描二维码,待手机GPS自动获取定位信息后,录入害虫的数量,并把数据提交上传。当网络畅通时,数据直接上传到云服务器;当网络不畅通时,则数据先存储在手机上,待网络畅通时再一次性将数据上传至云服务器。用户在浏览器端可以实时浏览上传的诱捕情况数据,进行相应的统计学分析,也可以查看各个诱捕器在地图上的地理空间位置。
1.1 基于Android的手机APP 手机APP在Visual Studio Code环境下使用ionic框架和npm等工具进行开发。利用QR Scanner插件快速、节能、精准地扫描诱捕器上的二维码;使用Cordova的Geolocation插件调用手机的GPS模块获取准确的地理空间位置信息。当用户提交数据时,APP将采集到的数据使用Angular提供的HTTP请求(POST、GET)与服务器进行数据交互即通过POST请求将数据提交到服务器,并通过GET请求从数据库获取历史数据和相应的配置选项。
1.2 服务器端和浏览器端 服务器端在IntelliJ IDEA环境下利用Spring Boot、MyBatis框架进行开发。先通过HTTP协议获取到APP端上传的数据,然后使用Hikari数据库连接池与MySQL进行高速交互。使用MyBatis实现MySQL数据库环境下数据的增、删、改、查功能,从而有效管理诱捕器数据。同时,为了数据的安全,采用了JSON Web Token协议保证用户和服务器之间安全可靠地传递信息。依据统计学方法原理编程实现数据分析。
浏览器端在 Visual Studio Code环境下使用Element和Vue进行开发。使用前端 HTTP框架Axios给后端提供数据,并以JSON数据格式进行前后端交互。利用APP端上传的信息调用百度地图API并在地图上自动标注,实现对诱捕器空间分布的可视化展示。采用Apache ECharts对分析结果进行基于图表的可视化展示。使用EasyPoi插件实现表格和文件的上传和下载。使用路由拦截技术实现登录限制。
2.1 数字化标识诱捕器 鉴于诱捕器主要以县为单位实施应用,系统设计了包含12个数字信息的二维码,前6位数字为区域代码,确定诱捕器所在的省、市、县行政区域,后6位数字则表示该县布设的诱捕器序号。系统提供给县级管理人员生成和管理指定数量的二维码(图1)并以PDF文件形式下载打印的功能(图2)。
图1 二维码管理Fig.1 QR codes management
针对县级单位项目实施由不同实体完成的需求,县级用户可建立项目管理员角色,给管理员分配二维码(图3)。当县级单位未分发二维码时,项目管理员也可自行打印自己管理的二维码。将打印好的二维码经塑封后和诱捕器绑定完成诱捕器的标识。
图2 系统生成的二维码Fig.2 QR codes generated by our system
图3 项目管理员管理Fig.3 Management of project administrator
图4 提交诱捕器位置信息Fig.4 Submitting information about trap position
2.2 获取诱捕信息 手机GPS定位功能具有不同的设置模式。在野外仅使用GPS定位是较好的模式。开发的手机APP提供的模式设置功能供用户选择仅GPS定位模式;同时,针对获取手机定位信息需保证一定的延时,APP具有控制延时时长的功能(图4)。经作业人员施工现场认真对照,确认在仅GPS定位模式下,APP显示的经纬度信息与实际地点的误差在10 m以内,而其它模式则偏差较大。APP也提供利用手机摄像头扫描二维码的功能。作业人员用手机扫码后,APP显示诱捕器所在位置的经纬度、海拔等信息并进行延时。延时完成后用户点击“提交信息”按钮将位置信息存储在手机中,然后APP跳转到诱捕信息录入页面(图5)供输入害虫数量以及其它相关信息。同时,该页面具有拍照功能,供作业人员将现场工作的场景拍摄上传,接受业主方监督。
图5 诱捕信息录入Fig.5 Inputting trap information
2.3 远程传输野外诱捕调查数据 系统分网络畅通与否自动处理野外诱捕调查数据远程传输问题。作业人员点击图5页面所示的“提交”按钮时,APP提供自动检测网络的功能。如网络畅通,则APP将数据直接远程传输到云服务器,与微信小程序传输野外调查数据基本一致。林区一般位置较偏远,网络信号弱甚至不通。此时,微信小程序无法满足林业生产的需要。而我们开发的APP检测到网络不畅通时,自动提示诱捕信息提交失败(图6),并将相关信息存储在手机中。待网络畅通时,由用户重新
图6 提交失败Fig.6 Submitting failure
2.4 可视化展示诱捕器的空间分布 通过地图直观展示诱捕器的地理位置信息,对于管理部门管理诱捕器有重要意义,同时对作业人员野外操作诱捕器(如更换诱芯等)有重要辅助作用。在浏览器端,系统提供大量诱捕器的可视化展示功能。该功能通过调用百度地图API把每个诱捕器的经纬度从WGS84坐标转换成百度地图坐标,然后和编号一起登录系统并单击“提交”按钮将手机中的记录全部上传到服务器(图7)。同时,APP提供了作业人员只能上传自己负责管理的诱捕器信息的功能,当某个作业人员误扫了其他人员管理的诱捕器并将信息上传时,服务器端则拒绝接收。只有当业主方进一步确认后,由其他作业人员在该手机的APP上输入正确的账号后才能完成远程传输。以标注的形式在百度地图上展示出来(图8)。管理部门和业主方可以直接掌握自己管理的诱捕器的具体分布情况,并为诱捕器放置方案设计提供辅助作用。在APP端,也同样调用百度地图API完成上述功能。该功能为作业人员提供自己管理的诱捕器的位置信息,方便作业人员在野外查找诱捕器并完成相应的工作。
图7 缓存提交Fig.7 Submitting the information in cache
图8 诱捕器空间分布Fig.8 Spatial distribution of traps
2.5 管理和分析诱捕情况数据 系统提供行政区划自动解析功能,可以根据APP上传的诱捕器经纬度信息自动解析出其行政区域即省、市、县和乡镇名称。系统还提供给各级用户管理诱捕数据的功能。用户通过它查看每个诱捕器各个批次的详细信息和汇总信息、所管辖行政区域内所有诱捕器的汇总信息。具体来说:县级用户通过该模块可以获得各个乡镇汇总的松墨天牛诱捕情况(图9)。同时,单击图9中的“查看”按钮即可查看各乡镇下每个诱捕器的详细信息和汇总信息。依此类推,市级用户和省级用户通过该功能可以了解本市和本省诱捕器的汇总信息以及管辖区域内汇总的诱捕信息。
图9 诱捕情况汇总信息Fig.9 Summary of trapping information
为了进一步满足基层对数据分析的需要,系统开发了统计学分析模块供各级用户进行诱捕情况数据分析。主要包括样本的描述性分析、方差分析,同时,在总体方差显著情况下分别采用了费希尔提出的最小显著性差异方法和SCHEFFE的多重比较。
用户可以获得诱捕器总数、总诱虫量、平均值、标准差、最大值、最小值和置信区间等信息。同时,也可以进行方差分析和多重比较等。分析结果可供用户下载。
2.6 系统运行情况 2019年4月系统已部署在阿里云服务器上,并交由福建省和山东省的作业人员和管理人员广泛使用。目前,系统运行正常。在应用过程中,作业人员反映APP操作方便,能在几分钟内即掌握使用方法。同时,数据在不同网络状态下远程传输可靠。目前系统管理的诱捕器近4万个,每个诱捕器涉及十余批次,共接收到近60万条诱捕情况数据。管理部门和作业方反映利用该系统方便了大量诱捕器的管理,同时也满足了基层单位对数据分析的要求。
如何实现有效管理野外设置的大量诱捕器,一直是森防管理部门的一项重要工作。传统的诱捕器人工管理费时费力易混乱,难以满足实践需求。本研究开发的松墨天牛诱捕器的智能管理系统采用了数字化标识的方法,开发的APP解决了野外诱捕数据采集和及时传输的问题,方便了作业人员在野外查找和管理诱捕器,开发的服务器端实现了大量诱捕数据的管理和统计分析功能,并通过开发的浏览器端用户能够方便地使用这些功能。本系统已正常运行一年,能够满足野外复杂环境下作业人员的数据采集操作和远程传输要求,较好地满足了传统诱捕器管理和基层数据分析需求。系统的推广应用不仅能提高管理效率,还对推进林业信息化建设具有重要意义。
系统收集的大量诱捕数据可以为松墨天牛种群动态提供数据支撑,特别是基于这些数据的地统计学分析[21-22],可以进一步分析松墨天牛种群与经纬度、海拔之间的相关关系。松墨天牛种群和松枯死木数量之间具有密切的关系[23-24]。同时,防治松材线虫病也必须考虑多种措施相互配合。因此,有必要将本系统进一步扩展,使其能够远程同步采集诱捕器、蛀干剂、航空防治、生物防治、松枯死木清理等技术措施的数据,并进一步利用机器学习技术[25]挖掘不同数据之间的相关关系,进而开发出松材线虫病智能防控工程管理和决策系统,为松材线虫病的科学防治提供技术支撑。
志谢:福建泉州涌明生物科技有限公司吴仁兴、蒋昌龄、余启源,山东国伟林业防治有限公司代光伟,环翠区自然资源局郭志强、姜滨,刘公岛林场刘晓,海滨林场乔仁发等参与了系统的运行测试,并对本系统的完善提出了大量宝贵意见,福建农林大学软件工程专业本科生钟晖宏参与了软件开发,特致感谢。