java+iClientOpenlayers实现污水排放扩散模拟(湖库污染排放扩散模拟)

news2024/11/29 2:30:52

软件实现效果

一、应用背景

湖库污染是一个日益严峻的环境问题。随着城市化和工业化的加速发展,越来越多的有害物质被排放入湖库中,导致湖库污染加剧并扩散到周围地区。本文将探讨湖库污染扩散的原因、影响和解决方法。

首先,湖库污染扩散的原因主要是由于人类活动所致。工业废水、生活污水和农业污染物等有害物质被排放到湖库中,导致湖库水质恶化,从而加剧了湖库污染。此外,城市化和工业化也使得湖库周围的土地遭受到了污染,从而进一步加剧了湖库污染的扩散。

其次,湖库污染扩散对环境和人类健康都带来了很大的影响。湖库水质恶化会影响水生生物和湖周围的生态环境,同时也会对人类健康产生影响。比如,水生生物死亡会导致渔业资源减少,而湖库污染还可能引发某些疾病的传播,对人们的身体健康造成危害。

最后,我们应该采取一些措施来解决湖库污染扩散问题。一方面,我们可以加强环保法律的制定和实施,规范各种排放行为,从源头上控制污染物的排放。另一方面,我们也可以加强湖库治理,采用物理、化学、生物等多种手段对湖库进行治理,提高湖库水质,减少湖库污染。

总之,湖库污染扩散是一个十分严重的环境问题,我们需要采取一系列措施来解决这个问题。只有通过共同努力,才能保护好我们的环境和健康。

污水排放扩散模拟是解决湖库污染扩散问题的一种有效手段。通过模拟污水排放的扩散情况,可以更好地了解污染扩散的规律,为制定有效的治理措施提供科学依据。同时,模拟结果也可以帮助我们预测污染的扩散范围和影响,及时采取应对措施,减少湖库污染对环境和人类健康的危害。除此之外,我们还需要加强环保意识,积极参与环境保护工作,共同营造良好的生态环境。

二、应用场景

  

 三、湖库地理数据处理(全国湖库shp和geojson两种格式)

 

 四、编写java代码实现模型计算

package cn.WaterPollutionLake.controller;

import cn.WaterPollutionLake.common.InterpolationUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@Api(tags = "湖库污染扩散")
@RestController
@RequestMapping("/api/WaterPollutionLake")
public class WaterPollutionLakeController {

    private static final Logger logger = LoggerFactory.getLogger(WaterPollutionLakeController.class);


    /********************************************** 图片路径 ***********************************************************/


    Double TransferDouble(Object v){
        try {
            double vr = Double.valueOf(v.toString());
            return vr;
        }
        catch (Exception e){
            return 0.0;
        }
    }


    //http://localhost:8945/api/WaterPollutionLake/WaterPollutionLakePointVec?z=8&height=8&u=0.6&q=800&lon=115.76745223366264&lat=34.40937666512325&colums=50&rows=50&scale=5&outFlow=1
    @ApiOperation(value = "WaterPollutionLake")
    @GetMapping(value = "/WaterPollutionLakePointVec")
//    @Scheduled(cron = "0 10 * * * ?")
    public String WaterPollutionLakePointVec(double z,double height,double u,double q,double lon,double lat, int colums,int rows,int scale,double outFlow) {
        int[] size = new int[]{colums, rows};
        String strJson = InterpolationUtils.calWaterPollutionLakePoints0(z,height,q,lon,lat, size,scale,1/(outFlow*u));
        return strJson.replaceAll("NaN","0").replaceAll("Infinity",String.valueOf(q));
    }


