1.算法功能简介

  剔除栅格块即剔除栅格小斑块功能。一幅影像图层某一区域存在碎小斑块,需要对其按照一定的条件进行剔除。

  PIE支持剔除栅格快算法功能的执行,下面对该算法功能进行介绍。

2.算法功能实现说明

2.1 实现步骤

第一步

算法参数设置

第二步

算法执行

第三步

结果显示

2.2 算法参数

算法名称

剔除栅格块

C#算法DLL

PIE.CommonAlgo.dll

C#算法名称

PIE.CommonAlgo.ImageSieveFilterAlgo

参数结构体

ImageSieveFilterDataset_Exchange_info

参数说明

InputRasterDataset

IRasterDataset

输入的栅格数据集【输入信息】

OutputRasterDataset

IRasterDataset

输出的栅格数据集(*.tif;*.tiff) 【输出信息】

MinArea

int

需要剔除的栅格块的最小面积【输入信息】

BModifyOriginal

bool

是否修改原始数据集

 

算法名称

剔除栅格块

C#算法DLL

PIE.CommonAlgo.dll

C#算法名称

PIE.CommonAlgo.ImageSieveFilterAlgo

参数结构体

ImageSieveFilter_Exchange_info

参数说明

InputFile

String

输入的栅格数据文件路径(*.tif;*.tiff) 【输入信息】

OutputFile

String

输出的栅格数据文件路径(*.tif;*.tiff) 【输出信息】

MinArea

Int

需要剔除的栅格块的最小面积【输入信息】

2.3 示例代码

数据路径

百度云盘地址下/ PIE示例数据/栅格数据/04.World/World.tif

示例代码

  /// <summary>
剔除栅格块
/// /// </summary>
public void ImageSieveFilte ()
{
FrmImageSieveFilter frmImageSieveFilter = new FrmImageSieveFilter();
if (frmImageSieveFilter.ShowDialog() != System.Windows.Forms.DialogResult.OK) return;
IRasterDataset dataset = DatasetFactory.OpenRasterDataset(frm.Exchange_info.InputFile, OpenMode.ReadOnly);
if (dataset == null) return;
ImageSieveFilter_Exchange_info info = new ImageSieveFilter_Exchange_info();//得到生成实体文件用这种方法
info = frm.Exchange_info;
//ImageSieveFilterDataset_Exchange_info info = new ImageSieveFilterDataset_Exchange_info();//生成缓存数据集或者该别原数据集
//info.BModifyOriginal = false;
//info.InputRasterDataset = dataset;
//info.MinArea = frm.Exchange_info.MinArea; ISystemAlgo algo = AlgoFactory.Instance().CreateAlgo("PIE.CommonAlgo.dll", "PIE.CommonAlgo.ImageSieveFilterAlgo");
if (algo == null) return;
algo.Params = info;
bool result = AlgoFactory.Instance().ExecuteAlgo(algo);
//info = algo.Params as ImageSieveFilterDataset_Exchange_info;//得到执行后的结果输出栅格数据集,算法执行完后把结果存在 OutputRasterDataset,需要重新获取一下
if (result)
{
// ILayer layer = LayerFactory.CreateDefaultRasterLayer(info.OutputRasterDataset) as ILayer;
ILayer layer = LayerFactory.CreateDefaultLayer(info.OutputFile);
if (layer == null) return;
mapControlMain.ActiveView.FocusMap.AddLayer(layer);
mapControlMain.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);
}
}

2.4 示例截图

