ae_feature的插入、复制和删除
1、插入
/// <summary>
///向featureclass中批量插入features ,批量插入features,用buffer的方法,要比循环一个个Store的方法快
///</summary>
/// <param name="pFeatureClass">操作数据所在的IFeatureClass</param>
private void InsertFeatures( IFeatureClass pFeatureClass , List< IGeometry> pGeos )
{
IFeatureBuffer pFeatBuf = pFeatureClass.CreateFeatureBuffer();
IFeature pFeat = pFeatBuf;
IFeatureCursor pFeatCur= pFeatureClass.Insert(true);
for(int i = 0 ;i< pGeos.Count ;i++)
{
pFeat.Shape = pGeos(i);
pFeatCur.InsertFeature(pFeatBuf);
//避免一次flush,导致速度过慢
if (i Mod 100 == 0 )
{
pFeatCur.Flush()
}
pFeatCur.Flush()
}
2、拷贝
/// <summary>
///复制一个IFeatureClass中的要素到另外一个当中
/// </summary>
/// <param name="pFromFeatureClass">源数据所在的IFeatureClass</param>
/// <param name="pToFeatureClass">目标数据所在的IFeatureClass</param>
private void CopyFeatureClass(IFeatureClass pFromFeatureClass, IFeatureClass pToFeatureClass)
{
try {
IFeatureCursor pFromFeatureCursor = pFromFeatureClass.Search(null, false);
IFeatureCursor pToFeatureCursor = pToFeatureClass.Insert(true);
IFeatureBuffer pFeatureBuffer = pToFeatureClass.CreateFeatureBuffer();
IFeature pFromFeature = pFromFeatureCursor.NextFeature();
while (pFromFeature != null)
{
int IndexShape = pFeatureBuffer.Fields.FindField("Shape");
pFeatureBuffer.set_Value(IndexShape, pFromFeature);
pFeatureBuffer.Shape = pFromFeature.Shape;
pToFeatureCursor.InsertFeature(pFeatureBuffer);
pFromFeature = pFromFeatureCursor.NextFeature();
pFeatureBuffer = pToFeatureClass.CreateFeatureBuffer();
}
pToFeatureCursor.Flush();
}
catch (Exception ex)
{
throw ex;
}
}
3、删除
///<summary>删除某featurelayer中所有feature
/// 该方法可以给一个queryfilter,进行删除符合条件的Ifeatures///</summary>
/// <param name="pLayer ">:操作的图层</param>
Private void DeleteAllFeatures(IFeatureLayer pLayer )
{
ITable pTable = pLayer.FeatureClass;
pTable.DeleteSearchedRows(null);
}
ae_feature的插入、复制和删除的更多相关文章
- jQuery:节点(插入,复制,替换,删除)操作
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...
- jquery插入,复制、替换和删除节点
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...
- jQuery中的查找节点、创建节点、插入节点、删除节点、替换节点、复制节点操作方法
jQuery操作节点我们可以分六点来讲,查找节点.创建节点.插入节点.删除节点.替换节点.复制节点. 一.查找节点 text() - 设置或返回所选元素的文本内容 ,html() - 设置或返回所 ...
- 转载:vim的复制,删除,粘贴,块操作以及快速替换功能
掌握如下命令有什么好办法,我可以告诉你唯手熟尔!!多看多练对于VIM而言,复制,删除,粘贴的操作应该是非常多的.这次也做一个总结,关于处理VIM下的复制,删除,粘贴等操作.学会使用帮助文件,命令的帮助 ...
- SQL.Cookbook 读书笔记4 插入更新和删除
第四章 插入更新和删除 4.1 插入数据 ,'PROGRA','NEW YOURK'); 4.2 从一个表向另一个表中复制 insert into dept_east(deptno,dname,loc ...
- php简单实用的操作文件工具类(创建、移动、复制、删除)
php简单实用好用的文件及文件夹复制函数和工具类(创建.移动.复制.删除) function recurse_copy($src,$dst) { // 原目录,复制到的目录 $dir = opend ...
- java文件和文件夹复制、删除、移动操作
java文件和文件夹复制.删除.移动操作 import java.io.File; import java.io.FileInputStream; import java.io.FileOutputS ...
- mysql插入数据与删除重复记录的几个例子(收藏)
mysql插入数据与删除重复记录的几个例子 12-26shell脚本实现mysql数据的批量插入 12-26mysql循环语句插入数据的例子 12-26mysql批量插入数据(insert into ...
- Java中数组的几个常用算法:插入算法,删除算法,冒泡排序算法
前言: 在Java中我们常常会用数组,提到数组就不得不介绍数组中常用到的几个算法. 有插入算法,删除算法,冒泡排序算法等. 在学习这几个数组的算法前,我们先来了解一下关于数组一些基本知识. 数组的基本 ...
- java实现基于关键字的文件夹(文件)的搜索、文件夹(文件)的复制、删除
最近在做一个项目,需要实现这几项功能,上网查了很多资料,自己研究了好几天终于实现了,现在与大家分享一下. 一.JAVA实现文件夹的搜索 在百度搜索N个技术文章,从哪些大牛们共享的资料中终于写出了我 ...
随机推荐
- Office英语学习好帮手
Office提供了强大实用的英语学习助手,它可以自动翻译中英文,还可以显示详尽的解释帮助信息,当然标准的发音也是必不可少的.如何启动屏幕取词翻译功能呢?如何让office自动取词并翻译呢?如何收听单词 ...
- LeetCode:3Sum_15
LeetCOde:3Sum [问题再现] Given an array S of n integers, are there elements a, b, c in S such that a + b ...
- Gephi可视化(二)——Gephi Toolkit叫板Prefuse
继在园子里写的<Gephi可视化(一)——使用Gephi Toolkit创建Gephi应用>介绍了如何使用Gephi Toolkit工具集进行可视化编程后,本篇对Gephi Toolkit ...
- SpaceBase – 基于 Sass 的响应式 CSS 框架
SpaceBase 是一个基于 Sass 的响应式 CSS 框架.SpaceBase 是可以在建立和定制您的需要的一个样板层,它结合最佳实践为今天的响应式网页与我们对每一个项目中使用的核心组件. 在线 ...
- asp.Net获取脚本传过来的参数的方法汇总
最基础的知识啦,不过,还是记下来吧. 接收用get 方法传输的数据的写法: string userName= Request.QueryString["name"]; 接收用pos ...
- C++ - 虚基类、虚函数与纯虚函数
虚基类 在说明其作用前先看一段代码 class A{public: int iValue;}; class B:public A{public: void bPrintf(){ ...
- 【UWP】UI适配整理
做UWP有几个月了,期间发布了几个应用,在这里整理一下适配相关的一些东西,UWP关于UI的适配主要有两种方式: 1.VisualState+Trigger:通过触发器出发界面更变,通常在Desktop ...
- C#DateTimePicker控件问题
DateTimPicker控件在遇到29这样特殊的日期,选择时可能会出现 解决方案:在属性中把Value值设置为除29日外的其他日期或者在代码中直接设置Value值:DateTimePicker1 = ...
- 编译gcc
下载源码 自GNU FTP站下载GCC. 自Infrastructure页面下载四个库的源代码,即GMP.MPFR.MPC以及ISL(ISL非必需). 也可以不手工下载,执行源码中的./contrib ...
- Spring MVC静态资源处理(转)
优雅REST风格的资源URL不希望带 .html 或 .do 等后缀.由于早期的Spring MVC不能很好地处理静态资源,所以在web.xml中配置DispatcherServlet的请求映射,往往 ...