1.算法功能简介

等值线图能直观地展示数据的变化趋势,是众多领域展示成果的重要图建之一,被广泛应用于石油勘探、矿物开采、气象预报等众多领域。等值线的绘制是指从大量采样数据中提取出具有相同值的点的信息,并生成形态完整、位置精确的等值线的过程,包括等值线网格化、等值线追踪、等值线光滑、等值线填充与标注几个处理步骤。

PIE支持算法功能的执行,下面对等值线生成算法功能进行介绍。

2.算法功能实现说明

2.1. 实现步骤

第一步

算法参数设置

第二步

算法执行

第三步

结果显示

2.2. 算法参数

C#算法DLL

PIE.CommonAlgo.dll

C#算法名称

PIE.CommonAlgo.RasterToContourContructAlgo

参数结构体

RasterToContourContruct_Exchange_Info

参数说明

BandIndex

Int

波段

BAutoSetStartEndValue

bool

是否自动计算起始终止值

BClosed

bool

是否闭合

BGenerateContourFace

bool

是否生成等值面

BGenerateContourLine

bool

是否生成等值线

EndValue

double

终止值

InputRasterDataset

IRasterDataset

输入栅格数据集

OutputContourFaceFDataset

IFeatureDataset

输出等值面(内存)

OutputContourLineFDataset

IFeatureDataset

输出等值线 (内存)

SampleRatio

int

采样比

StartValue

double

起始值

ValueInterval

double

间隔

2.3. 示例代码

数据路径

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

视频路径

百度云盘地址下/PIE视频教程/10.算法调用/实用工具/等值线生成.avi

示例代码

          /// <summary>
/// 等值线生成算法测试
/// </summary>
private void Test_RasterToContourContructAlgo()
{
#region 1参数设置
#region 获取待加载文件路径
System.Windows.Forms.OpenFileDialog openFileDialog = new System.Windows.Forms.OpenFileDialog();
openFileDialog.Title = "请选择要打开的数据";
openFileDialog.Multiselect = true;
openFileDialog.Filter = "Tiff|*.tif;*.tiff|所有文件|*.*";
if (openFileDialog.ShowDialog() != System.Windows.Forms.DialogResult.OK) return;
string strFileName = openFileDialog.FileName;
#endregion
IRasterDataset rDataset = PIE.DataSource.DatasetFactory.OpenRasterDataset(strFileName, OpenMode.ReadOnly);
RasterToContourContruct_Exchange_Info info = new RasterToContourContruct_Exchange_Info();
info.InputRasterDataset = rDataset;
info.BandIndex = ;
info.BAutoSetStartEndValue = true;
info.BGenerateContourFace = true;
info.BGenerateContourLine = true;
info.BClosed = true;
info.ValueInterval = ;
info.SampleRatio = ;
#endregion
//2、算法执行
PIE.CommonAlgo.RasterToContourContructAlgo alog = new RasterToContourContructAlgo();
alog.Params = info;
alog.Execute();
//3、结果显示
info = alog.Params as RasterToContourContruct_Exchange_Info;
if (info.OutputContourFaceFDataset != null)//等值面
{
IFeatureLayer featureLayerFace = new FeatureLayer();
featureLayerFace.FeatureClass = new FeatureClass(info.OutputContourFaceFDataset);
m_HookHelper.FocusMap.AddLayer(featureLayerFace as ILayer);
}
if (info.OutputContourLineFDataset != null)//等值线
{
IFeatureLayer featureLayerLine = new FeatureLayer();
featureLayerLine.FeatureClass = new FeatureClass(info.OutputContourLineFDataset);
m_HookHelper.FocusMap.AddLayer(featureLayerLine as ILayer);
}
m_HookHelper.ActiveView.Refresh();
(rDataset as IDisposable).Dispose();
rDataset = null;
}

2.4. 示例截图

