zoukankan      html  css  js  c++  java
  • 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. 示例截图

    修改前:

    修改后:

  • 相关阅读:
    库函数文件操作
    系统文件操作函数
    time函数
    字符(串)输入输出函数
    select&epoll
    epoll
    select
    Apache 配置虚拟主机三种方式
    Apache VirtualHost配置
    Scrapy中用xpath/css爬取豆瓣电影Top250:解决403HTTP status code is not handled or not allowed
  • 原文地址:https://www.cnblogs.com/PIESat/p/10168617.html
Copyright © 2011-2022 走看看