【225】ArcEngine 实现要素添加 & 删除
参考: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 实现要素添加 & 删除的更多相关文章
- ArcEngine 创建要素,删除要素,生成网格,渲染图层(VB)
示例代码:https://github.com/yu969890202/ArcEngine/tree/master/WinFrom_ArcEngine_PointDistribution博客后面有两张 ...
- ArcEngine查询、添加、删除要素的方法
原文 ArcEngine查询.添加.删除要素的方法 1.查找数据 1).利用FeaturCursor进行空间查询 //空间查询 ISpatialFilter spatialFilter = new S ...
- WPF下的Richtextbox中实现表格合并,添加删除行列等功能
.Net中已有现在的方法实现这些功能,不过可能是由于未完善,未把方法公开出来.只能用反射的方法去调用它. 详细信息可以查看.Net Framework 的源代码 http://referencesou ...
- 编辑 Ext 表格(一)——— 动态添加删除行列
一.动态增删行 在 ext 表格中,动态添加行主要和表格绑定的 store 有关, 通过对 store 数据集进行添加或删除,就能实现表格行的动态添加删除. (1) 动态添加表格的行 gridS ...
- Angular-表单动态添加删除
angular本身不允许去操作DOM,在angular的角度来说,所有操作都以数据为核心,剩下的事情由angular来完成.所以说,想清楚问题的根源,解决起来也不是那么困难. 前提 那么,要做的这个添 ...
- 用Javascript动态添加删除HTML元素实例 (转载)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- [CentOS]添加删除用户
摘要 在安装CentOS的时候,我们只设置了root,类似windows的超级管理员.当然我们在工作的时候,为了安全考虑,不可能对外开发root,一方面是从安全的角度,另一方面也是方便管理. 添加删除 ...
- iOS仿网易新闻栏目拖动重排添加删除效果
仿网易新闻栏目选择页面的基本效果,今天抽了点时间教大家如何实现UICollectionView拖动的效果! 其实实现起来并不复杂,这里只是基本的功能,没有实现细节上的修改,连UI都是丑丑的样子,随手画 ...
- 百度地图API示例之添加/删除工具条、比例尺控件
代码 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" cont ...
随机推荐
- Controller//控制器
#include<opencv2\core\core.hpp> #include<opencv2\imgproc\imgproc.hpp> #include<opencv ...
- Laravel 5.4建站06--API 认证系统 Passport
介绍 在 Laravel 中,实现基于传统表单的登陆和授权已经非常简单,但是如何满足 API 场景下的授权需求呢?在 API 场景里通常通过令牌来实现用户授权,而非维护请求之间的 Session 状态 ...
- caffe训练自己的图片进行分类预测--windows平台
caffe训练自己的图片进行分类预测 标签: caffe预测 2017-03-08 21:17 273人阅读 评论(0) 收藏 举报 分类: caffe之旅(4) 版权声明:本文为博主原创文章,未 ...
- IntelliJ IDEA配置Tomcat及部署项目
IntelliJ IDEA配置Tomcat及部署项目(原链接) 主要有以下几个要点 1.选择本地的tomcat容器. 2.可以选择修改访问路径. 3.On Update action 当我们按 Ctr ...
- ssh 保持连接
ssh 保持连接 使用 ssh 登陆到云主机上,一段时间没有操作终端,会发现 ssh 连接断了,终端无响应. 配置 ssh 客户端,使其以一定间隔时间向 sshd 服务端发送心跳包,可解决此问题. / ...
- 图像处理之滤波---gabor
http://blog.csdn.net/xiaowei_cqu/article/details/24745945 小魏北大
- Spring MVC之简单入门
一.Spring MVC简介: 1.什么是MVC 模型-视图-控制器(MVC)是一个众所周知的以设计界面应用程序为基础的设计模式.它主要通过分离模型(Model).视图(View)及控制器(Contr ...
- 2-3-4树的java实现
一.什么是2-3-4树 2-3-4树和红黑树一样,也是平衡树.只不过不是二叉树,它的子节点数目可以达到4个. 每个节点存储的数据项可以达到3个.名字中的2,3,4是指节点可能包含的子节点数目.具体而言 ...
- Package template (html/template) ... Types HTML, JS, URL, and others from content.go can carry safe content that is exempted from escaping. ... (*Template) Funcs ..
https://godoc.org/text/template GoDoc Home About Go: text/templateIndex | Examples | Files | Directo ...
- 7.JavaScript变量
VAR声明变量,一条语句可以声明多个变量 var name="Gates", age=56, job="CEO"; Value = undefined 在计算机 ...