カスタム シンボルの設計と配置

[USA Current Wildfires] レイヤーは、内部にシンプルな炎の形状を含む円のシンボルを使用します。 このチュートリアルを開始するために、このシンボルの設計につながる考慮事項について学習します。

シンボルの設計ニーズの検討

どのマップ シンボルも迅速、明瞭かつ直感的に伝達することを目的にしています。 そのようなシンボルを設計するには、その設計ニーズを考慮に入れる必要があります。 「このデータの目的は何か」「利用者は誰か」などを考慮する必要があります。

このチュートリアルで使用するシンボルは、グラフィックス ソフトウェアを使用してすでに作成されています。

内部に白い炎の形状を含む赤い円のシンボル

このシンボルを使用してマッピングを開始する前に、その設計につながる機能の考慮事項に関するビデオを見ます。 シンボルの目的とニーズに関するこの例を理解することで、独自のマップ用により効果的なシンボルを設計および選択することができます。

マップ シンボルの色、明瞭さ、および伝達について慎重に検討することで、さまざまなユーザーがそのシンボルを表示および理解できるようになります。

ArcGIS Online で独自のシンボルを作成すると、マップを固有でニーズに合ったものにすることができます。 カスタム シンボルの設計の考慮事項と、それに対処するための方法について学習しました。 次に、炎のカスタム シンボルをダウンロードし、 [USA Current Wildfires] データセットに適用します。


タイプ別および縮尺別のライブ フィード山火事データのマッピング

すべての火災インシデントを同じシンボルを使ってマッピングすることはしません。 いくつかの異なるシンボルの色およびサイズのバリエーションを使用して、マップ ユーザーに詳細情報を提供します。 火災の場所、種類、新しい火災、発生原因、規模を表示します。

さまざまなタイプおよびサイズの山火事のシンボル クラスが 8 個ある凡例

マップを拡大および縮小するときに各シンボルのサイズを制御して、どの縮尺でもシンボルのサイズが適切に調整されるようにします。

山火事のシンボルのダウンロードと山火事マップのコピーの保存

後で使用できるように、山火事のシンボルのコピーをダウンロードし、このチュートリアル向けに用意されたバージョンの [USA Current Wildfires] マップを保存し、編集できるようにします。

  1. 火災のシンボルをダウンロードします。

    これは、過去 24 時間内に発生した米国山火事インシデントのシンボルです。

    内部に赤い炎の形状を含む黄色の円のシンボル

  2. USA Current Wildfires Web マップを開きます。

    Map Viewer[USA Current Wildfires] Web マップが表示されます。 マップには赤色のマーカーが示され、そのほとんどが米国西部内です。

    山火事の場所をシンボル表示する赤色の円のマーカーを含む USA Current Wildfires マップが Map Viewer で開きます

    次に、このマップのコピーを保存します。

  3. ArcGIS の組織アカウント」にサイン インします。
    注意:

    組織アカウントがない場合は、ソフトウェア アクセスのオプションをご参照ください

  4. [コンテンツ] (暗い背景の) ツールバーで、[保存して開く] ボタンをクリックして [名前を付けて保存] を選択します。

    保存して開くメニューの名前を付けて保存オプション

  5. [マップの保存] ウィンドウの [タイトル] に「USA Current Wildfires」と入力し、自分の名前またはイニシャルを追加します。 [タグ][サマリー] の既存のテキストを使用します。

    マップの保存ウィンドウ

  6. [保存] をクリックします。

山火事タイプで分類

[USA Current Wildfires] レイヤーには、必要なシンボル クラスの生成に必要な特定のフィールドがありません。 ArcGIS Arcade を使用して、必要なシンボル カテゴリを定義します。 Arcade で、フィールドを追加せずに、リアルタイムでカスタム カテゴリを作成します。

