2022(二等奖)C2464植物保护管理系统

news2024/11/25 12:45:25

作品介绍

一、需求分析

1. 应用背景

森林是陆地生态系统的主体,是人类生存与发展的物质基础。以森林为主要经营对象的林业,不仅承担着生态建设的主要任务,而且承担着提供多种林产品的重大使命。进入21世纪,人类正在继农业文明和工业文明之后开始向生态文明迈进。我国也已进入全面建设小康社会、加速推进社会主义现代化的新的历史发展阶段。在这个过程中,林业发挥着越来越重要的特殊作用。

当今的城市中,都不乏为了城市景观或调节空气作用而栽下的行道树,可以补充氧气、净化空气、美化城市、减少噪音等。但是由于环境条件极差的城市环境,在其生长过程中必须要精心呵护,要对其合理施肥、浇水,并及时防范病虫害等,这样才能保证行道树顺利生长。

实际情况下,由于管理难度存在一定难度导致病虫害防治的不及时和行道树修建的不精细,使得城市行道树往往被病虫侵害,树冠过大,枝叶过密。当遇到极端气候时,行道树则容易受到损毁,或大幅倾倒或导致果实下坠,影响行人安全。

2. 存在问题

我们通过考察调研发现。目前行道树管理存在以下问题:

1.缺少行道树基础统计数据,缺少相应时空数据,行道树规划存有不合理之处,但缺少可视化展示和历史数据的辅助支撑。

2.行道树日常维护困难,维护不当易造成不良影响,如海南常见棕榈科行道树叶片大、果实重,维护不当易掉落伤人。

3.极端情况下,难以定位定点管理行道树,如根系较浅的榕树在台风等恶劣气候条件下易倒坍,但排查工作量巨大。

4.居民没有相对集中有效的渠道,反映异常行道树问题及相关意见。

二、总体设计

本系统利用遥感影像获取林业数据,将数据上传到数据库,以Web服务、ArcGIS Sever构成应用支撑层,开发了植物保护管理系统,并借助微信小程序开发植株生长情况上传处理系统。完成了群众上报植株生长情况、生活意见,植株管理员上报植株健康状态,植株信息收集管理,植株时空分析,浇灌最优路线规划。将辅助管理者资源地协调分配与整体性发挥,推动行道树和种植林地精细化建设,优化城市景观,提高种植林产量,增加城市居民幸福感。

1. 系统架构与关键技术

系统采用接入层、展现层、业务层、支撑层、数据层五层体系架构。系统主要针对居民、环卫工人和管理部门,利用ArcGIS API for JavaScript实现在浏览器进行成果渲染。系统使用Express框架,结合MySQL数据库以及空间数据库进行后台搭建。Web端分为四个功能模块:数据管理、数据统计、数据分析、辅助决策。前端收到用户请求后向后台请求获取相应数据,再通过后台处理模块处理后连接到数据库,对数据进行管理。另一方面,利用echarts对数据进行统计,利用发布至Geoscene的地理处理服务对数据进行分析,在用户界面展示渲染并辅助用户决策。

图1 系统架构图

本系统的数据极其庞大,包含10079棵植株的坐标、健康状态和图片等信息,另还包含1576个路段组成点,采用传统的表格已经完全不能够渲染,但是采用分布式又不便于用户快速的阅览全部信息,于是我们采用了虚拟滚动表格,即表格以外的数据不进行首次加载时的渲染,以免给浏览器带来过大的渲染的压力,而让元素监听表格滚动事件,根据用户的滚动来渲染指定区域的数据,采用虚拟化表格后,完美的解决了大数据渲染的问题。

同时为了便于我们为用户筛选数据提供了支持,用户能够通过选择各种筛选条件,来展示表格中指定的数据和地图上指定的植株或路段,另一方面由于地图上数据庞大,为了用户的精确需求,我们提供了显示或关闭路段和植株点显示的功能。

为对庞大的数据进行分析,我们利用了ArcGIS在ArcGIS server上发布地理处理服务,通过调用ArcGIS server 的地理处理服务,通过网络分析、缓冲区分析、拓扑分析对地理数据进行处理,从而实现路线规划、植株辐射面展示、区域统计功能。

2. 功能设计

系统主要服务于公共绿地的管理人员、环卫人员及居民,根据接入层,系统分为:进行数据存储、管理的Web端,为外出作业人员及面对群众的微信小程序端。

