概要
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
このナレッジはお役に立ちましたか?
フィードバックをいただきありがとうございます!