PIE SDK矢量數據的修改

 

1.功能簡介ide

    目前PIE SDK支持矢量數據的修改或刪除,下面對矢量數據的投影轉換功能進行介紹。spa

2.功能實現說明code

2.1. 矢量數據的修改視頻

2.2. 實現思路及原理說明blog

第一步教程

獲取須要修改的矢量數據接口

第二步ip

根據條件進行設置要素的值進行修改或刪除ci

2.3. 核心接口與方法string

接口/類

方法/屬性

說明

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. 示例截圖

修改前:

修改後:

相關文章
相關標籤/搜索