PIE SDK矢量数据的修改

 

1.功能简介

    目前PIE SDK支持矢量数据的修改或删除,下面对矢量数据的投影转换功能进行介绍。

2.功能实现说明

2.1. 矢量数据的修改

2.2. 实现思路及原理说明

第一步

获取需要修改的矢量数据

第二步

根据条件进行设置要素的值进行修改或删除

2.3. 核心接口与方法

接口/类

方法/属性

说明

DataSource.DatasetFactory

OpenFeatureDataset(string path)

创建要素数据集

 

IFeatureDataset

GetNextFeature()

获取下一个要素

UpdateFeature()

更新要素

DeleteFeature()

删除要素

IFeatureClass

DeleteFeature()

删除要素

UpdateFeature()

更新要素

IFeature

SetValue()

设置字段值

2.4. 示例代码

项目路径

百度云盘地址下/PIE示例程序/04数据操作/04矢量数据的修改

数据路径

 自定义即可

视频路径

百度云盘地址下/PIE视频教程/04数据操作/04矢量数据的修改.avi

示例代码

 1         /// <summary>
 2         /// 矢量数据集的修改
 3         /// </summary>
 4         /// <param name="sender"></param>
 5         /// <param name="e"></param>
 6         private void toolStripButton_ModifyData_Click(object sender, EventArgs e)
 7         {
 8             //1获取操作数据文件路径
 9             OpenFileDialog openFileDialog = new OpenFileDialog();
10             openFileDialog.Filter = "VectorData File|*.shp";
11             openFileDialog.Title = "需要修改的矢量数据";
12             if (openFileDialog.ShowDialog() != DialogResult.OK) return;
13             IFeatureDataset featureDataset = DatasetFactory.OpenFeatureDataset(openFileDialog.FileName);
14 
15             ////2矢量数据集的删除和修改
16             IFields fields = featureDataset.GetFields();
17             int index = fields.GetFieldIndex("Name");//自己可以根据操作的数据字段进行设置 
18 
19             featureDataset.DeleteFeature(4);//删除FID为4的要素
20             IFeature feature = featureDataset.GetNextFeature();
21             while (feature != null)
22             {
23                 feature.SetValue(index, "B");//设置字段值,将所有要素的Name值设置为A;
24                 featureDataset.UpdateFeature(feature);//数据更新              
25                 feature = featureDataset.GetNextFeature();
26             }
27         mapControlMain.AddLayerFromFile(openFileDialog.FileName, 0);           mapControlMain.PartialRefresh(ViewDrawPhaseType.ViewAll);
28         }
View Code

2.5. 示例截图

修改前:

修改后:

原文地址:https://www.cnblogs.com/PIESat/p/10168617.html