• PIE SDK水深提取算法


    1.算法功能简介

      水深提取算法就是根据输入的水位设为d,dem设为h 这两个数据做一个差值运算,则水深计算公式为d-h;本示例中的是基于洞庭湖提取的水体矢量文件的范围来计算dem和水位25米的差值。

      需要注意的是,水位的基准要和dem的基准一致。水位的基准需要判断是基于河床还是和dem一致的高程基准面。不然结果可能会受影响。

    2.算法功能实现说明

    2.1 实现步骤

    第一步

    算法参数设置

    第二步

    算法执行

    第三步

    结果显示

    2.2 算法参数

    算法名称

    水深提取法

    C#算法DLL

    PIE.CommonAlgo.dll

    C#算法名称

    PIE.CommonAlgo. WaterStatisticsAlgo

    参数结构体

    WaterDepthInfo

    参数说明

    dWaterHeight

    double

    水位

    pszInDEMFile

    string

    DEM文件路径

    pszOutFile

    string

    输出文件路径

    pszShpFile

    String

    水体矢量路径

    2.3 示例代码

    数据路径

    百度云盘地址下/ PIE示例数据/栅格数据/01.GF1/洞庭湖水体/ WR_20171219_A0303_636493863981864520/dem/洞庭湖.tif

    示例代码

     1 /// <summary>
     2 /// 水深提取算法 autoMagic.shp水体矢量文件是IMG_FE233_20171219_636493846049962321.tif进行归一化指数法处理的结果
     3 /// </summary>
     4 public void WaterStatics()
     5 {
     6     PIE.CommonAlgo.WaterDepthInfo info = new WaterDepthInfo();
     7     info.pszInDEMFile = @"D:MapDataRaster水体提取数据WR_20171219_A0303_636493863981864520dem洞庭湖.tif";//Dem文件路径
     8     info.pszShpFile = @"D:MapDataRaster水体提取数据	empautoMagic.shp";//水体矢量文件
     9     info.dWaterHeight = 25;//水位
    10     info.pszOutFile = @"D:MapDataRaster水体提取数据	empwaterDepth.tif";//输出文件路径
    11          
    12     PIE.SystemAlgo.ISystemAlgo algo = PIE.SystemAlgo.AlgoFactory.Instance().CreateAlgo("PIE.CommonAlgo.dll", "PIE.CommonAlgo.WaterStatisticsAlgo");
    13     if (algo == null) return;
    14           
    15     algo.Name = "水深提取";
    16     algo.Params = info;
    17 
    18     bool result = PIE.SystemAlgo.AlgoFactory.Instance().ExecuteAlgo(algo);
    19     if (result)
    20     {
    21         MessageBox.Show("水深提取算法执行成功");
    22         ILayer layer = LayerFactory.CreateDefaultLayer(info.pszOutFile);
    23         if (layer == null) return;
    24         m_HookHelper.ActiveView.FocusMap.AddLayer(layer);
    25         m_HookHelper.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);
    26     }
    27 }
    View Code

    2.4 示例截图

  • 相关阅读:
    redis sentinel(哨兵)配置解读
    配置哨兵监控Redis运行情况
    java 客户端链接不上redis解决方案
    Redis配置主从架构,实现读写分离
    Redis简介,安装和配置,停止,卸载(图解方式)
    linux下监控用户的操作记录---录像播放性质
    Spring的数据库开发
    Spring中Bean的作用域、生命周期
    Spring中Bean的实例化
    Spring之初体验
  • 原文地址:https://www.cnblogs.com/PIESat/p/11281168.html
Copyright © 2020-2023  润新知