FAQ
ArcObjects におけるレイヤー ファイルの作成と読み込み

ナレッジ番号:2681 | 登録日:2023/05/29 | 更新日:2023/12/28

概要

このサンプル コードは、レイヤー ファイル(*.lyr)を作成して保存する方法を示します。レイヤー ファイルには凡例、データ ソースなど、レイヤーのプロパティ情報を格納することができます。保存したレイヤー ファイルは別の ArcMap や MapControl に読み込んで再利用することができます。

サンプル コード

レイヤー ファイルの作成

ArcMap のアクティブ データ フレームの最上位レイヤーをレイヤー ファイル(C:\temp\samplelay.lyr) に保存するサンプルです。

//アクティブ データ フレームの最上位レイヤーを取得
 ILayer alayer = ArcMap.Document.FocusMap.get_Layer(0);
 string apath;
//保存名とパスを指定
 apath = @"c:\temp\samplelay.lyr";
 //空のレイヤー ファイル オブジェクトを作成
 ILayerFile layerFile = new LayerFileClass();
//レイヤー ファイルにパスを設定
 layerFile.New(apath);
//レイヤー ファイルに設定したレイヤーのプロパティ情報を設定
 layerFile.ReplaceContents(alayer);
//レイヤー ファイルを保存
 layerFile.Save();
'アクティブ データ フレームの最上位レイヤーを取得
 Dim alayer As ILayer = My.ArcMap.Document.FocusMap.Layer(0)
'保存名とパスを指定
 Dim apath As String = "c:\temp\samplelay.lyr"
 '空のレイヤー ファイル オブジェクトを作成
 Dim layerFile As ILayerFile = New LayerFileClass
'レイヤー ファイルにパスを設定
 layerFile.[New](apath)
'レイヤー ファイルに設定したレイヤーのプロパティ情報を設定
 layerFile.ReplaceContents(alayer)
'レイヤー ファイルを保存
 layerFile.Save()

レイヤー ファイルの読み込み

保存されたレイヤー ファイル (C:\temp\samplelay.lyr) を ArcMap に追加するサンプルです。

string apath = @"C:\temp\samplelay.lyr";
ILayerFile layerFile;
layerFile = new LayerFileClass();
//パスにあるレイヤー ファイルを開く
layerFile.Open(apath) ;
//レイヤー ファイルからレイヤーを取得
ILayer play = layerFile.Layer;
//アクティブなデータフレームを取得
IMap pmap =  ArcMap.Document.FocusMap;
//アクティブなデータフレームにレイヤーを追加
pmap.AddLayer(play);
Dim apath As String = "c:\temp\samplelay.lyr"
Dim layerFile As ILayerFile
layerFile = New LayerFile
'パスにあるレイヤー ファイルを開く
layerFile.Open(apath) 
Dim play As ILayer
'レイヤー ファイルからレイヤーを取得
play = layerFile.Layer
'アクティブなデータフレームを取得
Dim pmap As IMap = My.ArcMap.Document.FocusMap
'アクティブなデータフレームにレイヤーを追加
pmap.AddLayer(play)

メタデータ

種類

製品