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

猜你喜欢

转载自blog.csdn.net/weixin_42496466/article/details/130890256
今日推荐