属性テーブルの 3 つのフィールドを使用する Arcade 式を作成して、火災のタイプ、期間、サイズに基づく 8 つのカスタム シンボル クラスを定義します。

  1. [コンテンツ] ツールバーの [レイヤー] をクリックします。

    コンテンツ タブ

    マップには 3 つの主題図レイヤーがありますが、現在そのうちの 1 つ [Sept 1, 2021] だけが表示されています。 このレイヤーは、アーカイブ済みバージョンのライブ フィード レイヤーです。 特にひどい西部の山火事シーズン中の 2021 年 9 月 1 に取得されました。これには、完全なシンボル セットの構築に必要な全範囲のデータ値が含まれています。

    Sept 1, 2021 レイヤーがアクティブになったレイヤー リスト

    後でライブ データ レイヤーを操作しますが、シンボル クラスを作成するためにアーカイブ レイヤーを操作します。

    アーカイブ レイヤーには、すべての山火事ポイントが赤色のドットとして表示されます。 位置以外の詳細情報を伝達できるシンボルを割り当てます。

  2. [レイヤー] ウィンドウで、[Sept 1, 2021] レイヤーをクリックして選択します。
    注意:

    レイヤーを選択すると、名前の左側に青い垂直のバーが表示されます。

  3. [設定] (明るい背景の) ツールバーにある [スタイル] をクリックします。

    Sept 1, 2021 レイヤーのスタイルの変更ボタン

  4. [スタイル] ウィンドウの [属性の選択][式] をクリックします。

    表示する属性を選択メニューの新しい式オプション

    Arcade 式エディターが表示されます。 式を構築する場所は式ウィンドウです。

  5. [式] ウィンドウから、不要な最初の 3 行を削除します。 「var Acres =」と入力し (またはコピーして貼り付けて)、末尾にスペースを追加します。

    式を「var Acres =」に設定

    var 式は変数を表します。 変数はオブジェクトの単純化された名前で、後から式内で参照しやすくなります。

    次に、変数の値を指定します。

  6. 展開アイコンをクリックし、サイド タブを表示します。

    サイド パネルの展開

    [プロファイル変数] タブおよび [関数] タブには、式で使用するエレメントがあります。 [ヘルプ] タブに Arcade のヘルプ Web ページが開きます。

  7. [プロファイル変数] をクリックします。 [プロファイル変数] ウィンドウで、[$feature] の横の矢印をクリックします。

    プロファイル変数を追加

  8. [値] で、[$feature.DailyAcres] を見つけてクリックします。

    グローバル リストの $feature.DailyAcres

    この文字列が、式ウィンドウに追加されて、最初のコード行が完成します。

    Daily Acres フィーチャ変数を式ウィンドウに追加

    これ以降に Acres 変数を参照すると、このレイヤー内の各フィーチャ (この場合は各火災インシデント) の [Daily Acres] 属性の値にアクセスします。

    さらに 2 つのフィールドを表すために、さらに 2 つの変数を定義します。

  9. 式ウィンドウで、Enter キーを押して式の次の行に進みます。 次の 2 行のコードをコピーして貼り付けます。
    var Age = $feature.FireDiscoveryAge
    var Type = $feature.IncidentTypeCategory

    これで、3 つの変数が定義されました。 Acres は火災で報告された焼失面積です。 Age は、火災が最初に報告されてからの日数です。Type は、火災インシデントを、山火事、指定された火災、またはインシデント (複合) のいずれかに定義します。

    この変数が機能することをテストします。

  10. [式] ウィンドウで、新しい行に「return Type」と入力します。
  11. [実行] をクリックします。

    式ウィンドウのテスト ボタン

    [出力] ウィンドウが表示されます。 報告された結果は、[RX] です。

    結果テーブルの RX

    これは、データセットに含まれる最初の火災インシデントの [Incident Type Category field] からの値です。 [RX] は指定された火災のコードです。

    指定された火災は制御された焼失です。多くの場合、後から一層激しい山火事になるのを防ぐことができるように計画されます。 データセットの残りの変数とは大きく異なっているため、独自のシンボル クラス内の指定された火災をすべて表示します。 また、シンボル クラスの名前を [RX] よりも意味のある名前にして、他のユーザーがマップの凡例内でそのシンボル クラスを理解できるようにします。

  12. 式ウィンドウで、テキスト return Type を削除します。 次のコードをコピーして貼り付けます。
    
    if (Type == 'RX') {
    return "Prescribed Fire"
    }

    この if ステートメントは、[Incident Type Category] フィールドの値が [RX] の場合に文字列 Prescribed Fire を返します。

  13. [実行] をクリックします。

    返される結果は [Prescribed Fire] です。

    結果テーブルの Prescribed Fire

  14. 次の行に、以下のコードをコピーして貼り付けます。
    
    if (Type == 'CX') {
    return "Incident Complex"
    }
    if (Age == 0) {
    return "New (Past 24-hour)"
    }

    このコードにより、さらに 2 つのシンボル カテゴリが作成されます。 1 つ目は、インシデント (複合) 用のカテゴリです。同じエリア内の 2 件以上の火災が 1 つのインシデント管理チームで管理されます。 2 つ目のカテゴリは、過去 24 時間内に発生した火災用です。 新しい火災インシデントの Type コードはありません。 代わりに、式は Age 変数 ([Fire Discovery Age] フィールド) を調べて新しいレコードを見つけます。

    これまでに定義した 3 つのカテゴリはすべて、特殊なケースの火災インシデント用です。 次に、残りすべての火災を、そのサイズに基づいて異なるシンボル クラスに配置します。

  15. 式ウィンドウで、次の行に、以下のコードをコピーして貼り付けます。
    
    When (
    Acres < 1000, "0-999",
    
    )

    If ステートメントのいずれかでキャッチされなかったインシデントは、この When ステートメントに渡されます。

    このステートメントは、Acres 値が 1000 未満のとき (When)、文字列「0-999」を返すということです。 大きい火災のシンボル クラスをさらに追加します。

  16. 空の行 (15 行目) に、ポインターを置いて、以下のコードを貼り付けます。
    
    Acres < 10000, "1,000-9,999",
    Acres < 50000, "10,000-49,999",
    Acres < 300000,"50,000-299,999",

    異なる Acres 値の When ステートメント

    これで、面積に基づくシンボル クラスが 4 つになりました。 クラスをもう 1 つ追加して、他のカテゴリのいずれにも該当しないインシデントをキャッチします。

  17. 閉じ括弧の前にポインターを置いて、「"300,000 or more"」を貼り付けます (引用符を含める)。 Enter キーを押します。

    完成した式

    完成した式は、次の式に一致する必要があります。

    
    var Acres = $feature.DailyAcres
    var Age = $feature.FireDiscoveryAge
    var Type = $feature.IncidentTypeCategory
    if (Type == 'RX') {
    return "Prescribed Fire"
    }
    if (Type == 'CX') {
    return "Incident Complex"
    }
    if (Age == 0) {
    return "New (Past 24-hour)"
    }
    When (
    Acres < 1000, "0-999",
    Acres < 10000, "1,000-9,999",
    Acres < 50000, "10,000-49,999",
    Acres < 300000,"50,000-299,999",
    "300,000 or more"
    )

    When ステートメントの前に If ステートメントを記述したので、式を効率よく実行できます。 式の順番は重要です。If ステートメントはサイズでソートされる必要がない火災を最初に除外するので、When ステートメントが処理する必要があるのは、すべての火災ではなく、一部の火災だけになります。 この式は、特定のソート (この場合、火災のサイズ) の前により一般的なソート (この場合、火災のタイプ) を実行するベスト プラクティスに従っており、マップ上でのレイヤーの反応速度が向上します。

  18. [実行] をクリックします。

    [出力][Prescribed Fire] です。

    属性テーブルの最初のレコードは指定された火災であり、式の最初の If ステートメントによりキャッチされました。

  19. Arcade 式エディターの上部で、既存のテキストを削除します。
  20. USA Wildfire Incidents (Acres)」と入力して、Tab キーを押します。

    式の名前の編集ボタン

  21. [完了] をクリックします。

    マップが更新され、Arcade 式で定義したシンボル クラスが表示されます。 シンボルをさらにカスタマイズして、シンボル クラスごとにさまざまなシンボルの色が表示されるようにします。

    カスタム式に基づくスタイルをマップ上に表示