管理人员可通过Web端和小程序端查看植株的总体统计数据,通过对历史数据的深入挖掘,并与GIS相结合,分析植株的管理、修护状况及布设规划的合理性,监督环卫人员的工作完成情况以提高工作效率。环卫人员可通过小程序端查看自己负责区域的工作完成情况、核实并处理公众上传的异常植株状况,根据系统规划的最优路线进行植株的维护以此来辅助环卫人员完成工作。公众则可通过小程序提交有关异常植株的图文信息,或针对城市公共绿化提出自己的意见和建议,同时可通过小程序查看异常植株的确认信息、处理进度。功能详图如下:

图2 系统功能图

三、主要模块介绍

1.web端

(1)数据管理模块

①植株信息

植株信息主要包括植株的编号、树种、位置、状态等,植株的编号、树种及位置信息存储在系统数据库中,管理人员拥有增删查改的权限。植株状态分为正常和异常,植株默认状态为正常状态,由管理人员、工作人员排查修改为异常状态,若群众上传异常信息,则由管理人员核实后设置为异常状态,所有异常植株需上传处理照片,经核实后恢复正常状态。

图3 植株信息示意图

②浇水路段信息

图4 浇水路段示意图

③环卫工人信息

由管理部门上传环卫工人信息,进行存储,后续用于人员日常管理及任务分配。

图 5 环卫工人信息示意图

④群众意见反馈统计

群众通过小程序发布的意见,如部分行道树需要修剪,部分地区行道树出现异常等,都将汇总到该板块,系统根据用户提交的定位分配修护工作,以及时、准确完成行道树修护管理工作。管理员根据植株实际状况及环卫人员的工作完成情况,执行通过或删除操作。

图6 群众意见反馈示意图

⑤植株路段位置编辑

系统目前存储的植株数据均为外部行道树数据,我们为用户提供了影像数据,用户可根据实际情况对数据进行删改,当用户想要在例如学校、小区等内部环境下管理植株,则可自行添加数据,点击绘制点在地图上绘制,并添加相应属性信息,系统会默认设置最新日期,绘制的数据在后续操作中均可查看。

图7 植株路段位置编辑界面

(2)数据分析模块

①信息动态显示

图8 信息动态显示模块示意图

②区域分析

图9 区域分析示意图

(3)辅助决策模块

①道路绿化缓冲区分析

图10 道路绿化缓冲区分析示意图

②修护路线规划

图 11 最短路径规划示意图

考虑到异常植株点分散,为实现异常点的合理修护,系统将根据通过核实的异常植株点位置,将异常点分配给负责相应区域的环卫工人,通过调用发布的网络分析模型的Geoscene,为环卫工人及其他管理人员规划最佳修护路线,实现修护路线。

图12 最佳路径示意图

(4)数据统计模块

①植株信息统计

该板块将针对一定时期内的植株基本信息以图表方式进行统计分析,便于分析、总结一定时期的植株管理工作。

图13 植株信息统计模块示意图

②浇水路段信息统计

图14 浇水路段信息统计示意图

四、数据库设计与关键技术

1.数据库设计

(1)数据库软件:MYSQL 12.4

(2)数据库设计约定:

a.对象名称一律采用小写字母,单词之间以下划线(“_”)分隔;

b.尽量避免使用触发器、存储过程;

c.避免使用动态创建表或者字段的设计;

d.每个表的字段不超过10个;

e.对象命名都应该使用正确的英文单词,禁止使用汉语拼音。

(3)项目涉及关系实体:

植株树信息、环卫工人信息、群众建议信息、清洗路段信息、浇水路段组成点信息。

(4)数据表结构设计

表1 群众建议表

字段名

数据类型

备注

Id

Int

建议编号

Message

Varchar

建议信息

Time

Varchar

建议时间

Pic

Text

建议的图片

Treeid

Int

反馈意见植株id

isused

Int

建议是否被采纳

Isexamine

Int

建议是否执行

表2 环卫工人数据表

字段名

数据类型

备注

Cardid

Int

工人编号

Name

Varchar

工人姓名

Lined

Int

看管的道路编号

Manpic

Text

工人图片

Areaid

Int

工人负责区域编号

表3 清洗路段数据表

字段名

数据类型

备注

ORIG_FID

Int

路段编号

Isused

Int

路段状态

Cardid

Int

路段所属工人编号

time

Varchar

路段时间

表4 植株点位数据表

字段名

数据类型

备注

Id

Bigint

植株编号

X

Double

经度

Y

Double

纬度

Issued

Int

植株生长情况

Type

Varchar

植株类型

Time

Varchar

植株时间

Imgurl

Text

植株照片

表5 浇水路段点数据表

字段名

数据类型

备注

Id

Int

浇水路段编号

Z_order

Int

工人管理编号

Name

Varchar

路段名称

ORID_FID

Int

路段编号

x

Double

经度

y

Double

纬度

Cardid

Int

浇水工人编号

Time

Varchar

浇水时间

Isused

Int