PIE SDK栅格生成等值线、面的更多相关文章

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

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

  2. PIE SDK栅格RGB渲染

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

  3. PIE SDK栅格增强控制

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

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

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

  5. PIE SDK栅格矢量化算法

    1.算法功能简介 栅格数据矢量化较为复杂,如果由一幅扫描的数字化地图来建立矢量数据库,则需要经过数字图象处理,如边缘增强.细化.二值化.特征提取及模式识别才能获得矢量数据.人们通常将多色地图分色后逐个 ...

  6. PIE SDK栅格拉伸控制

    1. 功能简介 在我们的实际应用中,对于一般16bit或者更大比特深度的影像,像元值都是大于255的.这种情况下,RGB的显示器是不能够直接使用像元值进行显示的,需要将像元值换算到0~255的区间内以 ...

  7. PIE SDK栅格拉伸渲染

    1. 功能简介 栅格数据拉伸渲染是对指定的波段进行图像拉伸,并设置拉伸之后的颜色带,根据像元值和颜色带进行数据渲染. 2. 功能实现说明 2.1. 实现思路及原理说明 第一步 实例化拉伸渲染对象示例 ...

  8. PIE SDK栅格分级渲染

    1.  功能简介 栅格数据分级渲染是根据不同的分级规则,对像元值进行等级划分:并通过对每一级设置不同的显示符号和标注信息,从而达到分级显示的效果. 2.功能实现说明 2.1. 实现思路及原理说明 第一 ...

  9. PIE SDK矢量点生成等值线、面

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

随机推荐

  1. jqentitydetail

    using System;using System.Collections;using System.Collections.Generic;using System.Linq;using Syste ...

  2. flex 布局的深入研究

    对于flex盒模型的设计期望 flex盒模型是被期望设计成 1:在任何流动的方向上(包括上下左右)都能进行良好的布局 2:可以以逆序 或者 以任意顺序排列布局 3:可以线性的沿着主轴一字排开 或者 沿 ...

  3. 实践作业3:白盒测试----小组分工讨论DAY2

    白盒测试需要通过检查软件内部的逻辑结构,对软件中的逻辑路径进行覆盖测试;在程序不同地方设立检查点,检查程序的状态,以确定实际运行状态与预期状态是否一致.我们小组在下课时候,在东九教学楼教师休息室进行了 ...

  4. 日期多选插件Kalendae.js

    在项目中要实现日期多选的功能,于是在网上找到Kalendae.js,此文主要记录本人对于Kalendae.js的一些用法,以便以后查阅,希望对读者也有所帮助 主要内容如下: Kalendaejs一句话 ...

  5. React+gulp+browserify模块化开发

    阅读本文需要有React的基础知识,可以在React 入门实例教程和React中文官网进行基础学习. 没有React基础也可以学习本文,本文主要不是学习React,而是gulp+browserify进 ...

  6. 打包发布到NPM并通过CDN访问

    本文主要讲述基于webpack编写js包文件后上传到npm,并通过cdn进行访问. 创建项目 在自己新建的文件夹下执行如下代码: npm init name: (mtmap) version: (1. ...

  7. 「POJ 1741」Tree

    题面: Tree Give a tree with n vertices,each edge has a length(positive integer less than 1001). Define ...

  8. windows查看和杀死占用端口的进程

    1.首先使用 netstat -ano查看占用端口的进程号 2.然后使用 taskkill /PID (进程号)杀死进程

  9. 洛谷P3122 [USACO15FEB]圈住牛Fencing the Herd(计算几何+CDQ分治)

    题面 传送门 题解 题目转化一下就是所有点都在直线\(Ax+By-C=0\)的同一侧,也就可以看做所有点代入\(Ax+By-C\)之后的值符号相同,我们只要维护每一个点代入直线之后的最大值和最小值,看 ...

  10. django自定义rbac权限组件(二级菜单)

    一.目录结构 二.表结构设计 model.py from django.db import models # Create your models here. class Menu(models.Mo ...