Web マップでの Arcade 条件式の探索
Arcade ラベルの探索
Web GIS を使用すると、多様なソースからデータを共有、借用、再利用することができます。 組織が収集および保持しているデータだけに制限されなくなります。 ただし、他のソースからのデータは、特定のニーズに適していない方法でフォーマットされていることがしばしばあります。 ArcGIS Arcade では、他の人のデータを自分の視覚化とストーリーテリングに適合させることができます。 これにより、データの構成による制約から解放されます。
このチュートリアルは、日付フィールドからマップ ラベルを書式設定するのに使用される Arcade の例から始めます。
- Anti-Shipping Activity Messages アプリを開きます。
このマップ上のシンボルは、船と船員に対する敵対的行為 (海賊行為) を表しています。 このデータは、アメリカ国家地理空間情報局 (NGA) および Esri の ArcGIS Living Atlas of the World チーム によって作成されました。
注意:
データの詳細については、マップのナビゲーション コントロールの下にある [情報] ボタンをクリックしてください。
- 画面移動およびズームして、マップを探索します。
- マップ上の任意のポイントをクリックします。
敵対的行為の説明を含むポップアップが表示されます。
このマップは、複数の Arcade 式を使用して作成されました。 式はアプリには表示されませんが、アプリから情報が明確に伝わるようにシーン裏で機能しています。 次に、Web マップを開いて Arcade 式の一部を探ります。
- Anti-Shipping Activity Messages Web マップを開きます。
- ラベルが表示されるまでマップを拡大します。
ポイントはそれぞれ年がラベル付けされています。
- 必要に応じ、[コンテンツ] (暗い背景の) ツールバーにある [レイヤー] をクリックして [レイヤー] ウィンドウを開きます。
- [レイヤー] ウィンドウで、[Anti-Shipping Activity Messages] の横にある [オプション] ボタンをクリックします。
- [テーブルの表示] をクリックします。
レイヤーの属性テーブルが開きます。
- テーブルをスクロールしてフィールドを確認します。
年をリストしているフィールドはありません。 あるのは [Event Date] フィールドのみです。 このフィールドには年が含まれますが、各インシデントの月、日付、時刻も含まれます。
- テーブルを閉じます。
- (明るい背景の) [設定] ツールバーで、[ラベル] ボタンをクリックして [フィーチャのラベル作成] ウィンドウを開きます。
- [ラベル フィールド] の下で、[Year] の横にある式ボタンをクリックします。
式の設定ウィンドウが表示されます。 [Year] はフィールドの名前ではなく、式の名前です。
式は Year(ToUTC($feature.dateofocc)) です。 この短い式は、[Event Date] フィールドから年の情報のみを抽出します。 [Year()] は、関連する数字を抽出する関数です。 [ToUTC()] は、日付形式を変換する別の関数です。 [$feature.datofocc] は [Event Date] フィールドのフィーチャであり、[dateofocc] という名前も付けられています。
- 式の上で、[実行] ボタンをクリックします。
式の下に計算された結果が表示されます。 長い日付ではなく、年が示されます。
この式の結果は、[1990-06-02T21:00:00-03:00] ではなく [1990] のようなラベルになります。 より短いラベルはわかりやすく、マップの煩雑さを軽減するのに役立ちます。
- 式の設定ウィンドウを閉じます。
注意:
Arcade ラベルを使用したアプリの別の例については、「USGS Global Earthquakes」をご参照ください。 [Recent Earthquakes - Events by Magnitude] レイヤーを選択し、[ラベル] ウィンドウを開いて最近の地震のみにラベルを付ける式を表示します。
Arcade ポップアップの探索
次に、複数の Arcade 式がどのようにこのマップのポップアップに寄与するかについて探ります。 特に、データの属性値に基づいてポップアップのテキストの色を設定するために、Arcade がどのように使用されるかについて学習します。
- マップ上でピンク色、赤色、または紫色の任意のシンボルをクリックしてポップアップを開きます。
注意:
マップに黄色のシンボルのみが含まれる場合は、代わりに黄色のシンボルをクリックします。 ピンク色、赤色、紫色のシンボルは、現在の年に発生したインシデントに使用されます。
ポップアップには、インシデント タイプに合ったシンボルの色で、インシデント タイプと日付が太字で表示されます。 また、インシデントの説明も表示されます。
- [設定] ツールバーの [ポップアップ] ボタンをクリックして [ポップアップ] ウィンドウを開きます。
- [属性条件式] をクリックします。
このポップアップでは、3 つの式が使用されています。 [Date Conversion] は、ラベルに使用されている式に似ています。 [Hostility Type Classification] と [Hostility Type Color] はいずれもインシデントのカテゴリを決定します。
- [Hostility Type Color] をクリックします。
この式は、[hostilitytype_1] フィールドからの値をリスト表示し、それぞれに 16 進数によって定義された色を割り当てます。
たとえば、ライン [3] は、タイプ ([hostilitytype_1] フィールドの値) が [1] と同じ場合、色を [#e055a8] (ピンク) に設定することを示します。 式に含まれる灰色のテキストは、各タイプの説明をリスト表示するコメントです。
次に、この式がどのようにポップアップで使用されるかが示されます。
- 式の設定ウィンドウを閉じます。
- [属性式] ウィンドウの [戻る] 矢印をクリックします。
- [ポップアップ] ウィンドウで、[テキスト] をクリックします。 [テキストの編集] をクリックします。
ポップアップのテキストの多くは [description] フィールドから派生していますが、ポップアップ上部の太字のテキストは 2 つの式から派生しています。
- [{expression/expr1}] と [{expression/expr0}] の 2 つの式をハイライト表示し、[フォントの色] ボタンをクリックします。
[データ ドリブン] タブで、[Hostility Type Color] 式が選択されます。
これらの 2 行のテキストの色は、選択された式によって決定されます。
- [完了] をクリックします。
説明テキストの末尾にある [here] リンクの色も同様に設定されます。
- [キャンセル] をクリックします。
- マップ上で他のシンボルをいくつかクリックし、インシデントの敵対タイプに応じてテキストの色がどのように変わるかを確認します。
Arcade 式を使用すると、最も関連性の高い方法で書式設定された、最も関連性の高い情報を含むポップアップを作成できます。
注意:
Arcade ポップアップのあるアプリの別の例を確認するには、「Coral Reef Bleaching Stations」をご参照ください。 [Coral Reef Station - Null] レイヤーでは、フィーチャ イメージへの URL を作成する式を含む、4 つの式を使用してポップアップを作成します。
Arcade シンボルの探索
このチュートリアルの最後の例では、マップの現在の縮尺に基づいてシンボルのサイズを決定する、さらに複雑な Arcade 式を探ります。
- [設定] ツールバーで [スタイル] ボタンをクリックして、[スタイル] ウィンドウを開きます。
[属性の選択] に、2 つのアイテムがリスト表示されています。 これらは属性テーブルからではなく、Arcade 式からのフィールドです。 これらの式の 1 つである [Current Year Incidents] は、マップ シンボルの色を決定します。 もう 1 つの [Set the Symbol Size by Map Scale] は、シンボルのサイズを決定します。
- [Set the Symbol Size by Map Scale] をクリックします。
式の設定ウィンドウが表示されます。 この式では、ラベル条件式で見たものと同じ [Event Date] ([dateofocc]) フィールドが使用されます。
- [8] 行目から [13] 行目までを読み取ります。
When( vs > 72000000, Old, vs > 1700000, 1 + Old, vs > 8000000, 2 + Old, vs > 3000000, 3 + Old, vs > 1000000, 4 + Old, 5 + Old)
変数 [vs] は、先に式 [$view.scale] で定義されており、マップの現在の縮尺を参照します。 変数 [Old] も先に式で定義されており、各シンボルのサイズを設定します。 現在の年のインシデントの場合、[Old] の値は [9] です。 それより前のインシデントの場合、[Old] の値は [3.5] です。
縮尺が縮小されるにつれ、式のこの部分によって [Old] 変数に数字が追加され、マップを拡大するにつれてシンボルが大きくなります。
注意:
[Old] 変数は [6] 行目で定義されます: var Old = Iif (dataYear != Year(Today()), 3.5, 9)。
この行は、インシデントの年 ([dataYear]) が現在の年 ([Year(Today())]) と同じ ([!=]) ではない場合、[Old] 変数の値が [3.5] に設定されることを示しています。 そうでない場合 (年が現在の年と同じ場合)、値は [9] に設定されます。 この式により、最近のインシデントは大きなシンボルに、以前のインシデントは小さなシンボルになります。
- 式の設定ウィンドウを閉じます。
- マップを拡大、縮小します。
効果は目立ちませんが、縮小すると黄色の円が小さくなり、拡大すると大きくなります。
注意:
Arcade シンボルを使用したアプリの別の例については、「Live Stream Gauges」をご参照ください。 このマップは、同様の式を使用してマップの縮尺に基づいてシンボル サイズを制御します。 さらに、各フィーチャのステータスを決定する式も使用します。
このチュートリアルでは、ArcGIS Arcade を使用してラベル、ポップアップ、およびシンボルをカスタマイズし、より明確に情報を伝達するマップを作成することができます。 静的データセットでは、日付、カテゴリ、および色を再設定するために新しいフィールドが作成される可能性があります。 しかし、このマップでは、毎日新しいレコードを受信し、他の人が所有および管理している動的データセットを使用します。 新しいフィールドを作成するというオプションはありませんが、Arcade 式を使用して既存のフィールドから新しい値を派生できるため、その必要もありません。
ArcGIS Arcade はインタラクティブなマップのための重要なツールです。これにより、利用可能なデータだけではなく、伝える必要があるストーリーに合ったマップを作成することができます。 Arcade は、データを強力な情報の式に変換します。 独自のマップで式を作成する方法については、チュートリアル「はじめての ArcGIS Arcade」をお試しください。
このチュートリアルで探索した Anti-Shipping Activity Messages アプリは、海上の活動をマッピングします。 インタラクティブなマップとアプリが海洋深度を描写する方法については、このシリーズの次のチュートリアル、「3D アプリを探索する」をお試しください。