[转] AE中如何由IFeature 如何获取所对应的FeatureClass
转载的原文 AE中如何由IFeature 如何获取所对应的FeatureClass
private void OnDeleteFeatureMethod(object o)
{
IFeature pFeature = o as IFeature;
IFeatureClass pFeatureClass = pFeature.Class as IFeatureClass;
for (int i = 0; i < axMapControl1.Map.LayerCount;i++ )
{
IFeatureLayer iFeatureLayer = axMapControl1.get_Layer(i) as IFeatureLayer;
IFeatureClass iFeatureCla = iFeatureLayer.FeatureClass; if (iFeatureCla == pFeatureClass)
{
IWorkspace pWorkSpace = m_EngineEditor.EditWorkspace;
textBox3.Text += "操作的文件全路径:" + pWorkSpace.PathName + "\\" + axMapControl1.get_Layer(i).Name + ".shp " + "\r\n";
break;
}
} if (pFeature.Shape.GeometryType == esriGeometryType.esriGeometryPoint)
{
IGeometry iGe = pFeature.Shape;
IPoint ipo = new PointClass();
ipo = iGe as IPoint;
int a = 0;
int b = 0;
axMapControl1.FromMapPoint(ipo, ref a, ref b);
textBox3.Text += "删除的点的ID号:" + pFeature.OID + ",坐标:(" + a + "," + b + ")" + "\r\n";
}
else if (pFeature.Shape.GeometryType == esriGeometryType.esriGeometryPolygon)
{
textBox3.Text += "删除的多边形对象的ID号:" + pFeature.OID + ",坐标:";
IPolygon pPolygon = (IPolygon)pFeature.Shape;
int a = 0;
int b = 0;
//把该feature强制转换为一个点的集合,再取点的坐标
IPointCollection pPointCollection = pPolygon as IPointCollection;
for (int i = 0; i < pPointCollection.PointCount - 1; i++)
{
IPoint ipo = pPointCollection.get_Point(i);
axMapControl1.FromMapPoint(ipo, ref a, ref b);
textBox3.Text += "(" + a + "," + b + ")" + "\t";
}
textBox3.Text += "\r\n";
} else if (pFeature.Shape.GeometryType == esriGeometryType.esriGeometryPolyline)
{
textBox3.Text += "删除的线对象的ID号:" + pFeature.OID + ",其坐标:";
IPolyline pPolygon = (IPolyline)pFeature.Shape;
int a = 0;
int b = 0;
//把该feature强制转换为一个点的集合,再取点的坐标
IPointCollection pPointCollection = pPolygon as IPointCollection;
for (int i = 0; i < pPointCollection.PointCount; i++)
{
IPoint ipo = pPointCollection.get_Point(i);
axMapControl1.FromMapPoint(ipo, ref a, ref b);
textBox3.Text += "(" + a + "," + b + ")" + "\t";
}
textBox3.Text += "\r\n";
}
axMapControl1.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeography, null, null);
}
[转] AE中如何由IFeature 如何获取所对应的FeatureClass的更多相关文章
- AE中Shapefile文件添加到SDE数据集
linder_lee 原文 AE中Shapefile文件添加到SDE数据集(c#) 主要完成用C#,通过AE将本地Shapefile文件导入到SDE的指定数据集下面. 首先说下思路: (1) 通过Op ...
- AE中Identify查询工具的实现
原文 AE中Identify查询工具的实现 主要实现点击查询并闪烁显示,并把查询要素的信息通过DataGridView显示出来,主要用到的接口: IIdentity.IArray.IIdentifyO ...
- AE中地图查询方式
樱木 原文 AE中地图查询方式 地图查询主要有两种查询:空间查询和属性查询 所用到知识点: 1 Cursor(游标)对象 本质上是一个指向数据的指针,本身不包含数据内容,提供一个连接到ROW对象或者 ...
- PHP用正则批量替换Img中src内容,用正则表达式获取图片路径实现缩略图功能
PHP用正则批量替换Img中src内容,用正则表达式获取图片路径实现缩略图功能 网上很多正则表达式只能获取或者替换一个img的src内容,或者只能替换固定的字符串,要动态替换多个图片内容的试了几个小时 ...
- git拉取远程分支并创建本地分支和Git中从远程的分支获取最新的版本到本地
git拉取远程分支并创建本地分支 一.查看远程分支 使用如下Git命令查看所有远程分支: git branch -r 二.拉取远程分支并创建本地分支 方法一 使用如下命令: git checkout ...
- Git中从远程的分支获取最新的版本到本地
Git中从远程的分支获取最新的版本到本地有这样2个命令: 1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge git fetch origin mastergit l ...
- jQuery遍历table中的tr td并获取td中的值
jQuery遍历table中的tr td并获取td中的值 $(function(){ $("#tableId tr").find("td").each(func ...
- JAVA中执行JavaScript代码并获取返回值
JAVA中执行JavaScript代码并获取返回值 场景描述 实现思路 技术要点 代码实现 测试方法 运行结果 改进空间 场景描述 今天在CSDN上偶然看到一个帖子对于一段字符串 “var p=‘xx ...
- springboot中使用ContextLoaderListener.getCurrentWebApplicationContext();获取WebApplicationContext为空问题
WebApplicationContext applicationContext = ContextLoaderListener.getCurrentWebApplicationContext(); ...
随机推荐
- 2> How Struts 2 Works
The first thing we should consider is that the workflow of figure 1.4 still obeys the sim- pler MVC ...
- hdu 1575 Tr A(矩阵快速幂,简单)
题目 和 LightOj 1096 - nth Term 类似的线构造一个符合题意的矩阵乘法模版,然后套快速幂的模版,具体的构造矩阵我就不作图了,看着代码也能理解吧 #include<stdi ...
- POJ2503Babelfish
http://poj.org/problem?id=2503 这个题一开始是想用字典树,发现太麻烦..... #include<cstdio> #include<cstring> ...
- Ubuntu 12.04LTS 找不到eth0网卡
我的机器是DELL 14R INSPRION 7420 笔记本.试了好多方法都不行,比如这个教程: . sudo ifconfig -a //查看所有网卡现状,看eth0是否存在,在结果列表应该找不到 ...
- My_Plan part1 小结
数位DP AC十道题目以上 成就达成 八月份!三个月!想想就令人兴奋呢 开始写总结啦 貌似简单的数位DP只需要改改模板就可以啦 就按照我的做题顺序开始总结吧 先是学习了一发模板:http://www. ...
- iOS开发--即时通讯
什么是环信? 1.环信是一个第三平台,提供即时通信(IM–Instant Messaging )的服务 2.环信是在XMPP的基础上进行二次开发 3.环信在网络上传输的数据也是XML 4.使用环信,不 ...
- React如何性能调优
一. 二.调优例子 <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset=&q ...
- AsyncTask 与 Thread+Handler
AsyncTask是封装好的线程池,比起Thread+Handler的方式,AsyncTask在操作UI线程上更方便,因为onPreExecute().onPostExecute()及更新UI方法on ...
- *EditPlus注册码在线生成
http://www.jb51.net/tools/editplus/
- 什么是I帧,P帧,B帧
视频压缩中,每帧代表一幅静止的图像.而在实际压缩时,会采取各种算法减少数据的容量,其中IPB就是最常见的. 简单地说,I帧是关键帧,属于帧内压缩.就是和AVI的压缩是一样的. P是向前搜索的意思.B ...