PIE SDK剔除栅格块算法的更多相关文章

  1. PIE SDK Command&&Tool工具命令一览表

    PIE SDK Command&&Tool工具命令一览表 编号 模板 名称(中文) Command&Tool 程序集 备注 1 数据管理 加载栅格数据 PIE.Controls ...

  2. PIE SDK地图图层渲染方案管理

    1. 功能简介 在数据种类较多.渲染规则复杂的情况下,逐个设置其渲染方式是一件繁琐的工作.PIE SDK提供了一种省力省心的办法, PIE SDK提供栅格和矢量数据渲染方案的打开与保存.能够将配色方案 ...

  3. PIE SDK算法的同步调用

    1.    算法功能简介 同步调用一旦开始,调用者必须等到方法调用返回后,才能继续后续的行为. PIE SDK支持算法功能的执行,下面对算法的同步调用功能进行介绍. 2.    算法功能实现说明 2. ...

  4. PIE SDK算法的异步调用

    1.算法功能简介 异步方法一旦开始,方法调用就会立即返回,调用者就可以继续后续的操作.异步方法通常会在另外一个线程中,“真实”地执行着.整个过程,不会阻碍调用者的工作. PIE SDK支持算法功能的执 ...

  5. PIE SDK栅格数据集的读写

    1. 功能简介 栅格数据包含很多信息,在数据的运用中需要对数据的信息进行读取或写入,目前PIE SDK支持多种数据格式的数据读取和写入,下面对栅格数据格式的数据读写功能进行介绍. 2. 功能实现说明 ...

  6. PIE SDK栅格RGB渲染

    1. 功能简介 RGB色彩模式是一种颜色标准,是通过对红(R).绿(G).蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红.绿.蓝三个通道的颜色,这个标准几乎包 ...

  7. PIE SDK栅格增强控制

    1. 功能简介 亮度是指发光体(反光体)表面发光(反光)强弱的物理量:对比度指的是一幅图像中明暗区域最亮的白和最暗的黑之间不同亮度层级的测量:透明度是描述光线透过的程度 栅格数据增强控制主要是通过对亮 ...

  8. PIE SDK栅格图层渲染变化事件监听

    1. 功能简介 通过PIE SDK加载图层后,会默认的赋值给数据一个渲染.当用户重新给数据赋值Render或改变数据显示效果时,会触发渲染变化事件. 所谓的事件监听是在事件触发时,将执行用户指定的函数 ...

  9. PIE SDK栅格生成等值线、面

      1.算法功能简介 等值线图能直观地展示数据的变化趋势,是众多领域展示成果的重要图建之一,被广泛应用于石油勘探.矿物开采.气象预报等众多领域.等值线的绘制是指从大量采样数据中提取出具有相同值的点的信 ...

随机推荐

  1. TensorFlow GPU版本的安装与调试

    笔者采用python3.6.7+TensorFlow1.12.0+CUDA10.0+CUDNN7.3.1构建环境 PC端配置为GTX 1050+Intel i7 7700HQ 4核心8线程@2.8GH ...

  2. 201871010124--王生涛--《面向对象程序设计(java)》第十二周学习总结

    博文正文开头格式: 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nw ...

  3. git push origin master错误

    以下错误是因为远程有的文件,本地没有,故而无法push文件到远程 $ git push origin master To git@github.com:AntonioSu/learngitWindow ...

  4. 每天一道Rust-LeetCode(2019-06-05)

    每天一道Rust-LeetCode(2019-06-05) 最长回文子串 坚持每天一道题,刷题学习Rust. 接续昨天,最长会问字符串的另一种解法 题目描述 解题过程 //leetcode最快解法 / ...

  5. 权限维持:Win2008以上的iis

    参考文章:https://mp.weixin.qq.com/s/z1d3yvp14GWakyonTh_b8A 浅谈原理 在 .Net 中,HttpModule 其实就是实现了 IHttpModule ...

  6. MySQL实战45讲学习笔记:第十一讲

    一.如何在邮箱这样的字段上建立合理的索引 现在,几乎所有的系统都支持邮箱登录,如何在邮箱这样的字段上建立合理的索引,是我们今天要讨论的问题. 假设,你现在维护一个支持邮箱登录的系统,用户表是这么定义的 ...

  7. [LeetCode] 918. Maximum Sum Circular Subarray 环形子数组的最大和

    Given a circular array C of integers represented by A, find the maximum possible sum of a non-empty ...

  8. TypeWriting

    头文件getputch.h /* * getputch.c */ /* 用于getch/putch的通用头文件"getputch.h" */ #ifndef __GETPUTCH ...

  9. DVWA SQL Injection 通关教程

    SQL Injection,即SQL注入,SQLi,是指攻击者通过注入恶意的SQL命令,破坏SQL查询语句的结构,从而达到执行恶意SQL语句的目的.SQL注入漏洞的危害巨大,常常会导致整个数据库被“脱 ...

  10. Postman测试后台使用@RequestBody接收参数的坑

    问题原因:我在使用PostMan测试接口时发现数据传递不过来,是因为请求体定义为JSON数据,自动就传递不过来,虽然问题简单,但由于之前这个用的较少,所以就忽略了这点. 解决问题链接:https:// ...