カスタム シンボルの適用

凡例カードがマップに表示され、作成したシンボル クラスが表示されます。 次に、シンボル クラスを並べ替えて、カスタム シンボルをカテゴリの 1 つに適用します。

  1. [スタイル] ウィンドウの [スタイルの選択] にある [タイプ (個別値シンボル)] カードで、[スタイル オプション] をクリックします。

    タイプ (個別値シンボル) カードのスタイル オプション ボタン

  2. [スタイル オプション] ウィンドウで、[300,000 or more] の横にある並べ替えボタンをクリックしてドラッグし、レイヤーをリストの最上位に移動します。

    レイヤー リストの最下位から最上部にレイヤーをドラッグ

  3. 次の順番で配置されるまで、シンボル クラスを並べ替えます。
    • 300,000 or more
    • 50,000-299,999
    • 10,000-49,999
    • 1,000-9,999
    • 0-999
    • New (Past 24-hour)
    • Incident Complex
    • Prescribed Fire

    シンボル クラスが再配置されます。

    再配置されたシンボル クラスの順番

    次に、炎のカスタム シンボルをシンボル クラスのいずれかに適用します。

  4. [New (Past 24-hour)] の横にあるシンボルをクリックします。

    New (Past 24-hour) シンボル クラスのシンボル

  5. [シンボル スタイル] ウィンドウの [現在のシンボル][基本ポイント] をクリックします。

    基本ポイント

  6. [カテゴリ][追加されたスタイル] で、[アップロードされたシンボル] をクリックします。

    アップロードされたシンボル オプション

  7. [参照] をクリックし、このチュートリアルの前半でダウンロードした画像を選択します。
  8. [完了] をクリックします。

    シンボル画像ウィンドウの選択

    黄色と赤色の炎のシンボルが [シンボル スタイル] ウィンドウに表示されます。

  9. [サイズ] に、「19.5」ピクセルと入力します。

    新しい火災がカスタム シンボルを持つようになりました。

    複数の色のシンボルと新しい火災のシンボルを含むマップ

    次に、他の 7 つのシンボル クラスのカスタム シンボルを適用できます。 ここでは、それをスキップして、シンボル クラスがすでに定義されているライブ データセットを操作します。

  10. [スタイル オプション] ウィンドウで [完了] を 2 回クリックします。
  11. [コンテンツ] ウィンドウの [Sept 1, 2021] レイヤーで、[表示設定] ボタンをクリックしてレイヤーが表示されないようにします。
  12. [USA Current Wildfires – Current Incidents] レイヤーで、[表示設定] ボタンをクリックしてレイヤーが表示されるようにします。

    USA Current Wildfires - Current Incidents レイヤーをマップ上に表示

    注意:

    [USA Current Wildfires – Current Incidents] レイヤーは頻繁に変更されるため、表示されるマップはこのチュートリアルの画像とは異なります。

  13. [コンテンツ] ツールバーの [凡例] をクリックします。

    USA Current Wildfires – Current Incidents レイヤーの凡例を表示ボタン

    それぞれ異なるシンボルを持つ 8 つのシンボル クラスが表示されます。 最初の 5 つのクラスはすべて、異なるサイズに設定された同じ画像ファイルを使用します。

  14. [コンテンツ] ツールバーで [保存して開く] をクリックして [保存] を選択します。

マップ縮尺によるシンボル サイズの制御

印刷マップの設計時に、シンボルのサイズは一度だけ考えられます。 しかし、対話的なマップでは、閲覧者が拡大および縮小を行います。 マップ縮尺は常に変化し、ある縮尺では見栄えが良いシンボルも、別の縮尺では大きすぎたり小さすぎたりする場合があります。

次に、2 番目の Arcade 式を作成して、閲覧者がマップを拡大および縮小するときに山火事シンボルのサイズが少し変わるようにします。 変化はわずかですが、確実にシンボルが縮尺に適切なサイズになります。

  1. [レイヤー] ウィンドウで [USA Current Wildfires – Current Incidents] レイヤーが選択されていることを確認します。 [設定] ツールバーの [スタイル] ボタンをクリックします。

    [属性の選択] で、選択した属性が [USA Wildfire Incidents (Acres)] としてリスト表示されます。 これは前のステップで作成した式と同じです。

  2. [属性の選択][式] をクリックします。

    スタイル ウィンドウ上の式

    まず、変数を作成します。

  3. [式] ウィンドウで、既存のテキストを削除します。 次のコードをコピーして貼り付けます。
    
    var Acres = $feature.DailyAcres
    var Age = $feature.FireDiscoveryAge
    var Type = $feature.IncidentTypeCategory

    これらの変数は前の式の変数と同じです。 どの変数も属性テーブルのフィールドにアクセスします。 次に、属性テーブルではなくマップを検索する参照する 4 つ目の変数を追加します。

  4. 次の行に、「var vs =」と入力し、末尾にスペースを追加します。
  5. [プロファイル変数] タブで、[$view] の矢印をクリックし、[$view.scale] をクリックします。

    変数 vs は、式の評価時に現在のマップ縮尺を返します。

    $view.scale を含む式

    これを使用して、さまざまなマップ縮尺に対して異なるシンボル サイズを定義します。

  6. Enter キーを押します。 「return vs」と入力します。[実行] をクリックします。

    結果は大きい数値になります。

    結果テーブルの大きい数値

    この数値はマップの現在の縮尺を表します。 Arcade 式エディターを開く前のマップ縮尺によって異なります。 上記の例では、現在のマップの縮尺はおよそ 1:18,500,000 です。

  7. return vs を削除します。 Enter キーを押して 1 行空けます。
  8. 次のコードをコピーして貼り付けます。
    
    var ValueSize = When (
    Type == 'RX', 17,
    
    )

    変数 ValueSize は、属性テーブルまたはマップの単一の値を参照しませんが、他の変数は参照します。 その代わり、この変数は式を含みます。 この式は、Type[RX] と等しい場合 (When) に、シンボル サイズを 17 ポイントにすることを意味します。 この式にコメントを追加して、わかりやすくします。

  9. Type == 'RX', 17, の後ろにポインターを置きます。 スペースを入力し、続けて「//Prescribed Fire」と入力します。

    式にコメントを追加しました。

    Arcade では、先頭に「//」が付いたテキストはコメントです。 コメントはコードに影響しません。

    さらに 7 つの行を [ValueSize] 式に追加して、他のシンボル クラスのサイズを定義します。

  10. 空の行 (8 行目) に、ポインターを置いて、以下のコードを貼り付けます。
    
    Type == 'CX', 18, //Incident Complex
    Age == 0, 19.5, //Past 24-hour
    Acres < 1000, 18, //0-999
    Acres < 10000, 25, //1,000-9,999
    Acres < 50000, 33, //10,000-49,999
    Acres < 300000, 41, //50,000-299,999

    前に定義したシンボル クラスと同じシンボル クラスがありますが、今回は名前ではなく各シンボル クラスにサイズを割り当てます。 大きい火災ほど大きいシンボルで表示されます。 新しい火災は他の火災よりも少し大きくなり (19.5 ピクセル)、強調されています。新しい火のシンボルの黄色が明るい背景では少し見にくいためです。

    次に、[ValueSize] 式をテストします。

  11. 閉じ括弧の後にポインターを置き、Enter キーを 2 回押して 1 行空けます。
  12. return ValueSize」と入力して、[実行] をクリックします。

    [出力] ウィンドウにエラーが表示されます。

    実行エラー: デフォルト値の結果が必要です

    定義したクラスに該当しないデータをキャッチするには、When ステートメントにデフォルト値が必要です。

    式の末尾に追加して、300,000 エーカーよりも大きい火災にシンボル サイズを割り当てます。

  13. 閉じ括弧の前にポインターを置き、「47」と入力します。 閉じ括弧の後にポインターを置き、「//300,000 or more」と入力します。
  14. もう一度 [実行] をクリックします。

    今回は、数値が返されます。 毎日更新されるライブ データセットを使用しているため数値はさまざまですが、17、18、19.5、25、33、41、47 のいずれかになります。

    結果テーブルの 47

    上記の例では、数値 47 が返されます。これは、テスト フィーチャが 300,000 エーカー以上焼失した山火事であることを示します。

    現時点では、式は現在のシンボルと同様の動作をします。つまり、各シンボル クラスに異なるサイズを割り当てます。 コードは、各シンボル クラスのベースライン サイズを提供します。 次に、Arcade を使用して、マップの縮尺に基づいて、それぞれのサイズを変えるようにします。

  15. return ValueSize」を削除して、Enter キーを押します。 次のコードをコピーして貼り付けます。
    
    When(
    vs > 9000000, ValueSize,
    vs > 4000000, 1 + ValueSize,
    
    )

    縮尺を変更するための When ステートメント

    このステートメントは、次のことを意味しています。

    • マップ縮尺が 1:9,000,000 より大きい場合は、[ValueSize] 式により定義された値を返します。
    • マップ縮尺が 1:4,000,000 より大きい場合は、[ValueSize] 式により定義された値に 1 を加えた値を返します。

    マップ上でのこの式の効果は、次のようになります。

    • マップが完全に縮小されると、シンボルのベースライン サイズが使用されます。
    • マップが少し拡大されると、シンボル サイズはすべて 1 ポイント増加します。
  16. 空の行 (20 行目) に、ポインターを置いて、次のテキストを貼り付けます。
    
    vs > 2000000, 2 + ValueSize,
    vs > 1000000, 3 + ValueSize,
    vs > 500000, 4 + ValueSize,
    5 + ValueSize

    縮尺を変更するための、完成した When ステートメント

    このステートメントは、縮尺の増加に合わせて段階的に大きい数値をシンボルのベースライン サイズに追加します。 米国全体に縮小すると、指定された火災のシンボルは 17 ポイントの大きさになります。 町に拡大すると、22 ポイントの大きさ (17 + 5) に増加し、はっきりと表示されたままになります。

    注意:

    マップで、小さい縮尺とは、地面が小さく表示されるマップを意味します。 1:9,000,000 の縮尺は 1:500,000 よりも小さくなります。

    完成した式は、次の式に一致する必要があります。

    
    var Acres = $feature.DailyAcres
    var Age = $feature.FireDiscoveryAge
    var Type = $feature.IncidentTypeCategory
    var vs = $view.scale
    
    var ValueSize = When (
    Type == 'RX', 17, //Prescribed Fire
    Type == 'CX', 18, //Incident Complex
    Age == 0, 19.5, //Past 24-hour
    Acres < 1000, 18, //0-999
    Acres < 10000, 25, //1,000-9,999
    Acres < 50000, 33, //10,000-49,999
    Acres < 300000, 41, //50,000-299,999
    47 //300,000 or more
    )
    
    When(
    vs > 9000000, ValueSize,
    vs > 4000000, 1 + ValueSize,
    vs > 2000000, 2 + ValueSize,
    vs > 1000000, 3 + ValueSize,
    vs > 500000, 4 + ValueSize,
    5 + ValueSize
    )

    最小のシンボル サイズは 17、最大のシンボル サイズは 52 (47 + 5) です。 これらの数値は、後でシンボルの設定に必要になります。

  17. [実行] ボタンをクリックします。

    [出力] は、17 ~ 52 の数値である必要があります。

  18. その式に「Symbol Size」という名前を付けます。 Tab キーを押します。
  19. [完了] をクリックします。

    [スタイル] ウィンドウの [属性の選択] の下に、[USA Wildfire Incidents (Acres)][Symbol Size] の 2 つの式がリスト表示されます。 これらの値はどちらも、シンボルによって表されます。

    2 つの式を含むスタイルの変更ウィンドウ

