Pro SDK を使用した ArcGIS Pro の拡張⑤ : 管理構成画面のカスタマイズ

1823
0
10-28-2018 09:49 PM

Pro SDK を使用した ArcGIS Pro の拡張⑤ : 管理構成画面のカスタマイズ

 

はじめに

この記事は「Pro SDK を使用した ArcGIS Pro の拡張」シリーズの第 5 弾の記事です。

当ブログ シリーズでは、ArcGIS Pro SDK (以下、Pro SDK) を使用した ArcGIS Pro の拡張方法をご紹介しています。

前回までの記事で、このシリーズの目的である ArcGIS Pro の拡張アドインを作成する流れまでをご紹介してきました。

5 弾の今回は最終回として 構成管理画面をカスタマイズする方法をご紹介します。構成管理画面とは、ArcGIS Pro を起動してプロジェクトを選択するまでに表示される画面のことを指します。

 

構成管理画面の開発と開発ステップ

構成管理画面にはスプラッシュ スクリーン画面とプロジェクト選択画面の 2 種類があります。

 

 

 

Visual Studio のプロジェクトの新規作成画面で、[ArcGIS Pro 構成管理] を選択すると、アドインを作成した時と同様に基本的なプロジェクトができあがります。

何も実装しないままでも、Visual Studio のプロジェクトを実行すると ArcGIS Pro が起動し、デフォルトでカスタマイズされた構成管理画面が表示されます。

 

 

今回は、Pro SDK でカスタマイズ可能な 2 つの画面を、次のようにカスタマイズします。また、カスタマイズした画面を、他のマシンにインストールされた ArcGIS Pro に適用する方法も最後にご紹介します。

 

  1. スプラッシュ スクリーン画面:タイトル文字列と画像の変更
  2. プロジェクト選択画面:既存のプロジェクト数をカウントして画面に表示する
  3. (応用):構成管理画面を適用する

 

----------------------------------------------

Tips:構成管理画面をカスタマイズするメリットとケース
プロジェクトを選択するまでの操作性をより有用なものにすることができます。例えば、たくさんあるプロジェクトをより見やすくしたり、ユーザーに特定のプロジェクトのみを選択させるような画面を構成したりすることでユーザーの利便性が図れます。ケースとして、ArcGIS Pro を包含した企業独自のブランド アプリとして販売するといったことに活用できます。

----------------------------------------------

 

実装解説

 (準備)[ArcGIS Pro 構成管理] プロジェクトが作成されると、以下のようなファイル構成が出来上がります。

 

更新するファイルはそれぞれ次のファイルです。

 

  • スプラッシュ スクリーン画面
    • SplashScreen.xaml
  • プロジェクト選択画面
    • StartPage.xaml
    • StartPageViewModel.cs (プロジェクト数をカウントする)

 

スプラッシュ スクリーン画面

任意の画像を使用して、表示画面を変更するためには以下の手順で行います。

 

  1. 使用する画像を Visual Studio に登録する
  2. コードを変更する

 

使用する画像を Visual Studio に登録する

Visual Studio では、使用する任意の画像をプロジェクト内のフォルダに格納しただけでは、開発環境に反映することができません。

[ソリューション エクスプローラー]Image フォルダを選択し、既存の項目から指定の画像を読み込みます。

また読み込んだ画像は [プロパティ] から次の設定を行います。

 

ビルドアクション:Resource

出力ディレクトリにコピー:コピーしない

 

 

コードを変更する

スプラッシュ スクリーンの表示内容は、SplashScreen.xaml ファイルに定義されており、実装箇所は以下のコードです。

既存のコードを変更して、画像の指定と文字列の変更を実装しています。

 

<既存のコード>

<Grid>
 <Border BorderBrush="Black" BorderThickness="3" Margin="10">
 <TextBlockStyle="{DynamicResource Esri_TextBlockDialogHeader}"
 FontSize="50"
 HorizontalAlignment="Center"
 VerticalAlignment="Center">
 ProConfiguration1
 </TextBlock>
 </Border>
 </Grid>‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

<実装後のコード>

<Grid>
 <Image Source="../Images/myarcgispro.png" HorizontalAlignment="Center" ></Image>
 <TextBlock FontStyle="Normal"
 FontSize="60"
 Foreground="White"
 HorizontalAlignment="Right"
 VerticalAlignment="Bottom"
 Margin="10">
 My ArcGIS Pro
 </TextBlock>
 </Grid>‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

Image タグを追加して、指定の画像を設定し、TextBlock タグで文字の定義に加えて文字サイズや文字色を変更しています。

Border タグをなくすことで画面いっぱいの画像を表示することができます。

 

プロジェクトを実行すると、指定した画像を表示することができます。

※今回は NASA が公開している画像を使用しました。

 

プロジェクト選択画面

