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);
            }
  • 相关阅读:
    记一次Cloudera中页面监控失效问题
    spark on yarn 动态资源分配报错的解决:org.apache.hadoop.yarn.exceptions.InvalidAuxServiceException: The auxService:spark_shuffle does not exist
    sparkOnYarn报错org.apache.hadoop.fs.FSDataInputStream
    记一次newApiHadoopRdd查询数据不一致问题
    记一次sparkOnyarn错误:java.lang.UnsatisfiedLinkError
    线程八大基础核心二(启动线程)
    线程八大基础核心一(创建线程的方式)
    非常时期,做好一个普通人
    哈希算法(应用场景)
    查找算法(二分查找)
  • 原文地址:https://www.cnblogs.com/94cool/p/4347430.html
Copyright © 2011-2022 走看看