路段浇水状态

2.关键技术

由于植株数据量十分的庞大,一次性载入表格会导致网页大量的资源消耗,致使网页无响应或卡顿。为了解决这个问题,表格数据的载入采用分布式访问的方法。在载入数据之前,先向后端发送请求,并附上页数和每页显示的数量。后端可以依靠当前页数和每页显示数量计算出当前页面的数据,然后返回数据以及数据总数。前端根据返回的数据和数据总数,显示数据以及计算出总页数。

五、作品亮点

1.可视化信息管理:将植株信息在地图上呈现并辅助图表进行管理。通过统计表格对各类数据进行展示,允许管理者对数据进行增改查,辅助管理者了解城市行道树空间布局状况和状态正常与否,清晰直观的了解各管理区植株和路段状况,帮助管理者对城市进行管理。通过图表对植株和路段数据进行统计展示,使管理者直观了解管理区内植株和路段不同状态的数量。

2.条件筛选展示:允许用户通过各种筛选条件进行指定数据的表格和地图展示,使用网络分析、缓冲区分析、拓扑分析对地理数据进行处理,实现修护植株路线规划、植株辐射面展示、区域统计功能。

3.大数据渲染:面对超万条的数据,如何进行流畅的地图渲染、数据更新和便捷的数据筛选,本系统采用了虚拟化表格、分页式访问等多种方式减轻web端的渲染压力。

4.智能辅助决策:管理人员和环卫人员可以通过系统智能分析区域的整体状况,利用使用了网络分析功能的系统灵活规划维护植株的最佳路径。

5.提高公众参与度:允许群众通过微信小程序上传植株反馈信息,对群众上传的植株进行智能识别,避免群众上传错误的植株信息,管理者对反馈信息进行审核确认,工人可以通过微信小程序进行路径导航,修护异常植株,以此维护城市行道树正常状态,提供居民舒适安全的居住环境,提高城市卫生环境。本系统提高管理者对城市行道树和道路清洗情况的了解程度的同时,也让群众参与到城市管理当中,辅助工人修护植株,提高城市行道树整体维护效率,帮助营造一个美丽安全的城市环境。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/684753.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

libevent(12)bufferevent的基础知识

一、bufferevent的基本概念 bufferevent 是 libevent 中的一个事件缓冲 IO,内部实现了基本 socket recv/send 操作 ,用户只需要调用 bufferevent 的 API 即可实现数据的读写。 (1)缓冲区:每个 bufferevent 都有一个读…

Effective第三版 中英 | 避免使用终结方法和清理方法

文章目录 Effective第三版前言避免使用终结方法和清理方法(Avoid finalizers and cleaners)总结 Effective第三版 前言 大家好,这里是 Rocky 编程日记 ,喜欢后端架构及中间件源码,目前正在阅读 effective-java 书籍。…

基于SpringBoot+vue的家乡特色推荐系统设计与实现

博主介绍: 大家好,我是一名在Java圈混迹十余年的程序员,精通Java编程语言,同时也熟练掌握微信小程序、Python和Android等技术,能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架…

【C语言督学训练营 第十五天】常用的查找算法----顺序查找、二分查找、二叉排序树

文章目录 前言一、顺序查找1,思想2.代码实战 二、二分查找1.思想2.代码实战 三、二叉排序树1.建树思想2.删除节点思想3.代码实战 考研真题实战 前言 本篇博客会介绍到数据结构中常用到的查找算法,合理的使用查找算法可以让我们很轻松找到自己想要的答案。本小节必须…

Java异常面试题

什么是Java异常机制 Java异常机制是java语言为我们提供一种异常处理机制,在java语言中,异常本身是一个类,产生异常就是创建异常对象并抛出这个异常对象,程序发生异常情况之后程序会抛出封装了错误信息的异常对象,程序…

python-线性规划

线性规划:定义:1 线性规划(Linear programming,简称LP),是运筹学中研究较早、发展较快、应用广泛、方法较成熟的一个重要分支,是辅助人们进行科学管理的一种数学方法,是研究线性约束条件下线性…

WPF 零基础入门笔记(2):控件模板+数据模版

文章目录 文章合集地址WPF控价模版解决重复嵌套标签书写的问题实战 WPF数据绑定解决界面和业务数据沟通的问题 WPF数据模版数据模板解决数据的样式设置(以CellTemplate为例)数据模板和控件模板的区别ItemTemplate 元素模板ItemTemplate是用于绝大部分控件…

CAT1模块 EC800M HTTP使用总结记录

