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() |
設置字段值 |
項目路徑 |
百度雲盤地址下/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 } |
修改前:
修改後: