Proを拡張するためのアドイン開発時によく使う便利なクラスやメソッド、また、それらを用いた実践的な開発をご紹介します。SDK)を使用する開発の参考にしてください。第1弾と第2弾の記事では、マップとの対話的な操作によって選択したフィーチャの属性表示、フィーチャの強調表示、フィーチャへのズーム機能等の実装方法をご紹介しました。第3弾となる今回は、レイヤーのレンダラーを設定する方法をご紹介します。ハンズオンで予習しておくと、本シリーズをよりスムーズに理解できると思います。本記事で実装する機能の概要レンダラーを使用すると、特定のルールに基づいてレイヤーの表示方法を定義することができます。サイズを変えたりして、その属性値を地図上に可視化することができます。本記事ではレイヤーが持つ属性フィールドの一覧を表示し、選択したフィールドとレンダリング手法でレイヤーのレンダラーを設定する機能を実装します。ウインドウの「レンダリング」タブの機能を実装します。「アノテーション操作」、「ジオメトリ変換」タブの機能は今後の連載でご紹介します。アイテム」、「レイヤー」を中心に使用します。使った独力での開発」をご参照ください。ソースに関して実装のポイントとなる部分を抜粋して解説しますので、ダウンロードをお願いします。ウインドウの画面を構成するファイル。拡張4:アドインの開発」をご参照ください。ウインドウの処理を記述するファイル。ウインドウ(MainDockPane.xaml)作成時に自動的に作成されます。拡張3:アドインプロジェクトの構成」をご覧ください。ビューに含まれているレイヤーを動的に表示するように実装します。この処理は、第1回目のマップとの対話的な操作の記事で紹介した方法と同じであるため、本記事では割愛します。ソースコードを参考にしてください。ボックスに表示します。ボックスの「Itemsource」と「SelectedItem」属性を「MainDockPaneViewModel.cs」の「Fields」と「SelectedField」プロパティにバインドさせます。「MainDockPaneViewModel.cs」に「Fields」と「SelectedField」プロパティ(「2.1」でバインドさせたプロパティ)を作成します。各々の役割は以下の通りです。「2.2」で作成した「Fields」プロパティに、選択したレイヤーに存在するフィールドのフィールド名を格納します。属性値に応じて色分けを行うため、レンダラーの設定に使用できる文字列型か数値型のフィールドを抽出して格納します。ボックスに表示します。レンダリング手法に関しては「4.レンダラーを設定」の手順で説明します。ボックスの「Itemsource」と「SelectedItem」属性を「MainDockPaneViewModel.cs」の「RenderingMethod」と「SelectedRendering」プロパティにバインドさせます。「MainDockPaneViewModel.cs」に「RenderingMethods」と「SelectedRenderingMethod」プロパティ(「3.1」でバインドさせたプロパティ)を作成します。各々の役割は以下の通りです。「実行」ボタンを押した際に、選択したフィールドとレンダリング手法でレンダラーを作成しレイヤーに設定します。「実行」ボタンの「Command」属性を「MainDockPaneViewModel.cs」の「SelectionTool」プロパティにバインドさせます。「実行」ボタンを押すと「ExecuteRenderingClick()」メソッドが実行されるように実装します。メソッドに以下の構文を追加します。ボックスでレイヤー、フィールド、レンダリング手法が選択されているかをチェックします。MessageBox.Show("レイヤーを選択してください。MessageBox.Show("フィールドを選択してください。MessageBox.Show("レンダリング手法を選択してください。MessageBox.Show("レンダリングに失敗しました。ブロックの中にレンダラー作成の処理を実装します。オブジェクト)を取得します。アイテムを取得します。(明るい)」カラーランプを使用します。Light」を指定します)。個別値レンダラーを作成する選択したレンダリング手法(_selectedRenderingMethod)により、レンダラーを作成します。レンダリング手法で個別値レンダリングを選択している場合は、個別値レンダラーを作成します。個別値レンダラーは同じ属性値を持つフィーチャを同一シンボルで表示する手法です。コンストラクタを使用して個別値レンダラーの定義を作成します。ボックスで指定した属性フィールド名と「4.4.2」で取得したカラーランプを指定します。メソッドを実行することで個別値レンダラー(CIMUniqueValueRenderer)を作成できます。メソッドを実行して、レイヤーにレンダラーを設定します。引数には作成した個別値レンダラーを指定します。等級色レンダラーを作成するレンダリング手法で等級色レンダリングを選択している場合は、等級色レンダラーを作成します。等級色レンダラーは属性値(数値)の範囲でフィーチャを分類し、範囲ごとに異なるシンボルで表示する手法です。コンストラクタを使用して等級色レンダラーの定義を作成します。ボックスで指定した属性フィールド名、「4.4.2」で取得したカラーランプ、分類方法(今回は「自然分類」を使用)、分類数を指定します。メソッドを実行することで等級色レンダラー(CIMClassBreaksRenderer)を作成できます。メソッドを実行して、レイヤーにレンダラーを設定します。引数には作成した等級色レンダラーを指定します。コードをご参照ください)。これで選択したフィールドに応じてレイヤーにレンダラーを設定する処理は完了です。まとめ本記事ではレイヤーが持つ属性フィールドの一覧を表示し、選択したフィールドとレンダリング手法でレイヤーのレンダラーを設定する方法についてご紹介しました。今回は個別値と等級色のレンダラーを使用しましたが、それ以外にもストレッチ、比例シンボル、ドット密度、ヒートマップ等の様々なレンダラーが用意されていますので、ぜひご活用ください。次回はアノテーションの操作についてご紹介する予定です。20191031195744.9becb6b.release_2018.22.0-jx。