タイプとサイズによるシンボルのスタイル設定

[スタイル] ウィンドウでは、[タイプとサイズ] スタイルを利用できます。 このオプションは、テキスト値を返すフィールド (または式) と数値を返すフィールド (または式) がある場合に表示されます。

  1. [スタイル] ウィンドウの [タイプとサイズ] スタイルで、[スタイル オプション] をクリックします。

    ウィンドウに 2 つのカードが表示されます。 それぞれの式にシンボル プロパティを適用します。

  2. [タイプ (個別値シンボル)] スタイルで、[スタイル オプション] をクリックします。

    タイプ (個別値シンボル) カードのスタイル オプション ボタン

    [USA Wildfire Incidents (Acres)] 式に基づいて以前に適用されたシンボルはすべて、引き続き存在しています。 ここで、変更する必要はありません。

    異なるカスタム シンボルを持つ 8 つの山火事シンボル クラス

  3. [キャンセル] をクリックします。
  4. [数と量 (サイズ)] カードで、[スタイル オプション] をクリックします。

    このスタイルは、[シンボル サイズ] 式の値を実際のシンボル サイズに変換します。 スタイルを構成して、返り値 17 (有効な最小値) は 17 ピクセルのシンボルで描画され、返り値 52 (有効な最大値) は 52 ピクセルのシンボルで描画されます。

  5. ヒストグラムの最上部の数値をクリックします。 「52」と入力し、Enter キーを押します。
    注意:

    頻繁に変化するライブ データを使用しているため、ヒストグラムのデフォルトの数値とデータが画像例とは異なる場合があります。

    ヒストグラムの上で、最大値が 52 に設定されました。

    ヒストグラムの上限ハンドルも移動します。 ハンドルの値以上の値は、最大サイズのシンボルで描画されます。

  6. ラベルが [52] と表示されるまで上限ハンドルをドラッグします。

    データ範囲を正しく設定したので、サイズ範囲も 17 ~ 52 に一致するようにします。

  7. [サイズ] で、[最小] を「17」ピクセルに、[最大] を「52」ピクセルに変更します。

    最小サイズを 17、最大サイズを 52 に設定します。

  8. [凡例に含める] をオフにします。
  9. [完了] を 3 回クリックします。
  10. マップ上で、画面を拡大および縮小して、シンボルのサイズを確認します。

    拡大するにつれ、シンボルが少し大きくなります。 ただし、変化はわずかです。 マップ ユーザーを邪魔したり混乱させたりする可能性があるため、この変化を目立たないようにします。 しかし、大きな縮尺でサイズをわずかに大きくすると、マップが読みやすくなります。

    以下の図は、変更されていないシンボル サイズと変更されたサイズ (拡大すると少し大きくなる) を比較しています。

    縮尺に応じてサイズが変更されるシンボル (右) と変更されないシンボル (左)

  11. マップを保存します。

これで、3 種類のカスタマイズを使用して現在の山火事インシデントがシンボル表示されました。 第一に、Arcade 式を作成して、さまざまな火災のタイプおよびサイズのカスタム シンボル クラスを作成しました。 第二に、カスタム .png シンボルをシンボル クラスに適用しました。 第三に、別の Arcade 式を作成して、さまざまな縮尺でシンボルのサイズを少し変更しました。


ラベル、延焼範囲、およびポップアップのカスタマイズ

マップには、火災の種類とサイズをマップのユーザーに示すカスタム マーカー シンボルを使用して山火事データがシンボル表示されています。 その他に、各火災の名前と焼失エリアの範囲を伝える 2 種類の情報があります。

ラベルの作成

山火事レイヤーはすでにポップアップが構成されており、ユーザーはクリックして各インシデントを表示できます。 しかし、大きな縮尺で十分なスペースがあるため、ラベルも含めることができます。 ラベルは、ユーザーが対象の火災をすばやく見つけるのに役立ちます。 シンボルと一致し、拡大したときにだけ表示される山火事レイヤーのラベルを作成します。

  1. 必要に応じて、[USA Current Wildfires] Web マップを再び開きます。
  2. [レイヤー] ウィンドウで [USA Current Wildfires – Current Incidents] レイヤーが選択されていることを確認します。 [設定] ツールバーの [ラベル] をクリックします。

    設定ツールバーのラベル

  3. [ラベル] ウィンドウで [ラベルの有効化] をオンにします。

    フィーチャのラベル作成ウィンドウのラベルの有効化

    マップにラベルが表示されます。

    火災にラベルが付けられたマップ

    これらのラベルを改善して、さまざまな縮尺や異なるマップでも見栄えが良く、読みやすいままになるようにします。

    ラベルには、文頭のみを大文字にする形式のものとすべて大文字にする形式のものがあります。 Arcade を使用して、すべてのラベルに一貫性のある書式設定が使用されるようにします。

  4. [フィーチャのラベル作成] ウィンドウの [ラベル フィールド] で、式ボタンをクリックします。

    テキスト フィールドの横にある式の編集ボタン

  5. Arcade 式エディターで、既存のテキストを削除し、「var Name = Upper($feature.IncidentName)」を入力するか、コピーして貼り付けます。

    変数の [名前] は属性テーブルから [IncidentName] 値を返しますが、大文字になるように変更します。

    また、この式を使用して、指定された火災にラベルが付けられないようにします。 このためには、変数と When ステートメントを作成します。

  6. 次の行に、以下のコードを入力するか、コピーして貼り付けます。
    
    var Type = $feature.IncidentTypeCategory
    
    When (
    Type == 'WF', Name,
    Type == 'CX', Name,
    ""
    )

    ラベルの When ステートメント

    この式は、火災が山火事または複雑な火災である場合 (When) を指定し、大文字の名前を返します。 それ以外の場合は、何も返しません。

  7. [実行] をクリックします。

    [出力] は現在のデータセットにより異なりますが、大文字の火災名か、何も返されないのいずれかになります。

  8. 式の名前を「Uppercase Name」に編集します。 Tab キーを押して [完了] をクリックします。

    マップ上のすべてのラベルが大文字に更新されます。 指定された火災にラベルが付けられなくなりました。

    大文字の火災のラベルが付けられたマップ

    次に、ラベルのスタイルを変更して、異なるマップでも機能するようにします。 暗いベースマップ上では、現在の黒いラベルは読みにくいかもしれません。 また、その他のレイヤーが複数あるマップ上では、これらのラベルが、マップ上にあるその他のフィーチャではなく、火災を示していることが不明瞭になる場合があります。

    白と赤のシンボルに合うようにラベルのスタイルを設定して、これらの問題に対処します。

  9. [フィーチャのラベル作成] ウィンドウで [ラベル スタイルの編集] をクリックします。
  10. [ラベル スタイル] ウィンドウの [色] で白を選択します。
  11. [ハロー] をオンにします。 [色] で赤色を選択します。 [サイズ][2] に設定します。

    ラベル スタイル ウィンドウのハロー設定

    ハローを使用すると、テキストの背景を制御して、マップの背景に関係なく読みやすいままにすることができます。 選択した色は、ラベルを火のシンボルにリンクするのに役立ちます。 次に、配置を調整して、どのラベルがどのシンボルに関連付けられているかが明確になるようにします。

  12. [配置] で、[下 (中央)] を選択します。

    これで、ラベルが各シンボルの直下に配置されます。

    赤と白の火災のラベルが付けられたマップ

    一部のラベルにより、一部のマップ シンボルが隠されています。 ラベルを小さくして、十分にスペースがある大きな縮尺でのみ表示されるようにします。

  13. [ラベル スタイル] ウィンドウを閉じます。
  14. [フィーチャのラベル作成][表示範囲] で、[世界] をクリックして [郡 (複数)] を選択します。

    ラベルのサイズと表示範囲の設定

  15. マップを拡大または縮小して、ラベルをテストします。

    拡大すると表示され、縮小すると非表示になります。

    少し小さくした火災のラベルが付けられたマップ

    これらのラベルにより、火のシンボルを過剰に使用することなく、情報をすばやく参照できます。

  16. マップを保存します。

