zoukankan      html  css  js  c++  java
  • ArcGis 中MapControl 框选

    void mCtrl_OnMouseDown(object sender, ESRI.ArcGIS.Controls.IMapControlEvents2_OnMouseDownEvent e)
            {
                #region 框选
                
                
                if (e.button == 4)
                {
                    IEnvelope pEnvelope = mCtrl.TrackRectangle();  // 通过鼠标,取得一个包络线对象
                    ISelectionEnvironment pSelectionEnv = new SelectionEnvironmentClass();  // 设置一个新环境
                    pSelectionEnv.DefaultColor = MapHelper.GetRGBColor(Color.Red);     // 再改变原来要素的眼神值
                    mCtrl.Map.SelectByShape(pEnvelope, pSelectionEnv, false);
                    mCtrl.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeoSelection, null, null);

                    ISelection selection = mCtrl.Map.FeatureSelection;
                    IEnumFeatureSetup enumFeatureSetup = selection as IEnumFeatureSetup;    //这里很必要
                    enumFeatureSetup.AllFields = true;                                      //这里很必要
                    IEnumFeature enumFeature = enumFeatureSetup as IEnumFeature;
                    enumFeature.Reset();
                    IFeature feature = enumFeature.Next();

                    IFeatureLayer pFeatureLayer = (IFeatureLayer)mCtrl.get_Layer(currentLayerIndex);
                    IFeatureClass pFeatureClass = (IFeatureClass)pFeatureLayer.FeatureClass;

                    int fLCDIdx = pFeatureClass.FindField(fieldName);
                    lbFields.Items.Clear();
                    while (feature != null)
                    {
                        var _lcd = feature.get_Value(fLCDIdx);
                        long lcd = Convert.ToInt64(_lcd);
                        lbFields.Items.Add(lcd);
                        feature = enumFeature.Next();
                    }
                }
                


                #endregion

                mCtrl.Refresh(esriViewDrawPhase.esriViewForeground, Type.Missing, Type.Missing);
            }
  • 相关阅读:
    selenium--下拉列表选择
    Java——基本类型包装类,System类,Math类,Arrays类,BigInteger类,BigDecimal类
    Java——Object类,String类,StringBuffer类
    Java——面向对象进阶(final关键字,static关键字,匿名对象,内部类,四种访问修饰符,代码块)
    Java——面向对象进阶(构造方法,this,super)
    Java——面向对象进阶(抽象类,接口)
    Java——面向对象编程
    java——类型转换,冒泡排序,选择排序,二分查找,数组的翻转
    CentOS7下安装MySQL
    Java——定义类,引用类数据类型,集合类型(array list)
  • 原文地址:https://www.cnblogs.com/94cool/p/4347430.html
Copyright © 2011-2022 走看看