1.算法功能简介

  缓冲区分析是指有点、线、面实体为基础,自动建立其周围一定宽度范围内的缓冲区多边形图层,然后建立该图层与目标图层的叠加,进行分析而得到的所需的结果。他是用来解决邻近度问题的控件分析工具之一。邻近度描述了地理空间中两个地物距离相近的程度。

  缓冲区分析一般涉及点、线、面要素对象的操作,基于点要素的缓冲区,通常以点为圆心、以一定距离为半径的圆;基于线要素的缓冲区,通常是以线为中心轴线,距中心轴线一定距离的平行条带多边形;基于面要素多边形边界的缓冲区,向外或向内扩展一定距离以生成新的多边形。

  缓冲区分析是地理信息系统重要的空间分析功能之一,它在交通、林业、资源管理、城市规划中有着广泛的应用,例如湖泊和河流周围的保护区的定界、汽车服务区的选择、民宅区远离街道网络的缓冲区的建立等。想更多的了解原理可以点击链接

  PIE支持缓冲区分析算法的执行,下面对此算法功能进行介绍。

2.算法功能实现说明

2.1 实现步骤

第一步

算法参数设置

第二步

算法执行

第三步

结果显示

2.2 算法参数

算法名称

缓冲区分析算法

C#算法DLL

PIE.CommonAlgo.dll

C#算法名称

PIE.CommonAlgo. BufferAnalysisAlgo

参数结构体

stBufferAnalyse_Exchange_Info

参数说明

strInputFile

String

输入进行缓冲区分析的矢量文件

strOutputFile

String

缓冲区分析的输出结果文件

sideType

PIE.CommonAlgo.SideType

侧类型(枚举类型)

fuseType

PIE.CommonAlgo.FuseType

融合类型(枚举类型)

endCapStyle

EndCapStyle

末端类型

dbDistance

double

缓冲区分析的距离

2.3 示例代码

数据路径

百度云盘地址下/ PIE示例数据/矢量数据/Shape/省会城市.shp

视频路径

百度云盘地址下/PIE视频教程/10.算法调用/实用工具/缓冲区分析算法.avi

示例代码

 /// <summary>
/// 缓冲区分析
/// </summary>
public void BufferAnalysis()
{
//1、参数设置
PIE.CommonAlgo.stBufferAnalyse_Exchange_Info info = new stBufferAnalyse_Exchange_Info();
info.strInputFile = @"D:\data\China1\省会城市.shp";
info.strOutputFile = @"D:\data\China1\buffer省会城市.shp";
info.dbDistance = ;
info.sideType = SideType.SideType_Left;//侧类型
info.fuseType = FuseType.FuseType_All;//融合类型
info.endCapStyle = EndCapStyle.EndCapStyle_Round;//末端类型 //2、创建算法对象
PIE.SystemAlgo.ISystemAlgo algo = PIE.SystemAlgo.AlgoFactory.Instance().CreateAlgo("PIE.CommonAlgo.dll", "PIE.CommonAlgo.BufferAnalysisAlgo");
if (algo == null) return;
algo.Name = "缓冲区分析";
algo.Params = info; //3、执行算法并显示
bool result = PIE.SystemAlgo.AlgoFactory.Instance().ExecuteAlgo(algo);
if (result)
{
MessageBox.Show("执行成功");
ILayer layer = LayerFactory.CreateDefaultLayer(info.strOutputFile);
if (layer == null) return;
m_HookHelper.ActiveView.FocusMap.AddLayer(layer);
m_HookHelper.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);
}
}

2.4 示例截图

