[转] AE中如何由IFeature 如何获取所对应的FeatureClass

简介:

转载的原文 AE中如何由IFeature 如何获取所对应的FeatureClass

 
先获取FeatureClass,然后遍历Map中所有的FeatureLayer,然后比较
FeatureClass与FeatureLayer所对应的FeatureClass。
 
下面的例子中是在编辑功能里,删除一个Feature后,所触发的事件。目的是找到该Feature所在的FullPathName,并且输出该对象的坐标和ID号。
 
1
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
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 );
}

 

没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的自由、好奇、充满创造力的想法被现实的框架所束缚,让创造力自由成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。



    本文转自wenglabs博客园博客,原文链接:http://www.cnblogs.com/arxive/p/5903577.html,如需转载请自行联系原作者



相关文章
|
4月前
|
数据安全/隐私保护
AD 入门
AD 入门
52 13
|
6月前
|
网络架构
移远EC20、EC200S-CN上网测试
移远EC20、EC200S-CN上网测试
625 2
|
6月前
|
存储 Linux 数据安全/隐私保护
AccessData AD1镜像格式完全剖析
流行的数字取证工具FTK Imager创造了一种逻辑镜像格式,在取证界广泛使用,但鲜少有人对其格式进行研究。
777 4
AccessData AD1镜像格式完全剖析
AD2428W手册解读之概述 下
AD2428W手册解读之概述 下
AD2428W手册解读之概述 下
|
缓存 NoSQL
KUC720AE101 ABB 遵循提取、解码和执行步骤
KUC720AE101 ABB 遵循提取、解码和执行步骤
142 0
KUC720AE101   ABB 遵循提取、解码和执行步骤
|
传感器 资源调度 开发工具
AD2428W手册解读之概述 上
AD2428W手册解读之概述 上
AD2428W手册解读之概述 上
AD2428W手册解读之其他发现流程示例
AD2428W手册解读之其他发现流程示例
AD2428W手册解读之其他发现流程示例
|
资源调度 芯片 数据格式
AD2428W手册解读之概述 中
AD2428W手册解读之概述 中
AD2428W手册解读之概述 中
|
XML SQL Java
|
存储 Java Linux