• 博客园logo
  • 会员
  • 周边
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • 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;



using System.Windows.Input;





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

        {

            IsSketchTool = true;

            SketchType = SketchGeometryType.Circle;

            SketchOutputMode = SketchOutputMode.Screen;

        }



        protected override Task OnToolActivateAsync(bool active)

        {

            return base.OnToolActivateAsync(active);

        }



        protected override async Task<bool> OnSketchCompleteAsync(Geometry geometry)

        {
            var mv = MapView.Active;

            var identifyResult = await QueuedTask.Run(() =>

            {

                var sb = new StringBuilder();



                // Get the features that intersect the sketch geometry. 

                var features = mv.GetFeatures(geometry);



                // Get all layer definitions

                var lyrs = mv.Map.GetLayersAsFlattenedList().OfType<FeatureLayer>();

                foreach (var lyr in lyrs)

                {

                    var fCnt = features.ContainsKey(lyr) ? features[lyr].Count : 0;

                    sb.AppendLine($@"{fCnt} {(fCnt == 1 ? "record" : "records")} for {lyr.Name}");

                }

                return sb.ToString();

            });

            MessageBox.Show(identifyResult);

            return true;

        }

    }


}

 

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

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