    //http://localhost:8945/api/WaterPollutionLake/WaterPollutionLakePolygonVec?z=8&height=8&u=0.6&q=800&lon=115.76745223366264&lat=34.40937666512325&colums=50&rows=50&scale=5&outFlow=1
    @ApiOperation(value = "WaterPollutionLake")
    @GetMapping(value = "/WaterPollutionLakePolygonVec")
//    @Scheduled(cron = "0 10 * * * ?")
    public String WaterPollutionLakePolygonVec(double z,double height,double u,double q,double lon,double lat, int colums,int rows,int scale,double outFlow) {
        int[] size = new int[]{colums, rows};
        double[] dataInterval = new double[]{0, 30, 50, 70, 90, 150} ;
        String strJson = InterpolationUtils.calWaterPollutionLakeEquiSurface0(z,height,q,lon,lat, dataInterval,size,scale,1/(u*outFlow));
        return strJson;
    }
}

接口返回geojson格式

五、软件模拟效果

 如果对您有帮助

 感谢支持技术分享,请点赞支持:

技术合作交流qq:2401315930

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

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

相关文章

Android之 软件架构发展和封装

一 简介 1.1 软件架构发展趋势是解耦,即分离数据层和视图层,使得数据层专注于业务的数据和逻辑处理。从而提高代码的可读可编辑效率,提高团队协作能力,项目的生产能力,降低后期维护成本。 1.2 Android架构发展MVC -…

Rocksdb相关学习

1 Basic Operations 先介绍一些 RocksDB 的基本操作和基本架构。 1.1 LSM 与 WriteBatch 参考文档5提到RocksDB 是一个快速存储系统,它会充分挖掘 Flash or RAM 硬件的读写特性,支持单个 KV 的读写以及批量读写。RocksDB 自身采用的一些数据结构如 LSM/…

STLINK V2 无法用STM32CubeProgrammer下载程序

这个问题真的挺狗的,先说结论,因为你买的STLINK V2是国产的,而且用的也是国产的芯片,不是ST的STM32F103C8T6,所以STM32CubeProgrammer识别不到芯片的串号,都是奸商为了省钱导致的。 我是去年买的一个STLINK…

数据库作业

数据库teaching中的表结构和表记录。    (1)学生信息表student    #student表结构      create table if not exists student (      studentno char(11) not null comment学号,      sname char(8) not null comment姓名,   …

【Unity100个实用小技巧】一行代码解决天空盒接缝问题

☀️博客主页:CSDN博客主页💨本文由 萌萌的小木屋 原创,首发于 CSDN💢🔥学习专栏推荐:面试汇总❗️游戏框架专栏推荐:游戏实用框架专栏⛅️点赞 👍 收藏 ⭐留言 📝&#…

三位一体,新华三绿洲3.0数据平台聚焦五大提升

如何有效发挥出数据要素的价值?--这已成为行业用户在数字化转型和智能化升级中的一道必答题。 从2020年《关于构建更加完善的要素市场化配置体制机制的意见》首次明确“数据”成为五大生产要素之一,到去年底《中共中央、国务院关于构建数据基础制度更好…

javaExcel的导出(简单方法,不用代码写表头)