延焼範囲のシンボル表示

これまで、ポイント データをマッピングして火災を表してきました。 次に、焼失地を表すポリゴン レイヤーをシンボル表示します。 このレイヤーは、火災が自宅または関心がある他の場所にどれだけ近いかをマップ ユーザーが判断するのに重要です。 業界標準に従っているシンボルを選択します。

  1. [レイヤー] ウィンドウで [USA Current Wildfires – Current Incidents] レイヤーをオフにします。
  2. [USA Current Wildfires – Current Perimeters] レイヤーをオンにして選択します。
  3. [コンテンツ] ツールバーの [凡例] をクリックします。 延焼範囲が表示されるまで、火災の多い地域にズームします。

    [凡例] ウィンドウが表示されます。 このレイヤーには、山火事の境界線と指定された火災の境界線の 2 つのシンボル クラスがあります。

    USA Current Wildfires – Current Perimeters レイヤーの 2 つのシンボル クラス

    このデフォルト シンボルを焼失エリアの標準シンボルに変更します。 シンボルの標準または規則に従うと、他のマップでの経験から想定されるビジュアルと一致するため、マップがわかりやすくなります。

  4. [設定] ツールバーの [スタイル] をクリックします。 [スタイル] ウィンドウの [タイプ (個別値シンボル)] スタイルで [スタイル オプション] をクリックします。
  5. [Wildfire Daily Fire Perimeter] の赤いシンボルをクリックします。

    Wildfire Daily Fire Perimeter シンボル クラスのシンボル

  6. [シンボル スタイル] ウィンドウで [色] をクリックします。 [色の選択] ウィンドウで、「#F7ADA4」と入力し、[完了] をクリックします。
  7. [シンボル スタイル] ウィンドウの [塗りつぶしの透過表示] に「50」と入力します。

    シンボルの塗りつぶし色を 16 進数コードで定義し、透過表示を 50% に設定します。

  8. [アウトライン色] をクリックします。 [色の選択] ウィンドウで、「#E60C0C」と入力し、[完了] をクリックします。
  9. [シンボル スタイル] ウィンドウの [アウトラインの透過表示] で、「0」と入力します。

    シンボルのアウトライン色を 16 進数コードで定義し、透過表示を 0% に設定します。

  10. [スタイル オプション] ウィンドウで、[Prescribed Fire] のシンボルをクリックします。 [シンボル スタイル] ウィンドウで、次のパラメーターを設定します。
    • [塗りつぶし色] に「#E8BD71」と入力します。
    • [塗りつぶしの透過表示] で、スライダーを [50] パーセントに移動します。
    • [アウトライン色] に「#E5A53E」と入力します。
    • [アウトラインの透過表示]で、スライダーを [0] パーセントに移動します。

    [USA Current Wildfires - Current Perimeters] レイヤーのカテゴリのスタイルが構成されます。

    2 つのシンボル クラスの新しいシンボル

  11. [スタイル オプション] ウィンドウで [完了] を 2 回クリックします。

    延焼範囲が業界標準に合うようにシンボル表示されるようになります。

    マップ上でスタイル設定された延焼範囲レイヤー

  12. マップを保存します。

ポップアップのカスタマイズ