PIE SDK缓冲区分析算法的更多相关文章

  1. PIE SDK矢量栅格化算法

    1.算法功能简介 矢量栅格化,由矢量数据向栅格数据的转换一般比较方便.对于点.线目标,由其所在的栅格行.列数表示,对于面状目标,则需判定落人该面积内的像元.通常栅格(像元)尺寸均大于原来坐标表示的分辨 ...

  2. PIE SDK水深提取算法

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

  3. PIE SDK创建金字塔算法

    1.算法功能简介 为栅格影像建立了金字塔,这些影像便能快速进行显示.除了在屏幕上显示外,金字塔还包含了很多其他信息.如果没有金字塔,那么在显示时就要访问整理栅格数据集,然后进行大量计算来选择哪些栅格像 ...

  4. PIE SDK图像重采样算法

    1.算法功能简介 图像重采样是指对采样后形成的由离散数据组成的数字图像按所需的像元位置或像元问距重新采样,以构成几何变换后的新图像.重采样过程本质上是图像恢复过程,它用输入的离散数字图像重建代表原始图 ...

  5. PIE SDK与IDL算法结合说明文档

    1.功能简介 IDL是一门简单易用的科学计算和可视化语言,包含大量的图形图像处理函数,尤其是同ENVI结合集成了该软件的大量功能,因此被广泛用于遥感.地信领域. 本示例程序实现了IDL算法与PIESD ...

  6. PIE SDK水体指数法

    1.算法功能简介 单波段阈值法是通过选择某单一波段为判识参数,这一波段往往是水体特征最明显而其它地物相对不太突出的波段(如近红外波段和中红外波段),然后再划定阈值来确定水体信息.该方法主要是利用水体在 ...

  7. PIE SDK主/次要分析

    1.算法功能简介 主要分析功能是采用类似卷积滤波的方法将较大类别中的虚假像元归到该类中,首先定义一个变换核尺寸,然后用变换核中占主要地位(像元最多)类别数代替中心像元的类别数,次要分析相反,用变换核中 ...

  8. PIE SDK算法的同步调用

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

  9. PIE SDK算法的异步调用

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

随机推荐

  1. C语言杂

    atof——把字符串转化成浮点型 C语言标准库 头文件: #include <stdlib.h> 定义函数:double atof(const char *nptr); #include ...

  2. Java命令行传参

    目的: 在运行一个程序时候再传递给它消息,这就需要传递命令参数给main()函数实现:即main()方法可以传递数据 例: public class demo{ public static void ...

  3. Ubuntu18.04.2安装中文输入法

    转载请注明出处: BooTurbo  https://www.cnblogs.com/booturbo/p/11287557.html 1.英文的Ubuntu系统,首先要安装中文语言,在 Settin ...

  4. docker 中,修改了 mysql 配置,如何重启 mysql?

    直接重新启动容器: docker restart containerID/containerName

  5. Java+Selenium3方法篇21-webdriver处理浏览器多窗口切换

    经过前面两篇文章的铺垫,我们这篇介绍,webdriver如何处理,一个浏览器上多个窗口之间切换的问题.我们先脑补这样一个测试场景,你在页面A点击一个连接,会在新的tab窗口打开页面B,这个时候,你在页 ...

  6. async-profiler 容器使用常见问题

    Failed to inject profiler log Failed to inject profiler into 1830 linux-vdso.so.1 => (0x00007ffdf ...

  7. hzoi欢乐时刻(持续更新)

    %%NC哥 %%Dybala %%cbx吐露(bei ji can)真相 %%skyh×2 不愿透露姓名的群众无意间发现惊人秘密, skyh默默坦白真相, 这究竟是人性的沦丧还是道德的泯灭? %%kx ...

  8. 第04组 团队Git现场编程实战

    组员职责分工 组员 分工 林涛(组长) 分配任务.整理数据.写博客 童圣滔 UI界面制作 林红莲 UI界面制作 潘雨佳 测评出福州最受欢迎的商圈 于瀚翔 测评出福州最受欢迎的商圈 覃鸿浩 测评出福州人 ...

  9. UDF——在udf当中添加几个有意思的宏

    很多人的udf都不是自己写的,直接从网上复制粘贴的,编译的时候经常报错.我编写了下面这段示例代码: 我们使用小软件编译: https://www.cnblogs.com/liusuanyatong/p ...

  10. 第22课 weak_ptr弱引用智能指针

    一. weak_ptr的概况 (一)weak_ptr的创建 1. 直接初始化:weak_ptr<T> wp(sp); //其中sp为shared_ptr类型 2. 赋值: wp1 = sp ...