FAQ
ArcGIS Pro SDK: レンダラーのコピー
ナレッジ番号:5959 | 登録日:2025/07/14 | 更新日:2025/08/12
概要
ArcGIS Pro SDK でレイヤーのレンダラー(シンボル)を別のレイヤーにコピーする方法をご紹介しますサンプルコード
こちらのサンプルでは [コンテンツ] ウィンドウの一番上にあるレイヤーのレンダラーを、二番目にあるレイヤーにコピーします。 FeatureLayer.GetRenderer でレイヤーからレンダラーを取得し、FeatureLayer.SetRenderer でレンダラーを設定します。QueuedTask.Run(() => { // マップの全レイヤーを取得 Map map = MapView.Active.Map; List<FeatureLayer>layers = map.GetLayersAsFlattenedList().OfType<FeatureLayer>().ToList(); // 一番上と二番目のレイヤーを取得 FeatureLayer featureLayer1 = layers[0]; FeatureLayer featureLayer2 = layers[1]; // レイヤーのジオメトリ タイプが同じ場合にレンダラーをコピー if(featureLayer1.ShapeType == featureLayer2.ShapeType) { // コピーするレンダラーを取得 var renderer = featureLayer1.GetRenderer(); // 取得したレンダラーをレイヤーに設定 featureLayer2.SetRenderer(renderer); } });
このコードを実行すると以下のようにレンダラーがコピーされます
補足
FeatureLayer.GetRenderer、FeatureLayer.SetRenderer メソッドは MCT スレッド上で実行する必要があります。
GetRenderer() Method—ArcGIS Pro
SetRenderer(CIMRenderer) Method—ArcGIS Pro
メタデータ
機能
種類
製品