有源淹没分析arcgis_洪涝有源淹没算法及淹没结果分析

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

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

本篇博客採用有源淹没算法实现洪涝的模拟,算法为八领域种子扩散算法。

採用C#版本号GDAL编写了FloodSimulation类,以下给出所有源码:

class FloodSimulation

{

#region 类成员变量

//点结构体

public struct Point

{

public int X; //行号

public int Y; //列号

public int Elevation; //像素值(高程值)

public bool IsFlooded; //淹没标记

};

private bool[,] IsFlood; //淹没区域标记二维数组,用于标记淹没栅格

private List m_FloodBufferList; //淹没缓冲区堆栈

public Dataset m_DEMDataSet; //DEM数据集

public Dataset m_FloodSimulatedDataSet; //洪涝淹没范围数据集

public int m_XSize; //数据X方向栅格个数

public int m_YSize; //数据Y方向栅格个数

public OSGeo.GDAL.Driver driver; //影像格式驱动

public int[] m_FloodBuffer; //填充缓冲区(洪涝淹没范围)

public int[] m_DEMdataBuffer; //DEM数据(存储高程值)

public double m_AreaFlooded; //水面面积

public double m_WaterVolume; //淹没水体体积

/* 这里的GeoTransform(影像坐标变换參数)的定义是:通过像素所在的行列值得到其左上角点空间坐标的运算參数

比如:某图像上(P,L)点左上角的实际空间坐标为:

Xp = GeoTransform[0] + P * GeoTransform[1] + L * GeoTransform[2];

Yp = GeoTransform[3] + P * GeoTransform[4] + L * GeoTransform[5]; */

public double[] m_adfGeoTransform;

#endregion

//构造函数

public FloodSimulation()

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值