PIE SDK矢量点生成等值线、面
1.算法功能简介
等值线图能直观地展示数据的变化趋势,是众多领域展示成果的重要图建之一,被广泛应用于石油勘探、矿物开采、气象预报等众多领域。等值线的绘制是指从大量采样数据中提取出具有相同值的点的信息,并生成形态完整、位置精确的等值线的过程,包括等值线网格化、等值线追踪、等值线光滑、等值线填充与标注几个处理步骤。
PIE支持算法功能的执行,下面对矢量成成等值线算法功能进行介绍。
2.算法功能实现说明
2.1 实现步骤
第一步 |
算法参数设置 |
第二步 |
算法执行 |
第三步 |
结果显示 |
2.2 算法参数
算法名称 |
矢量等值线生成 |
|
C#算法DLL |
PIE.CommonAlgo.dll |
|
C#算法名称 |
PIE.CommonAlgo. VectorToContourLineFaceAlgo |
|
参数结构体 |
VectorToContourLineFace_Exchange_Info |
|
参数说明 |
||
InputFeatureDataset |
IFeatureDataset |
输入矢量数据集 |
m_sFieldName |
string |
字段名字 |
m_nRow |
Int |
格点行 |
m_nCol |
intl |
格点列 |
m_numberOfNearestNeighbors |
int |
插值计算相关临近点数 |
m_unDefData |
double |
不参与计算的数值 |
m_bGenerateFace |
bool |
是否生成等值线面 |
m_vecContourValue |
IList<double> |
等值线值 |
m_sOutputLineFilePath |
string |
输出等值线路径 |
m_sOutputFaceFilePath |
string |
输出等值面路径 |
Extent |
IEnvelop |
输入范围(为空时使用图层的范围) |
BOutMemDataset |
Bool |
是否生成内存数据集 |
OutputFaceFeatureDataset |
IFeatureDataset |
输出面内存数据集 |
OutputLineFeatureDataset |
IFeatureDataset |
输出线内存数据集 |
2.3 示例代码
数据路径 |
百度云盘地址下/ PIE示例数据/矢量数据/省会城市.shp |
视频路径 |
百度云盘地址下/PIE视频教程/10.算法调用/实用工具/矢量等值线生成.avi |
示例代码 |
|
![]() 1 /// <summary> 2 /// 矢量数据生成等值线算法示例 3 /// </summary> 4 public void Test_VectorToContourLineFaceAlgo() 5 { 6 PIE.CommonAlgo.VectorToContourLineFace_Exchange_Info info = new VectorToContourLineFace_Exchange_Info() 7 string filePath =@"D:\data\China1\省会城市.shp"; 8 info.InputFeatureDataset=DatasetFactory.OpenFeatureDataset(filePath); 9 info.m_sFieldName = "GDP";//"根据选择矢量数据要生成等值线的字段而定"; 10 info.m_nRow = 400; 11 info.m_nCol = 400; 12 info.m_numberOfNearestNeighbors = 8; 13 info.m_unDefData = -9999.0; 14 info.m_bGenerateFace = true; 15 info.m_sOutputLineFilePath = @"D:\temp\line.shp"; 16 info.m_sOutputFaceFilePath = @"D:\temp\face.shp"; 17 for (int i = 0; i < 300; i += 10) 18 { 19 info.m_vecContourValue.Add(i); 20 } 21 PIE.CommonAlgo.VectorToContourLineFaceAlgo algo = new VectorToContourLineFaceAlgo(); 22 algo.Params = info; 23 bool result = algo.Execute(); 24 return; 25 } |
2.4 示例截图