zoukankan      html  css  js  c++  java
  • C#+AE 对于做属性查询的一定总结

    本人刚做了有关属性查询的一些功能的实现,在这总结一下。

    有错误之处和不专业之处还希望GIS和AE开发的高手们给以指点。

    //******其中第二部分发生了点错误,现在已更改***********//

    ①:据FeatureLayer得到Feature的方法:

    代码如下:

                    ILayer pLayer;
                    pLayer = frm1.axMapControl1.Map.get_Layer(LayerBoxEdit.SelectedIndex) as ILayer;//frm1和LayerBoxEdit.SelectedIndex都是变量
                    IFeatureLayer pFeatureLayer;
                    pFeatureLayer = pLayer as IFeatureLayer;
                    if (pFeatureLayer == null)
                    {
                        return;
                    }

                   
                  
                    IFeatureCursor pFeatureCursor;
                    pFeatureCursor = pFeatureLayer.Search(null, false);
                    IFeature pFeature;
                    pFeature = pFeatureCursor.NextFeature();

    ②:据FeatureClass得到Feature的方法:

                

     IFeatureLayer pFeatureLayer;
                    pFeatureLayer = frm1.axMapControl1.Map.get_Layer(0) as IFeatureLayer;
                    IFeatureClass pFeatureClass;
                    pFeatureClass = pFeatureLayer.FeatureClass;
                    IQueryFilter pQueryFilter;
                    pQueryFilter = new QueryFilterClass();
                  //  pQueryFilter.WhereClause = "";

                    IFeature pFeature;

             for(int j=0;j< pFeatureClass.FeatureCount(pQueryFilter); j++)

                {

                     pFeature = pFeatureClass.GetFeature(j);
                }

                  ③:在TreeList中点击子节点得到Feature的方法:

                          

      if (e.Node.HasChildren)
                    {
                        return;
                    }

    if (!(e.Node.HasChildren)) //***********//这个存在bug,若节点超过两级则出错
                    {

                 

     for (int i = 0; i < this.axMapControl1.LayerCount; i++)
                        {

                            //如果父节点名称和图层名相同,获取索引
                            if (e.Node.ParentNode.GetValue(0).ToString() == this.axMapControl1.get_Layer(i).Name)
                            {
                                layerIndex = i;
                                IFeature pFeature;                             
     
                               pFeature = (this.axMapControl1.get_Layer(layerIndex) as IFeatureLayer).FeatureClass.GetFeature(int.Parse(this.treeList1.FocusedNode.GetValue(0).ToString())); ;

                             }

                         }

  • 相关阅读:
    TF.VARIABLE和TENSOR的区别(转)
    同步与异步,阻塞与非阻塞的区别
    tensorflow op tf.global_variables_initializer
    iOS viewDidUnload方法
    Objective-C中的@property和@synthesize用法
    UIDatePicker的时间选择器里的时区的问题
    IOS 小技巧积累
    IOS atomic与nonatomic,assign,copy与retain的定义和区别
    XCODE4.6从零开始添加视图
    Xcode无法设置视图的 autosizing control原因
  • 原文地址:https://www.cnblogs.com/yanhan/p/2706860.html
Copyright © 2011-2022 走看看