FAQ
ArcGIS Pro SDK: 特定のレイヤーを取得する方法

ナレッジ番号:3348 | 登録日:2023/05/29 | 更新日:2024/11/21

概要

ArcGIS Pro SDK for .NET を使用して、特定のレイヤーを取得する方法をご紹介いたします。

サンプル コード 1

グループ レイヤー内にある特定のレイヤーを取得します。

  1. アクティブなマップから Map.Layers プロパティを使用して、すべてのレイヤー (Layer) を取得
  2. is 演算子を使用し、すべてのレイヤーからグループ レイヤーを取得
  3. GroupLayer.Layers プロパティを使用して、取得したグループ レイヤー内にあるすべてのレイヤーを取得
  4. グループ レイヤー内にあるすべてのレイヤーから、特定のレイヤーを取得
protected override void OnClick()
{
   //アクティブなマップを取得
   Map map = MapView.Active.Map;

   //すべてのレイヤーを取得 ※<>は半角に置き換え実行してください。
   ReadOnlyObservableCollection<Layer> checkLayers = map.Layers;

   for (int i = 0; i < checkLayers.Count; i++)
   {
      Layer checkLayer = checkLayers[i];

      //グループ レイヤーの場合
      if (checkLayer is GroupLayer)
      {
         GroupLayer groupLayer = (GroupLayer)checkLayer;

         //グループ レイヤーにあるすべてのレイヤーを取得 ※<>は半角に置き換え実行してください。
         ReadOnlyObservableCollection<layer> findLayer = groupLayer.Layers;

         for (int j = 0; j < findLayer.Count; j++)
         {
            Layer layer = findLayer[j];

            //特定のレイヤーを取得
            if (layer.Name == "神奈川")
            {
               //処理
            }
         }
      }
   }
}
 Image

サンプル コード 2

レイヤーのプロパティを指定して取得します。

//名称指定はいずれかの方法で
var featureLayer = MapView.Active.Map.FindLayers("Japan").FirstOrDefault() as FeatureLayer;
var jpLayer = MapView.Active.Map.Layers.FirstOrDefault(lyr => lyr.Name == "Japan") as FeatureLayer;

//フィーチャレイヤー指定の場合
var featureLayer = MapView.Active.Map.GetLayersAsFlattenedList().OfType<FeatureLayer>().FirstOrDefault();

サンプル コード 3

コンテンツ ウィンドウで選択したレイヤーを取得します。

  protected override void OnClick()
    {
        string txtLayers = "";
        
        
        var mapView = MapView.Active;
        //選択しているレイヤーを取得
        var selectedLayers= mapView.GetSelectedLayers();
        
     //選択レイヤーの名前を取得し、改行区切りで定義
        for (int i = 0; i < selectedLayers.Count; i++)
        {
            txtLayers += selectedLayers[i].Name + "\r\n";
        }
     //メッセージボックスでレイヤー名を表示
        ArcGIS.Desktop.Framework.Dialogs.MessageBox.Show(txtLayers);

    }

メタデータ

種類

製品