• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

gisoracle

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

ArcGIS Pro二次开发-选择工具

多边形选择
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ArcGIS.Core.CIM;
using ArcGIS.Core.Data;
using ArcGIS.Core.Geometry;
using ArcGIS.Desktop.Catalog;
using ArcGIS.Desktop.Core;
using ArcGIS.Desktop.Editing;
using ArcGIS.Desktop.Extensions;
using ArcGIS.Desktop.Framework;
using ArcGIS.Desktop.Framework.Contracts;
using ArcGIS.Desktop.Framework.Dialogs;
using ArcGIS.Desktop.Framework.Threading.Tasks;
using ArcGIS.Desktop.Mapping;

namespace ProAppModule1
{
    internal class MapTool2 : MapTool
    {
        public MapTool2()
        {
            IsSketchTool = true;
            SketchType = SketchGeometryType.Polygon;
            SketchOutputMode = SketchOutputMode.Map;
        }

        protected override Task OnToolActivateAsync(bool active)
        {
            return base.OnToolActivateAsync(active);
        }


        protected override Task<bool> OnSketchCompleteAsync(Geometry geometry)

        {

            return ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run(() =>

            {

                // Using the active map view to select

                // the features that intersect the sketch geometry

                ActiveMapView.SelectFeatures(geometry);
                

                return true;

            });

        }
    }
}

  ==================

矩形选择
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ArcGIS.Core.CIM;
using ArcGIS.Core.Data;
using ArcGIS.Core.Geometry;
using ArcGIS.Desktop.Catalog;
using ArcGIS.Desktop.Core;
using ArcGIS.Desktop.Editing;
using ArcGIS.Desktop.Extensions;
using ArcGIS.Desktop.Framework;
using ArcGIS.Desktop.Framework.Contracts;
using ArcGIS.Desktop.Framework.Dialogs;
using ArcGIS.Desktop.Framework.Threading.Tasks;
using ArcGIS.Desktop.Mapping;

namespace ProAppModule1
{
    internal class MapToolSelect : MapTool
    {
        public MapToolSelect()

        {

            IsSketchTool = true;

            SketchType = SketchGeometryType.Rectangle;

            SketchOutputMode = SketchOutputMode.Screen;

        }



        protected override Task OnToolActivateAsync(bool active)

        {

            return base.OnToolActivateAsync(active);

        }



        protected override Task<bool> OnSketchCompleteAsync(Geometry geometry)

        {

            return ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run(() =>

            {

                // Using the active map view to select

                // the features that intersect the sketch geometry

                ActiveMapView.SelectFeatures(geometry);

                return true;

            });

        }
    }
}

  

 

posted on 2020-03-11 15:09  gisai  阅读(407)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3