参考: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. C#给指定doc文件写入宏

    private void InsertMacro() { Word.Application oWord; Word.Document oDoc; VBIDE.VBComponent oModule; ...

  2. ppycharm设置解释器版本号码

    在pycharm中点击File,之后在弹出的窗口中输入Project Interpreter,点击之后就可以看到自己的解释器版本是多少了,也可以随意选择想要用的解释器版本号码:

  3. win7-64bit下基于VMware12.5安装rhel-server-6.3-i386

    /************************************************************************************* 宿主PC:win7-64b ...

  4. website link

    error: template with C linkage http://blog.csdn.net/jiong_1988/article/details/7915420http://velep.c ...

  5. 通过路由管理视图间切换 - AngularJS路由解析

    模板的视图刷新 ng-view这个指令和路由组合之后就可以将$route对应的视图放入指定的HTML中,这一过程中它会创建自己的作用域并将模板嵌套在内部. ng-view指令的优先级是1000(终极) ...

  6. Dos下mySql

    2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 ...

  7. ubuntu环境eclipse配置

    ubuntu环境eclipse配置 首先下载Eclipse和JDK: 然后将上边两个压缩包解压到安装文件夹(如;/home/linux/softwares/java).然后配置/etc/profile ...

  8. Appium python自动化测试系列之Capability介绍(五)

    ​5.1 Capability介绍 5.1.1 什么是Capability 在讲capability之前大家是否还记得在讲log时给大家看过的启动时的日志?在我们的整个启动日志中会出现一些配置信息,其 ...

  9. 自定义 spinner

    http://blog.sina.com.cn/s/blog_3e333c4a010151cj.html

  10. 网站web.cofig配置用户的权限

    访问被拒绝. 说明: 访问服务此请求所需的资源时出错.服务器可能未配置为访问所请求的 URL. 错误消息 401.2.: 未经授权: 服务器配置导致登录失败.请验证您是否有权基于您提供的凭据和 Web ...