参考:ArcGIS Engine效率探究——要素的添加和删除、属性的读取和更新

删除要素

                //添加图层,显示在最上面
axMapControl1.AddShapeFile(@"D:\01-业务工作\08-综合业务平台\综合业务平台数据\船载", "cjsj.shp");
//删除 shapefile 中的要素
//获取第一个图层
ILayer pLayer = axMapControl1.get_Layer(0);
//以矢量图层的形式获取
IFeatureLayer pFLayer = pLayer as IFeatureLayer;
//获取要素集
IFeatureClass pFC = pFLayer.FeatureClass;
//查询全部要素
IFeatureCursor pFCursor = pFC.Search(null, false);
IFeature pfeature = pFCursor.NextFeature();
//遍历所有要素,并删除
while (pfeature != null)
{
pfeature.Delete();
pfeature = pFCursor.NextFeature();
}

添加要素,dtzh 为 DataTable 对象

                for (int i = 0; i < dtzh.Rows.Count; i++)
{
//定义一个点,并加入经纬度
IPoint pPoint = new PointClass();
double lon = Double.Parse(dtzh.Rows[i]["经度"].ToString());
double lat = Double.Parse(dtzh.Rows[i]["纬度"].ToString());
pPoint.PutCoords(lon, lat); //将点添加到要素集中,并存储
IFeature pFeature = pFC.CreateFeature();
pFeature.Shape = pPoint;
pFeature.Store(); //获取索引值
int i_id = pFC.FindField("Id");
int i_time = pFC.FindField("Time");
int i_cjsj = pFC.FindField("采集时间");
int i_lon = pFC.FindField("经度");
int i_lat = pFC.FindField("纬度");
int i_fo = pFC.FindField("Fo");
int i_fm = pFC.FindField("Fm");
int i_fv = pFC.FindField("Fv");
int i_bv = pFC.FindField("BV");
int i_yield = pFC.FindField("Yield"); //为要素添加属性值
pFeature.set_Value(i_id, i);
pFeature.set_Value(i_time, dtzh.Rows[i]["Time"].ToString());
pFeature.set_Value(i_cjsj, dtzh.Rows[i]["采集时间"].ToString());
pFeature.set_Value(i_lon, Double.Parse(dtzh.Rows[i]["经度"].ToString()));
pFeature.set_Value(i_lat, Double.Parse(dtzh.Rows[i]["纬度"].ToString()));
pFeature.set_Value(i_fo, Int32.Parse(dtzh.Rows[i]["Fo"].ToString()));
pFeature.set_Value(i_fm, Int32.Parse(dtzh.Rows[i]["Fm"].ToString()));
pFeature.set_Value(i_fv, Int32.Parse(dtzh.Rows[i]["Fv"].ToString()));
pFeature.set_Value(i_bv, Int32.Parse(dtzh.Rows[i]["Blank Value"].ToString()));
pFeature.set_Value(i_yield, dtzh.Rows[i]["Yield"].ToString()); pFeature.Store();
}

显示地图经纬度坐标

        private void axMapControl1_OnMouseMove(object sender, IMapControlEvents2_OnMouseMoveEvent e)
{
tssl_lonlat.Text = String.Format("经纬度:东经{0:0.000}° 北纬{1:0.000}°", e.mapX, e.mapY);
tssl_lonlat.Visible = true;
}