目录 一.java代码 1.controller层(/exportTradeCreditData) 2.service代码 3.将设计好的excel模板放到指定位置 4.ExcelWriter.write()方法 二.前端Vue代码 1.接口 2.代码 三.Excel模板 1.将对应的字段也就是list中的key放到你想放在的位置(${contract.CIT…

路面积水监测传感器有哪些?路面积水传感器的作用是什么?

路面积水是指在降雨或其他因素下,道路表面无法及时排水而形成的水体堆积现象。路面积水不仅对交通安全造成威胁,还可能对道路结构和交通设施造成损害,严重影响了城市生命线的安全运行。近年来,随着物联网传感技术的兴起&#xff0…

Spring高手之路——深入理解注解驱动配置与XML配置的融合与区别

文章目录 1. 配置类的编写与Bean的注册2. 注解驱动IOC的依赖注入与XML依赖注入对比3. 组件注册4. 组件扫描4.1 使用ComponentScan的组件扫描4.2 xml中启用component-scan组件扫描4.3 不使用ComponentScan的组件扫描 5. 组件注册的其他注解6. 将注解驱动的配置与XML驱动的配置结…

Windows下搭建paddlenlp 语义检索系统

windos下搭建paddlenlp 语义检索系统 之前搭建paddleocr的时候,创建了paddle的虚拟环境,顺便也装了paddlenlp的库,就想着直接用这个,然后语义检索模型本身没有问题了,可以正常推理了。但在搭建pipline的时候出现问题&…

工程测量--学习笔记

1、测量学的概念 测量学是研究地球的形状、大小以及地表(包括地面上各种物体)的几何形状及其空间位置的科学。 2、工程测量的概念 工程测量是运用测量学的基本原理和方法为各类工程服务。 3、测量工作分类 测量工作包括测定和测设两部分。 测定是指使用…

算法|2.异或运算

算法|2.异或运算 1.不用额外变量交换两个数的值 题意:不用额外变量交换(数组中)两个数的值 解题思路: 使用异或运算的性质 代码及运行结果: 2.找到唯一出现奇数次的数字 题意:一个数组中有一种数出现了…

这才是网络安全最系统的学习路线(建议收藏)

01 什么是网络安全 网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 无论网络、Web、移动、桌面、云等哪个领域,都有攻与防两面…

一些小的问题

是否是质数&#xff1f; #include <stdio.h> #include <stdbool.h>bool is_prime(int num);int main() {int num;printf("请输入一个整数&#xff1a;");scanf("%d", &num);if (is_prime(num)) {printf("%d是质数。\n", num);} …

【萌新指南】如何获得铁粉?快收下我为你精心定制的涨粉秘籍吧

文章目录 前言"铁粉"介绍"铁粉"规则"铁粉"获取高质量博客坚持写博客参与活动 尾声 前言 目前博主的"铁粉"数量 "铁粉"介绍 "铁粉"是为了帮助博主解决上面提到的问题和困惑&#xff0c; CSDN 设计的一个功能&…

STM8、STM8S003F3P6 通过ZM470SX-MP模组实现lora通信

背景 现在物联网就是很火&#xff0c;lora是避免不开的&#xff0c;也有个项目采用STM8S003F3P6 使用周立功的lora模组ZM470SX-MP实现lora通信。 原理图 废话少说&#xff0c;上原理图 这个原理图我找了很久都没有找到&#xff0c;指示找到了管脚图&#xff0c;这个原理图非…

Linux——线程的同步与互斥

目录 模拟抢火车票的过程 代码示例 thread.cc Thread.hpp 运行结果 分析原因 tickets减到-2的本质 解决抢票出错的方案 临界资源的概念 原子性的概念 加锁 定义 初始化 销毁 代码形式如下 代码示例1&#xff1a; 代码示例2&#xff1a; 总结 如何看待锁 申…

2.自然语言处理NLP:词映射为向量——词嵌入(word embedding)

1. 什么是词嵌入&#xff08;word2vec&#xff09; &#xff1a; 把词映射为向量&#xff08;实数域&#xff09;的技术 2. 为什么不采用one-hot向量&#xff1a; one-hot词向量无法准确表达不同词之间的相似度&#xff0c;eg&#xff1a;余弦相似度&#xff0c;表示夹角之间的…

创新案例|Amazon如何打造增长飞轮保持每年20%以上的营收增速

作为世界五百强中的头部企业&#xff0c;亚马逊的价值定位经历了三次转变&#xff0c;从成为“地球上最大的书店”&#xff0c;到成为最大的综合网络零售商&#xff0c;再到成为“最以客户为中心的企业”&#xff0c;亚马逊最终以“客户中心”破除了对企业价值定位的束缚&#…

DNS风险分析及安全防护研究(三):DNS缓存投毒及防御策略

在前面章节中&#xff0c;我们简单介绍了DNS系统在协议、软件以及结构中脆弱性&#xff0c;并对DNSSEC协议、去中心化结构等安全增强进行了讨论&#xff0c;接下来针对DNS安全所面临的外部攻击威胁和相应的防御策略做下讨论。 1.DNS缓存投毒攻击 在目前各种DNS攻击手段中&…