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. [TCP/IP] HTTPS的工作原理

    一.首先HTTP请求服务端生成证书,客户端对证书的有效期.合法性.域名是否与请求的域名一致.证书的公钥(RSA加密)等进行校验: 二.客户端如果校验通过后,就根据证书的公钥的有效, 生成随机数,随机数 ...

  2. IDEA使用maven搭建spring项目

    spring框架 Spring框架是由于软件开发的复杂性而创建的.Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情.然而,Spring的用途不仅仅限于服务器端的开发.从简单 ...

  3. 006-OpenStack-配仪表盘

    OpenStack-配仪表盘 [基于此文章的环境]点我快速打开文章 计算节点安装(compute1) 1.安装 yum install openstack-dashboard -y &> ...

  4. html5 localStorage讲解

    早期的web中使用cookies在客户端保存诸如用户名等简单的信息,但是,在使用cookies存储永久数据存在以下问题. 1.cookies的大小限制在4kB,不适合大量的数据存储. 2.浏览器还限制 ...

  5. idea中的插件,可以快速将类中的属性转换成Json字符串

    当我们想要测试接口的时候,难免会根据一个类,一个一个的写json数据,当属性比较少时还行,但当属性多的时候就比较麻烦了, 为了解决这个问题,我们可以安装第三方的插件来快速生成json字符串. 步骤如下 ...

  6. VC 静态库与动态库(一)介绍

    定义: 静态库与动态库都属于库,库从本质上来说就是种代码重用的方式. 把需要重复使用的公共代码抽离出来,生成库文件,外部程序只需包含库文件,调用相关接口即可 静态库与动态库区别: 静态库:需要库的.h ...

  7. 批处理命令 call

    call 命令 CALL命令可以在批处理执行过程中调用另一个批处理,当另一个批处理执行完后,再继续执行原来的批处理 CALL command 调用一条批处理命令,和直接执行命令效果一样,特殊情况下很有 ...

  8. Layui的一些心得

    做的项目中用到了前端框架Layui 对于layui,经常犯的错与走的弯路,做下总结: 首先要引用Layui框架罗! 1.   TopLayerClose(); 关闭当前页面 2. TopLayerIn ...

  9. [RN] React Native : Failed to execute aapt

    这是我在开发 React Native 本地 Android Studio 3.1.4 时 构建 release 版本失败,而开发环境正常 之前用 Android Studio 2.*  未出现此问题 ...

  10. tornado中命名路由及反向解析使用

    一. 命名路由: 通常路由写法为[ (r'/' , Handler), ... ] 以上路由写法无法实现命名, 使用命名路由需借助tornado提供的方法, 如下: [ tornado.web.url ...