洪涝有源淹没算法及淹没结果分析【转】-程序员宅基地

技术标签: ViewUI  python  人工智能  javascript  

http://blog.csdn.net/giser_whu/article/details/41288761

洪涝模拟仿真的实现方法主要有两种:一种是基于水动力学的洪水演进模型;另一种是基于DEM的洪水淹没分析。具体分析如下:

我是GIS从业者,从我们的专业角度出发,选择基于DEM的洪水淹没分析来做洪涝的模拟仿真。而基于DEM的洪水淹没分析方法主要分为有源淹没和无源淹没。

本篇博客采用有源淹没算法实现洪涝的模拟,算法为八领域种子扩散算法。采用C#版本GDAL编写了FloodSimulation类,下面给出全部源代码:

[csharp] view plain copy
  1.   class FloodSimulation  
  2.     {  
  3.         #region 类成员变量  
  4.   
  5.         //点结构体  
  6.         public struct Point  
  7.         {  
  8.             public int X;          //行号  
  9.             public int Y;          //列号  
  10.             public int Elevation;  //像素值(高程值)  
  11.             public bool IsFlooded; //淹没标记  
  12.   
  13.         };  
  14.         private bool[,] IsFlood;                //淹没区域标记二维数组,用于标记淹没栅格  
  15.         private List<Point> m_FloodBufferList;  //淹没缓冲区堆栈  
  16.         
  17.         public Dataset m_DEMDataSet;            //DEM数据集  
  18.         public Dataset m_FloodSimulatedDataSet; //洪涝淹没范围数据集  
  19.         public int m_XSize;                     //数据X方向栅格个数  
  20.         public int m_YSize;                     //数据Y方向栅格个数  
  21.         public OSGeo.GDAL.Driver driver;        //影像格式驱动  
  22.         public int[] m_FloodBuffer;            //填充缓冲区(洪涝淹没范围)  
  23.         public int[] m_DEMdataBuffer;          //DEM数据(存储高程值)   
  24.   
  25.         public double m_AreaFlooded;            //水面面积  
  26.         public double m_WaterVolume;            //淹没水体体积  
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_33825683/article/details/86359101

智能推荐

redis五大基本类型以及应用场景-程序员宅基地

文章浏览阅读8.8k次,点赞15次,收藏59次。redis五大基本类型以及应用场景

Centos8 环境变量配置-程序员宅基地

文章浏览阅读9.3k次,点赞3次,收藏16次。转载请注明出处,如果您觉得文章有用,就赏我个鸡腿吧!配置环境变量的方法1. 针对当前会话生效 【重启失效】PATH=$PATH:/home/xyg/mysql/binecho $PATH2. 针对当前用户有效 【重启失效】vim ~/.bash_profile#更改,原行 PATH=$PATH:$HOME/bin, 改为下面的PATH=$PATH:$HOME/bin:/home/...

java_程序题分析:生成一个随机的由大小写字母和数字组成的4位验证码,要求验证码中不能出现重复字符-程序员宅基地

文章浏览阅读4.2k次,点赞6次,收藏26次。package 程序题;import java.util.ArrayList;import java.util.Random;/** * 生成一个随机的由大小写字母和数字组成的4位验证码, * 要求验证码中不能出现重复字符 * @author 朱方圆 * */public class T7 { public static void main(String[] args) { ArrayList<Object> array=new ArrayList<Obje

用混淆矩阵计算kappa系数_混淆矩阵卡帕系数怎么算-程序员宅基地

文章浏览阅读1w次,点赞10次,收藏34次。从一篇论文——融合注意力机制和高效网络的糖尿病视网膜病变识别与分类,看到人家除了特异性、敏感性、准确率、混淆矩阵以外,还用了加权kappa系数,所以了解一下kapp系数的知识,加权kappa还没找到更好的资料。。。资料来源于百度百科词条——kappa系数Kappa系数用于一致性检验,也可以用于衡量分类精度,但kappa系数的计算是基于混淆矩阵的.kappa系数是一种衡量分类精度的指标。它是通过把所有地表真实分类中的像元总数(N)乘以混淆矩阵对角线(Xkk)的和,再减去某一类地表真实像元总数与该类中被_混淆矩阵卡帕系数怎么算

TouchGFX 控件附加 ClickListener 功能的方法介绍-程序员宅基地

文章浏览阅读705次,点赞10次,收藏20次。模板一般分为函数模板和类模板。函数模板我们这里不做赘述,重点关注 TouchGFX Mixins 类模板。TouchGFX 的 Mixins 类模板用于拓展控件的功能,目前 TouchGFX v4.20.0 中有四个 Mixin 功能,分别是 Draggable、ClickListener、FadeAnimator 和MoveAnimator,分别为控件增添相关功能。如图 1 (TouchGFX Designer Mixins 功能)所示,本文主要针对 ClickListener 做具体介绍。

C语言中->含义,比如说 p=p->next_c语言->next-程序员宅基地

文章浏览阅读9w次,点赞467次,收藏1.7k次。注:本答案来自百度知道 jiajuehorse->是一个整体,它是用于指向结构体、C++中的class等含有子数据的指针用来取子数据。换种说法,如果我们在C语言中定义了一个结构体,然后申明一个指针指向这个结构体,那么我们要用指针取出结构体中的数据,就要用到“->”.举个例子:struct Data{int a,b,c;}; /*定义结构体*/struct Data * p..._c语言->next

随便推点

Oracle:like 模糊匹配的漏洞_oracle两个字段模糊匹配like-程序员宅基地

文章浏览阅读463次。Oracle like运算符通常在数据量不高的情况下,用于where表达式中,搜索匹配字段中的指定内容,一般和 % 或 _ 结合使用。如下查询user表中name字段含有 小白龙 的数据:SELECT * FROM user WHERE name LIKE '%小白龙%';但是使用like查询%时,因为%为通配符会被忽略,以致查询所有数据。解决方法:使用instr查询替换like查询。在数据量大的情况下,查询速度也更快。SELECT * FROM user WHERE instr(name, _oracle两个字段模糊匹配like

计算机java毕设 网络考试系统的设计与实现_java考试功能设计思路-程序员宅基地

文章浏览阅读85次。 Hi,各位同学好呀,这里是L学长!今天向大家分享一个今年(2022)最新完成的毕业设计项目作品,毕设分享javaWeb的网络考试系统的设计与实现 学长根据实现的难度和等级对项目进行评分(最低0分,满分5分)难度系数:3分工作量:3分创新点:3分。_java考试功能设计思路

python钉钉机器人发送消息_Python3使用钉钉机器人推送消息(签名方式)-程序员宅基地

文章浏览阅读607次。1 importtime2 importhmac3 importhashlib4 importbase645 importurllib6 importjson7 importrequests8 importlogging910 try:11 JSONDecodeError =json.decoder.JSONDecodeError12 exceptAttributeError:13 ..._签名推送消息怎么写

unity3d之Assetbundle打包预设Prefab和场景Scene-程序员宅基地

文章浏览阅读6.4k次。新建工程,在Assets下新建Scenes文件夹存放场景文件,新建三个Cube,分别命名为Cube、Cube1、Cube2并保存为三个预设,保存新建在ReanAssetbundle.cs脚本,脚本内容如下:using UnityEngine;using System.Collections;public class ReanAssetbundle : MonoBehav

mysql的简单操作-程序员宅基地

文章浏览阅读611次。第一部分(默认已经安装和配置完成)登录MySQL: mysql -uroot -proot显示显示所有数据库: show databases;创建一个新的数据库: create database mydatabase;使用某个数据库: use mydatabase;显示当前使用的数据库中有哪些表: show tables;查看当前MySQL的版本号: select version();查看当前使用的是哪个数据库:select database();终止当前命令的输入: \c

微软官网获取win10镜像_微软镜像-程序员宅基地

文章浏览阅读347次。2、打开镜像升级软件,按照以下步骤进行设置,设置完成后即可获得相应的镜像文件;,找到工具下载按钮,进行工具下载;选择下载路径,进行下载即可。_微软镜像

推荐文章

热门文章

相关标签