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

软件实现效果

一、应用背景

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

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

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

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

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

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

二、应用场景

  

 三、湖库地理数据处理(全国湖库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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

堆排序之——TopK问题

思维导图: 一,TopK算法的运用 TopK的算法在我们的日常生活中可谓是大有用处,比如你在点外卖时外卖榜单上的销量前几名的筛选,富豪排行榜的榜单人物的筛选,游戏排位……等等领域都会有TopK算法的涉及。TopK问题的用处可…

github创建仓库和拉取代码

目录 一、git创建仓库 第一步:首先登录github 第二步:进入建立的仓库(或者新建仓库) 第三步:创建成功 第四步:在本地新建一个文件夹,然后在文件夹下打开git bash 第五步:在git bash命令框执行git init…

专业解读财务共享实现财务数智化转型的有效路径

近年来,随着数字经济的飞速发展,各大企业全面开启数智化转型之路,作为企业数智化转型的重要内容,财务数智化转型始于财务共享服务。然而,财务共享建设并不是一蹴而就的,如何通过财务共享实现财务数智化转型…

什么是分布式软件系统

:什么是分布式软件系统?分布式软件系统是什么意思? 分布式软件系统(Distributed Software Systems)是支持分布式处理的软件系统,是在由通信网络互联的多处理机体系结构上执行任务的系统。它包括分布式操作系统、分布式程序设计语言及其编译(解释)系统、分…

阻抗板是否高可靠,华秋有话说

随着高频高速电子产品的快速发展,信号传输过程更容易出现反射、串扰等信号完整性问题,且频率越高、传输速率越快,信号损耗越严重,如何降低信号在传输过程中的损耗、保证信号完整性是高频高速PCB发展中的巨大挑战。 在高速PCB设计…

Spring源码(一) — 序言

序言 Java程序员的日常开发一定都离不开Spring的框架,从Spring、SpringMVC、SpringBoot、SpringCloud… 而Spring框架就是Spring家族中最基础也是最重要的一个框架。 Spring 我们常说的Spring往往都绕不开IOC(控制反转)和AOP(切…

【TellMeCode】使用VSCODE + ChatGPT辅助分析推测源码

【TellMeCode】使用VSCODE ChatGPT辅助分析推测源码 0x00 功能简介 根据代码上下文相关信息,如工作区文件夹名称,代码所在路径等一系列信息,提供给大模型更多元和尽可能多的信息,利用其自身优势去检索相关的文档和博客&#xf…

QT开发实战-动态壁纸软件

动态壁纸软件开发 项目源代码在下面链接获取: ----------------------------- 开发者:CodeSharkSJ 希望此项目能加强你对Qt的应用 文章目录 项目图与开发环境核心技术原理自定义窗口程序UI布局背景绘制样式表基本实现QWebEngineQMedia使用系统托盘隐藏记忆功能应用程序打包 …

RestCloud荣膺广东省优秀软件产品奖,引领国内数据集成领域!

近日,“2022年广东软件风云榜”名单公布,“谷云ETL数据交换软件”凭借其在助力企业数字化转型升级过程中的卓越表现,荣获由羊城晚报报业集团、广东软件行业协会、广东省大数据协会联合颁发的“优秀软件产品和解决方案”奖。 数字化转型是推动…

【P38】JMeter 随机控制器(Random Controller)

文章目录 一、随机控制器(Random Controller)参数说明二、测试计划设计2.1、测试计划一2.2、测试计划二2.3、勾选忽略子控制器块 一、随机控制器(Random Controller)参数说明 可以让控制器内部的逻辑随机执行一个,一般…

深度学习-第T8周——猫狗识别

深度学习-第T8周——猫狗识别 深度学习-第T8周——猫狗识别一、前言二、我的环境三、前期工作1、导入数据集2、查看图片数目 四、数据预处理1、 加载数据1.1、设置图片格式1.2、划分训练集1.3、划分验证集1.4、查看标签1.5、再次检查数据1.6、配置数据集 2、数据可视化 五、搭建…

机器学习常识 7: 决策树

摘要: 决策树是一种与人类思维一致, 可解释的模型. 1. 决策树的结构 人类的很多知识以决策规则的形式存储: 如果今天是阴天 (outlook overcast), 就去打球.如果今天出太阳 (outlook sunny) 而且湿度不高于 70% (humidity ≤ \le ≤ 70), 就去打球.如果今天出太阳 (outloo…

1688商品ID采集一件代发详情页面数据

本篇博文介绍了对1688商品详情API的二次封装,将URL参数封装成Python函数,直接传入参数即可获取搜索结果,例如1688商品标题、价格、一件代发、sku属性和URL等。提供了详细的代码示例和接口调用Demo。 1688.item_get-获得1688商品详情数据 1.请…

APP开发死亡潮来临 小程序是否会取而代之?

移动互联网的发展, APP开发行业也迎来了它的大时代。据有关数据显示,2017年上半年国内新增的 App数量达到了创纪录的449万款,用户使用时长超过了200亿分钟。移动互联网已成为名副其实的“流量”产业,也因此诞生出一大批 APP开发公…

Maven 概述及下载安装

一、为什么要学习 Maven 我们构建一个项目需要用到很多第三方的类库,就需要引入大量的jar包,并且Jar包之间的关系错综复杂,缺少任何一个Jar包都会导致项目编译失败。Maven 能帮助我们下载及管理依赖。 本地项目代码开发完成后,我…

类和对象【3】初始化列表

全文目录 引言初始化列表定义特性 总结 引言 上一篇文章中介绍了构造函数,它可以在实例化一个类对象的时候自动调用,以初始化类对象: 戳我看默认成员函数详解 但是,不难发现,在构造函数体中对成员变量的初始化其实是属…

gdb调试 与 coredump

gdb调试 与 coredump调试 1. 启动gdb2.gdb中的相关命令3. coredump调试(附属于gdb调试中一种,当程序出现错误时,会使用coredump调试)1)coredump是什么?2)前期设置3)什么情况下会导致…

word打印为pdf去掉批注和修订记录

对于这个问题某乎上充斥着垃圾回答,大多引流到自家开发的pdf产品上。其实背后的方法都是一样的,就是关掉批注,用word自带的功能就能解决,凡是word编辑软件都有类似功能 直接用word打印为pdf后的效果 下图为打印出来的pdf文件&…

【算法】不使用LinkedHashMap实现一个LRU缓存

文章目录 什么是LRU?设计思路代码实现 LRU是我在面试过程中遇到的比较多的算法题了,并且我自己的项目中也手写了LRU算法,所以觉得还是有必要掌握一下这个重要的算法的。 什么是LRU? LRU是一种缓存淘汰策略。 我们知道&#xff0…

大环境不好难找工作?三面阿里,幸好做足了准备,已拿offer

大环境不好难找工作?三面阿里,幸好做足了准备,已拿offer 三面大概九十分钟,问的东西很全面,需要做充足准备,就是除了概念以外问的有点懵逼了(呜呜呜)。回来之后把这些题目做了一个分…