ポップアップは Web カートグラフィにとって重要な要素です。 特定のマップの目的に必要な情報を明確に伝える効果的なポップアップをカスタマイズします。 [Current Incidents] レイヤーと [Current Perimeters] レイヤーにはポップアップがすでに構成されていますが、Current Perimeters ポップアップを改善して、NULL 値をうまく処理できるようにすることができます。

  1. マップ上で延焼範囲ポリゴンのいずれかをクリックして、ポップアップを表示します。

    テキスト「Acres Burned: 86,963.12」を含む Crazy Creek Incident のポップアップ

    ポップアップには焼失面積が含まれます。 ただし、火災のサイズが不明の場合もあります。 これは、特に新しい火災でよく見られます。 このような場合、ポップアップには焼失したエリアの数値が表示されません。

    焼失面積がゼロであることを示すポップアップを表示しないようにします。 ほとんどの場合は焼失面積を返すが、利用できる数値がない場合には代わりにテキスト「Not Available」を返す最終的な Arcade 式を 1 つ作成します。

  2. ポップアップを閉じます。
  3. [レイヤー] ウィンドウで [USA Current Wildfires – Current Perimeters] レイヤーがアクティブになっていることを確認します。 [設定] ツールバーの [ポップアップ] をクリックします。
  4. [ポップアップ] ウィンドウで [属性式] をクリックします。

    ポップアップ ウィンドウのオプションにある属性式

  5. [属性式] ウィンドウで [式の追加] をクリックします。

    追加ボタン

  6. [式] ウィンドウで、既存のテキストを削除し、「var GISAcres = ! IsEmpty($feature.GISAcres)」をコピーして貼り付けます。

    この変数は、[GISAcres] フィールドが空ではないことをテストして確認します。 [!] は否定を意味します。

  7. Enter を 2 回押して「return GISAcres」と入力します。 [実行] をクリックします。

    結果が [true] の場合、テスト フィーチャで [GISAcres] フィールドが空でないことを意味します。つまり、そのフィールドには焼失した面積の値があります。

  8. [return GISAcres] を削除して、次のテキストをコピーして貼り付けます。

    If (GISAcres) Return text($feature["GISAcres"],'#,###.##')

    GISAcres の式

    この行は、[GISArcres] 変数が true の場合、[GISAcres] フィールドのテキストを返し、桁区切り記号と小数点以下第 2 位までを使用した数値として書式設定することを示しています。 ほとんどの場合、数値が返されます。 ただし、[GISAcres] 変数が true ではなく false を返した場合のケースをカバーするように If ステートメントを作成する必要があります。

  9. 次の行に、「Return "Not Available"」を入力します。
  10. [実行] をクリックします。

    結果は、数値またはテキスト [Not Available] のいずれかになります。

  11. 式の名前を「Acreage」に変更します。

    完成した式

    完成した式は、次の式に一致する必要があります。

    
    var GISAcres = ! IsEmpty($feature.GISAcres)
    
    If (GISAcres) Return text($feature["GISAcres"],'#,###.##')
    return "Not Available"
  12. [完了] をクリックします。

    次に、新しい式をポップアップで使用します。

  13. [属性式] ウィンドウの [戻る] 矢印をクリックします。
  14. [ポップアップ] ウィンドウで、[テキスト] をクリックし、[テキストの編集] をクリックします。

    構成ボタン

  15. テキストの編集ウィンドウの 3 行目にある [{GISAcres}] を削除します。
  16. [Acres Burned:] の後にポインターを置き、[フィールド名の追加] ボタンをクリックします。

    フィールド名の追加ボタン

  17. [Acreage{expression/exp1}] をクリックします。

    式がポップアップのコンテンツ テキストに追加されます。

  18. [OK] をクリックします。

    マップ上で、延焼範囲フィーチャのいくつかをクリックします。 [Acres Burned] 行は、以前のほとんどのフィーチャと同じように見えます。

    しかし、[Acres Burned] の値がない火災について、焼失面積が利用できないことをポップアップが明確に示すようになりました。

  19. ポップアップを閉じ、[ポップアップ] ウィンドウを閉じます。
  20. [レイヤー] ウィンドウで [USA Current Wildfires – Current Incidents] レイヤーをオンにして、完成したマップを探索します。

    完成したマップの詳細

  21. マップを保存します。

このチュートリアルでは、Web マップのシンボルをカスタマイズする方法を学習しました。 カスタム グラフィックスをマップ シンボルとして使用しました。 Arcade を使用して、複数のフィールドの情報が表示されるようにデータを分類しました。 シンボルのサイズを制御して、どの縮尺でも見栄えが良くなるようにしました。 火災のラベルと範囲ポリゴンをスタイル設定し、一層正確な情報を表示するようポップアップを構成して完成しました。

データセットやマップはどれも伝える必要があるものが多少異なるため、火災カートグラフィにはある程度のカスタマイズが必要になります。 [USA Current Wildfires] レイヤーに適用した設計の考慮事項と手法は、多数のマップに関連しています。

カートグラフィのその他のチュートリアルについては、カートグラフィの概要ページをご参照ください。

他のチュートリアルについては、チュートリアル ギャラリーをご覧ください。