既存プロジェクト数をカウントして画面に表示するためには、以下の手順で実装します。

 

  1. 計算結果をバインドする(返す)項目を定義する(StartPage.xaml)
  2. プロジェクト数をカウントする(StartPageViewModel.cs)

 

計算結果をバインドする(返す)項目を定義する(StartPage.xaml

画面に表示されている “Select a Project to start ArcGIS Pro” は文字列でハードコーディングされています。こちらを変更します。

 

<既存のコード>

<TextBlock Grid.Row="0" Text="Select a Project to start ArcGIS Pro"Style="{DynamicResource Esri_TextBlockH1}" VerticalAlignment="Center" Margin="10"></TextBlock>
‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

<実装後のコード>

<TextBlock Grid.Row="0" Text="{Binding ProProjectCount, StringFormat=選択可能なプロジェクト: {0} }"Style="{DynamicResource Esri_TextBlockH1}" VerticalAlignment="Center" Margin="10"></TextBlock>‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

Text” の属性値を実装しています。

ProProjectCount” は、次に実装するプロパティ名です。“StringFormat” に定型文と、“{}” 内には、Bindingで指定したプロパティの戻り値が入るようにしています。

{0} のゼロはデフォルト値ではありません。

 

プロジェクト数をカウントする(StartPageViewModel.cs

StartPageViewModel.cs ファイルに次の処理を追加で実装します。

プロジェクト数をカウントする処理を含めた “プロパティ” を定義します。

 

// プロジェクト数のカウント プロパティ
public int ProProjectCount
{
 get
 {
 // プロジェクト数をカウントする
 var fileInfos = Project.GetRecentProjects().Select(f => new FileInfo(f));
 var projectCollection = new Collection<FileInfo>(fileInfos.ToList());
 return projectCollection.Count;
 }
}‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

画面(StartPage.xaml)に定義した “ProProjectCount” の内容を処理します。

Pro SDK 側で、作成したプロジェクト ファイルの一覧を取得することができるので、これを利用してプロジェクト数をカウントし画面へ返却します。

※画像の変更はスプラッシュ スクリーン画面を実装する手順と同様に違う画像を登録・指定しています。

 

 

全体のコードは Esri Japan GitHub をご覧ください。

 

(応用)管理構成画面を適用する

作成した管理構成画面を適用する手順は次の通りです。

 

  1. *.proConfigX ファイルを作成する
  2. 構成をインストールする
  3. 手順 1 で作成したファイルを適用した ArcGIS Pro のショートカットを作成する

 

*.proConfigX ファイルを作成する

proConfigX ファイルは Visual Studio でプロジェクトをはじめてビルドした際に作成されます。プロジェクトをビルドすると、ビルド プロパティで設定されているフォルダに出力されます。

【例】 ProConfiguration1.proConfigX

 

 

構成をインストールする

*.proConfigX ファイルをダブルクリックして、インストール画面からインストールします。

 

 

手順 1 で作成したファイルを適用した ArcGIS Pro のショートカットを作成する

インストール済みの ArcGIS Pro の実行ファイル(デフォルトのインストール先は「C:\Program Files\ArcGIS\Pro\bin\ArcGISPro.exe」)のショートカットを新しく作成して、[ショートカット] タブの [リンク先(I)] に次のように入力して、引数を設定します。

 

/config:< *.proConfigX ファイル名>

【例】/config:ProConfiguration1

 

適用後、ショートカットから ArcGIS Pro を実行すると作成した構成管理画面が表示されます。

※このショートカット以外から ArcGIS Pro を起動した場合は、通常の起動画面となります。

 

さいごに

今回で、「Pro SDK を使用した ArcGIS Pro の拡張」シリーズ ブログは最終回です。

これからも ArcGIS Pro SDK にはアップデートによりさまざまな機能が追加される予定です。その都度 GeoNet ブログでご紹介する予定ですので、ご期待ください!

 

■関連リンク

ArcGIS Pro SDK

 Esri Web サイト:

  ArcGIS Pro SDK

  ArcGIS Pro SDK コンセプト(GitHub

  ArcGIS Pro SDK サンプル集(GitHub

  ArcGIS Pro 2.2 API リファレンス

 Pro SDK を使用した ArcGIS Pro の拡張」シリーズ ブログ

  Pro SDK を使用した ArcGIS Pro の拡張①:ArcGIS Pro SDK とは?

  Pro SDK を使用した ArcGIS Pro の拡張②:環境構築

  Pro SDK を使用した ArcGIS Pro の拡張③:アドインプロジェクトの構成

  Pro SDK を使用した ArcGIS Pro の拡張④:アドインの開発

  Pro SDK を使用した ArcGIS Pro の拡張⑤:管理構成画面のカスタマイズ

Version history
Last update:
‎11-12-2020 10:21 PM
Updated by:
Contributors