• 博客园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 Button2 : Button
    {

        public static async Task<string> GetDataSource(BasicFeatureLayer theLayer)

        {

            try

            {

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

                {

                    var inTable = theLayer.Name;

                    var table = theLayer.GetTable();

                    var dataStore = table.GetDatastore();

                    var workspaceNameDef = dataStore.GetConnectionString();

                    var workspaceName = workspaceNameDef.Split('=')[1];

                    var fullSpec = System.IO.Path.Combine(workspaceName, inTable);

                    return fullSpec;

                });

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.ToString());

                return string.Empty;

            }

        }

        protected override async void OnClick()
        {
            var mv = MapView.Active;



            var lyrs = mv.Map.Layers;

            foreach (var lyr in lyrs)
            {
                if (lyr is FeatureLayer)
                {
                    var datasource = await GetDataSource(lyr as BasicFeatureLayer);
                    MessageBox.Show(datasource);
                }

            }
        }

    }



}

 

posted on 2020-03-11 21:53  gisai  阅读(527)  评论(0)    收藏  举报

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