【225】ArcEngine 实现要素添加 & 删除的更多相关文章

  1. ArcEngine 创建要素,删除要素,生成网格,渲染图层(VB)

    示例代码:https://github.com/yu969890202/ArcEngine/tree/master/WinFrom_ArcEngine_PointDistribution博客后面有两张 ...

  2. ArcEngine查询、添加、删除要素的方法

    原文 ArcEngine查询.添加.删除要素的方法 1.查找数据 1).利用FeaturCursor进行空间查询 //空间查询 ISpatialFilter spatialFilter = new S ...

  3. WPF下的Richtextbox中实现表格合并,添加删除行列等功能

    .Net中已有现在的方法实现这些功能,不过可能是由于未完善,未把方法公开出来.只能用反射的方法去调用它. 详细信息可以查看.Net Framework 的源代码 http://referencesou ...

  4. 编辑 Ext 表格(一)——— 动态添加删除行列

    一.动态增删行 在 ext 表格中,动态添加行主要和表格绑定的 store 有关, 通过对 store 数据集进行添加或删除,就能实现表格行的动态添加删除.   (1) 动态添加表格的行  gridS ...

  5. Angular-表单动态添加删除

    angular本身不允许去操作DOM,在angular的角度来说,所有操作都以数据为核心,剩下的事情由angular来完成.所以说,想清楚问题的根源,解决起来也不是那么困难. 前提 那么,要做的这个添 ...

  6. 用Javascript动态添加删除HTML元素实例 (转载)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. [CentOS]添加删除用户

    摘要 在安装CentOS的时候,我们只设置了root,类似windows的超级管理员.当然我们在工作的时候,为了安全考虑,不可能对外开发root,一方面是从安全的角度,另一方面也是方便管理. 添加删除 ...

  8. iOS仿网易新闻栏目拖动重排添加删除效果

    仿网易新闻栏目选择页面的基本效果,今天抽了点时间教大家如何实现UICollectionView拖动的效果! 其实实现起来并不复杂,这里只是基本的功能,没有实现细节上的修改,连UI都是丑丑的样子,随手画 ...

  9. 百度地图API示例之添加/删除工具条、比例尺控件

    代码 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" cont ...

随机推荐

  1. python datetime获取几分钟、小时、天之前的时间

    import datetime print ((datetime.datetime.now()-datetime.timedelta(days=1)).strftime("%Y-%m-%d ...

  2. C# SQL 整表插入

    说明: (1)表A的一部分数据插入到表B (2)DataAccess 类,是放在DAL层下的底层类; da.StrConnection 写在DataAccess类中; //整表插入方法 private ...

  3. grep man 有删减 百科

    NAME grep, egrep, fgrep, rgrep - print lines matching a pattern SYNOPSIS grep [OPTIONS] PATTERN [FIL ...

  4. laravel 配置了自己的域名以后, localhost 无法访问 404 not found 的解决方法

    这是后盾网视频教程的方法,应该是配置虚拟主机,此方法要改动,apache服务器里的conf文件夹里的httpd.conf文件 和conf/extral里面的httpd-vhost文件 具体改动为,co ...

  5. codeforces 557 C

    由于期末.非常久没刷题了,CF一直掉-- 这个题事实上非常简单. .由于做法非常easy想到嘛.. 就是枚举max=x时,最大能保留多少价值.不断更新ans, 结果就是全部价值和减去ans就好 因为最 ...

  6. Deployment相对ReplicaSet优势

    系列目录 RS与Deployment主要用于替代RC.RS的全称为Replica Set.相对于RC,RS与Deployment的优势如下: RC只支持基于等式的selector,如env=dev或者 ...

  7. Java 语法清单

      Java 语法清单 Java 语法清单翻译自 egek92 的 JavaCheatSheet,从属于笔者的 Java 入门与实践系列.时间仓促,笔者只是简单翻译了些标题与内容整理,支持原作者请前往 ...

  8. MySQL 更新和删除

    更新和删除的操作SQL语句比較简单,只是要注意使用UPDATE的时候.要注意WEHER条件的限制,以下的语句是仅仅更新id为10005的email地址,假设不加WHERE语句限制,那么将表中全部的em ...

  9. C# 打开指定的目录 记住路径中 / 与 \ 的使用方法

    老生常谈的问题了,C#在指定目录时,路径中要使用 \\.直接看实例 using System; namespace OpenFile{ class OpenFile{ static void Main ...

  10. 开源流媒体客户端EasyClient手机端控制摄像机EasyCamera云台PTZ控制实现

    本文转自EasyDarwin开源团队成员kim的博客:http://blog.csdn.net/jinlong0603/article/details/51835308 EasyCamera是Easy ...