分享记录一下 CAT1 模块EC800 HTTP 协议使用流程 ...... by 矜辰所致目录 前言一、基础说明1.1 CAT1 与 4G1.2 EC800M 模块1.3 HTTP 二、开始使用2.1 硬件设计部分2.2 模块上电流程2.3 PDP 上下文2.3.1 什么是 SGSN 和 GGSN ? 三、 HTTP 流程3.1 客户端3.1.1 PDP 上…

UFS 13 - Logical Unit Management

UFS 13 - Logical Unit Management 1 Introduction2 Logical Unit features3 Logical Unit Configuration 基于UFS 3.1 标准文档阐述 UFS 1-UFS架构简介1 UFS 2 -UFS架构简介2 UFS 3 - UFS RPMB UFS 4 - UFS Boot UFS 5 - UFS UIC Layer: MIPI M-PHY UFS 6 - UAP – SCSI Comma…

机器人工程创新类课程补充说明-2023-2

仅供参考 之前一篇:机器人工程创新类课程补充说明-2023- 自主学习→自主研究→自主创新,这是一个循序渐进的过程,着急没用的,大部分学生,都卡在第一个阶段,自主学习的效率比较低,并且成果不突出…

【C++ 程序设计】第 6 章:多态与虚函数

目录 一、多态的基本概念 (1)多态 (2)虚函数 (3)通过基类指针实现多态 (4)通过基类引用实现多态 (5)* 多态的实现原理 二、多态实例 三、多态的使用 …

docker启动的jenkins拉取gitee项目构建并部署

docker启动的jenkins拉取gitee项目构建并部署 docker 拉取jenkins https://hub.docker.com/r可以search不同的jenkins版本docker pull jenkins/jenkins创建挂载目录 /home/jenkins_home加权限chmod 777 /home/jenkins_homedocker run -di --namejenkins -p 9999:8080 -v /hom…

【json-server】centos线上环境搭建全攻略

▒ 目录 ▒ 🛫 问题描述环境 1️⃣ 安装json-server安装nvm安装node安装json-server 2️⃣ json-server 使用创建json数据踩坑:指定host关闭防火墙云后台修改安全组规则最终命令行 🛬 结论📖 参考资料 🛫 问题 描述 开…

【虚拟机搭建-VMware设置固定IP】VMWare中CentOS如何设置固定IP【不成功手把手教学】

背景 在日常工作学习中(比如博主在之前学习k8s过程中,windows本地搭建虚拟机,重启windows后)虚拟机的IP会发生变化,所以该篇文章详细记录VMWare中CentOS如何设置固定IP 虚拟机安装 参考: https://rundr…

尚硅谷Docker2022版学习笔记(基础篇 上)

目录 一、Docker简介 1.1、是什么? 问题:为什么会有Docker出现? Docker理念 一句话 1.2、容器与虚拟机比较 传统虚拟机技术 容器虚拟机技术 容器虚拟机技术 1.3、去哪下? 二、Docker安装 2.1、前提说明 2.2、Docker的…

Rust语言从入门到入坑——(8)Rust泛型与特性

文章目录 0、引入1、泛型1.1、在函数中使用1.2、在结构体中使用 2、特性2.1 默认特性2.2 特性做参数2.3 特性做返回值2.4 有条件实现方法 3、总结 0、引入 泛型是一个编程语言不可或缺的机制。 C 语言中用"模板"来实现泛型,而 C 语言中没有泛型的机制&am…

MySQL数据库——备份与恢复

MySQL数据库——备份与恢复 一、数据备份的重要性二 、数据库备份的分类和备份策略1 数据库备份的分类2 数据库的备份策略3常见的备份方法 三、MySQL完全备份1 什么是完全备份2 完全备份的优缺点3 完全备份的方法 四、完全备份的操作1.物理冷备份与恢复2.mysqldump 备份与恢复3…

Arduino IDE 2.1.0 下安装ESP32

很久没玩Arduino了。新装了一台电脑,想重新捡起ESP32-WROOM-32开发板玩玩。官网上下了Arduino IDE 2.1.0,然后配置ESP32开发环境。 下载及安装Arduino IDE略过不谈。装完后还是老规矩,文件 -> 首选项,先把自定义板管理地址填入…

如何与西门子200 PLC建立连接

更多关于西门子S7-200PLC内容请查看:西门子200系列PLC学习课程大纲 与西门子200 PLC建立连接很简单,分为以下几步: 1.给S7-200PLC通电 按下图1-1所示连接PLC端口,然后给PLC供电,有直流24V和交流220V两种供电方式&am…

力扣----环形链表

🎈个人主页:🎈 :✨✨✨初阶牛✨✨✨ 🐻推荐专栏1: 🍔🍟🌯C语言初阶 🐻推荐专栏2: 🍔🍟🌯C语言进阶 🔑个人信条: 🌵知行合一 金句分享:…