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

    修改前:

    修改后:

  • 相关阅读:
    详解Office Add-in 清单文件
    在dotnet core web api中支持CORS(跨域访问)
    Office 365 机器人(Bot)开发入门
    人工智能背景下的Office 365现状和发展趋势
    观未见,行不止 —— Power BI 两周年技术和方案交流圆桌会议纪实
    基于Office 365的随需应变业务应用平台
    实战Excel Add-in的三种玩法
    Office Add-in 设计规范与最佳实践
    在Visual Studio Code中开发Office Add-in
    在Visual Studio 中开发Office Add-in
  • 原文地址:https://www.cnblogs.com/PIESat/p/10168617.html
Copyright © 2020-2023  润新知