4.2 マップ・ビジュアライゼーションの使用

Spatial Studioでは、複数のタイプのマップ・ビジュアライゼーションがサポートされています。

次のタイプのマップ・ビジュアライゼーションがサポートされています:

  • ジオメトリ・データ・ビジュアライゼーション:
    • 点タイプ
    • 線タイプ
    • ポリゴン/領域タイプ
  • GeoRasterデータ・ビジュアライゼーション
  • H3集計を使用した六角形データ・ビジュアライゼーション

次の各項では、これらのビジュアライゼーションの開始方法について説明します。

4.2.1 点マップのビジュアル化

Spatial Studioを使用すると、地理データの位置をマップ上の点としてビジュアル化できます。
地理データをマップとして表示するには、次のステップを実行する必要があります。
この手順では、「アクティブ・プロジェクト」ページでビジュアライゼーション用のデータセットがプロジェクトにすでに追加されていることを前提としています。
  1. 「アクティブ・プロジェクト」ページの左ペインで、「ビジュアライゼーション」タブをクリックします。
    様々なビジュアライゼーション・オプションがリスト表示されます。
  2. リストから「マップ」をクリックして右側のビジュアライゼーション・ウィンドウにドラッグし、マップ・ビジュアライゼーションを作成します。
    データ・ビジュアライゼーション・レイヤーがない、デフォルトのベースマップが表示されます。
  3. 「アクティブ・プロジェクト」ページの左ペインで、「データ」タブをクリックします。
    プロジェクトにロードされているすべてのデータセットがリスト表示されます。
  4. リストから目的のデータセットをクリックして右側のマップ・ビューにドラッグします。

    ヒント:

    1つのアクションで複数のデータセットをマップ・ビューにドラッグ・アンド・ドロップできます。
    マップ・レイヤーには、ビジュアライゼーションのデータ点が表示されます。

    図4-4 マップ・ビジュアライゼーション

    図4-4の説明が続きます
    「図4-4 マップ・ビジュアライゼーション」の説明
  5. 必要に応じて、マップ・ツールバーの「設定」をクリックし、「ビジュアライゼーション設定」ダイアログで「ミニマップの表示」を有効にできます。

    前述の図に示すように、メインマップの概要を示すインセット・マップが表示されます。

    関連項目:

    様々なレンダリング・スタイルを使用してマップをレンダリングするには、「点レイヤーへのレンダリング・スタイルの適用」を参照してください。

4.2.2 GeoRasterデータ・ビジュアライゼーションについて

Oracle Spatial Studioを使用すると、Oracle Databaseの空間GeoRasterタイプに格納されているGeoRasterデータをビジュアル化できます。

衛星画像、小型無人機からの航空写真、グリッド入りデータなど、地理参照ラスター・データは、アプリケーションのマッピングに非常に役立ちます。直接分析したり、追加コンテキストの背景マップとしてベクター・データを重ねることができます。GeoRasterデータの詳細は、Spatial GeoRaster開発者ガイドを参照してください。

4.2.2.1 マップ上のGeoRasterデータのビジュアル化

次のステップを使用して、地図上のGeoRasterデータをビジュアル化できます。
この手順では、「アクティブ・プロジェクト」ページでGeoRasterデータセットがプロジェクトにすでに追加されていることを前提としています。GeoRasterデータセットを作成するには、詳細について、GeoRasterデータセットの作成を参照してください。
  1. 「アクティブ・プロジェクト」ページの左ペインで、「ビジュアライゼーション」タブをクリックします。
    様々なビジュアライゼーション・オプションがリスト表示されます。
  2. リストから「マップ」をクリックして右側のビジュアライゼーション・ウィンドウにドラッグし、マップ・ビジュアライゼーションを作成します。
    データ・ビジュアライゼーション・レイヤーがない、デフォルトのベースマップが表示されます。
  3. 「アクティブ・プロジェクト」ページの左ペインで、「データ」タブをクリックします。
    プロジェクトにロードされているすべてのデータセットがリスト表示されます。
  4. リストから目的のGeoRasterデータセットをクリックして右側のマップ・ビューにドラッグします。
    次のように、GeoRasterレイヤーがマップ上に作成されます。

    図4-5 GeoRasterデータ・ビジュアライゼーション

    図4-5の説明が続きます
    「図4-5 GeoRasterデータ・ビジュアライゼーション」の説明

    右上にある「X」アイコンをクリックして、マップ・ビジュアライゼーションを削除できます。

    ヒント:

    「スタイル」タブおよびラスター・タブを使用してレイヤー設定を変更することで、ビジュアル表示を拡張できます。詳細は、GeoRasterレイヤーへのスタイルの適用を参照してください。

4.2.3 H3集計を使用した六角形データ・ビジュアライゼーションについて

Oracle Spatial Studioを使用すると、H3 (六角形の階層空間索引)集計とともに六角形を使用して、点タイプのマップ・データをビジュアル化できます。

マップ・データを六角形としてビジュアル化すると、次のような利点があります。
  • より大きな点データセットのパターンまたはクラスタを識別するのに役立ちます
  • 六角形セルのように、データの解釈が容易になり、すべての点が六角形の中心点から等距離になります
  • 六角形セルは、保持しているデータ点の数に基づいて色分けされるため、データ・パターンを簡単に理解できるようになります

次の各項では、Spatial StudioでH3集計を使用する方法について説明します。

4.2.3.1 H3集計データセットの準備

次のステップを実行して、H3集計データセットを準備できます。
この手順では、ジオメトリ・データ列を含むデータセットがすでにSpatial Studioにロードされていることを前提としています。
  1. 「データセット」ページに移動します。
    Spatial Studioにロードされたすべてのデータセットがこのページにリスト表示されます。
  2. 必要なデータセットの名前を選択し、右クリックしてコンテキスト・メニューを開きます。
  3. 「準備」サブメニューの「H3索引の作成」をクリックします。
    次のように、H3索引の作成ダイアログが開きます。

    図4-6 H3集計データセットの作成

    図4-6の説明が続きます
    「図4-6 H3集計データセットの作成」の説明
  4. H3集計用のジオメトリ列を選択します。
  5. 次を使用して集計オプションをクリックします。
    集計の値は、次のとおりです。
    • カウント: 各六角形のデータ点の数をバケット化します
    • 合計: 特定の六角形内にあるすべての点について、データ・セットの特定の列の値を合計します
  6. データセットの集計に「合計」を選択した場合は、合計する列を選択します。そのようなリポジトリがない場合は、このステップをスキップできます。
  7. 必要に応じて、H3索引名を変更します。
  8. 「OK」をクリックします。
    H3集計データセットが作成され、「データセット」ページに新しい行として追加されます。

4.2.3.2 H3集計を使用したデータのビジュアル化

H3集計を使用してマップ・データをビジュアル化するには、次のステップを実行する必要があります。
この手順では、「アクティブ・プロジェクト」ページでH3集計データセットがプロジェクトにすでに追加されていることを前提としています。

H3集計のデータセットを準備するには、詳細について、H3集計データセットの準備を参照してください。

  1. 「アクティブ・プロジェクト」ページの左ペインで、「ビジュアライゼーション」タブをクリックします。
    様々なビジュアライゼーション・オプションがリスト表示されます。
  2. リストから「マップ」をクリックして右側のビジュアライゼーション・ウィンドウにドラッグし、マップ・ビジュアライゼーションを作成します。
    データ・ビジュアライゼーション・レイヤーがない、デフォルトのベースマップが表示されます。
  3. 「アクティブ・プロジェクト」ページの左ペインで、「データ」タブをクリックします。
    プロジェクトにロードされているすべてのデータセットがリスト表示されます。
  4. リストから目的のH3集計データセットをクリックして右側のマップ・ビューにドラッグします。
    次のように、データ点の六角形ビニングを示すレイヤーがマップ上に表示されます。

    図4-7 六角形ビニングを使用したマップ・データ・ビジュアライゼーション

    図4-7の説明が続きます。
    「図4-7 六角形ビニングを使用したマップ・データ・ビジュアライゼーション」の説明

    H3マップ・レイヤーにスタイルを適用する方法の詳細は、H3集計によるマップへのデータ駆動スタイルの適用を参照してください。

4.2.4 カスタム・マップ・リージョンのビジュアライゼーションについて

Oracle Spatial Studioを使用すると、多角形タイプのジオメトリをサポートするマップ・レイヤーにカスタム・マップ・リージョンを作成できます。

複数の多角形の形状を選択し、新しいキー値と組み合せることで、新しいマップ・リージョンを作成できます。その後、新しいキー値のこの新しいマップ・リージョンを、他のすべてのカスタム・マップ・リージョンを含むターゲット・データセットに追加または挿入したり、新しいデータセットとして保存できます。

このような新しく作成されたカスタム形状は、ターゲット・データセットの基礎となるデータベース表に保持されるため、他のデータセットと同様にデータ・ビジュアライゼーションまたはレポートに使用できます。

この機能サポートの主な特性は次のとおりです。
  • ソース・データセット(多角形形状を選択してカスタム・マップ・リージョンに結合するデータセット)は、常にOracle Database表に基づいている必要があります。

    OracleビューおよびStudioの分析からのデータセットは現在サポートされていません。

  • 新しいリージョンは隣接してもしなくてもかまいません。
  • ターゲット・データセット(新しく作成したカスタム・マップ・リージョンを格納するデータセット)では、その地理参照系に格納されます。
  • ターゲット・データセットは、新しいデータセットにすることも、現在のプロジェクト内の既存のデータセットにすることもできます。新しいデータセットの場合、接続、表名、データセット名、表のキー列名を指定し、新しいリージョンのキー値を指定する必要があります。
  • キー値と新しいジオメトリ値のみが新しく作成されたターゲット表に挿入されます。既存のデータセットに新しいリージョンを挿入する場合は、データセットのすべての属性に値を指定することも、必要な属性のみに値を指定することもできます。
  • 既存のターゲット・データセットは、次の要件を満たしている必要があります:
    • ターゲット・データセットのジオメトリ・メタデータ情報は、SDO_GEOM_METADATAビューで使用できる必要があります。
    • ジオメトリ列に空間索引が存在する必要があります。ジオメトリ列に空間索引が作成されていない場合、ターゲット・データ・レイヤーをマップ・ビジュアライゼーション・キャンバスにドラッグできないことに注意してください。

    ノート:

    リリース22.3より前では、これらのターゲット・データセット要件はSQL文を使用して実装されていました。ただし、リリース22.3以降では、リージョンを格納するために新しいデータセットが作成された場合、Spatial Studioではジオメトリ・メタデータの更新および空間索引の作成が自動的に処理されます。
  • 新しいターゲット・データセットの場合、作成後に最初のリージョンが挿入されると、データセットは現在のアクティブなプロジェクトに手動で追加したり、レイヤーとしてマップ・ビジュアライゼーションに追加できます。後続の処理では、この新しいターゲットデータセットは既存のターゲット・データセットとして処理されます。

4.2.4.1 ビジュアライゼーション用のカスタム・リージョンの作成

次のステップを使用して、多角形タイプのジオメトリを含むソース・データセットにカスタム多角形リージョンを作成し、ターゲット・データセットに適用できます。
この手順では、ソースおよびターゲットのデータセットが「アクティブ・プロジェクト」ページのプロジェクトにすでに追加されていることを前提としています。
  1. 「アクティブ・プロジェクト」ページの左ペインで、「ビジュアライゼーション」タブをクリックします。
    様々なビジュアライゼーション・オプションがリスト表示されます。
  2. リストから「マップ」をクリックして右側のビジュアライゼーション・ウィンドウにドラッグし、マップ・ビジュアライゼーションを作成します。
    データ・ビジュアライゼーション・レイヤーがない、デフォルトのベースマップが表示されます。
  3. 「アクティブ・プロジェクト」ページの左ペインで、「データ」タブをクリックします。
    プロジェクトにロードされているすべてのデータセットがリスト表示されます。
  4. リストから目的のソース・データセットをクリックして右側のマップ・ビューにドラッグします。
    多角形の形状が含まれるマップ・レイヤーが作成されます。
  5. 次のステップを必要な回数だけ実行して、必要なカスタム・リージョンを作成します。
    1. マップ・ツール・バーの多角形選択ツールを使用して、集計用のリージョンを選択します。

      図4-8 カスタム・マップ形状の作成

      図4-8の説明が続きます。
      「図4-8 カスタム・マップ形状の作成」の説明

      ヒント:

      あるいは、Windowsシステムではキーボードのショートカット[Ctrl] + クリックを使用して複数の多角形を選択することもできます。
    2. マップ・ツールバーのcustom_region_icon (「アクション」アイコン)をクリックし、「カスタム・リージョンの作成」を選択します。
      次のように、「形状の組合せ」ダイアログが開きます:

      図4-9 カスタム・リージョンの作成

      図4-9の説明が続きます
      「図4-9 カスタム・リージョンの作成」の説明
    3. 「次の形状の組合せ」ドロップダウン・リストからソース・データセットを選択します。
    4. 「ターゲット・データセット」で、次の目的のオプションのいずれかを選択します:
      • 新規作成: 新しいターゲット・データセットを作成するには:
        1. 新しいターゲット・データセットについて、「接続」「表名」および「データセット名」の詳細を入力します。
        2. カスタム・マップ・リージョンを一意に識別する「キー列名」および「キー値」を入力します。
      • 既存への追加: カスタム多角形形状を既存のターゲット・データセットに追加するには:
        1. 「結果をデータセットに追加します」ドロップダウン・リストから既存のターゲット・データセットを選択します。
        2. 「新規形状属性の入力」をクリックし、ターゲット・データセットの「キー列名」に一意キー値を入力します。
    5. 必要に応じて、「選択したアイテムのみ含めます」トグル・ボタンをオンまたはオフに切り替えます:

      注意:

      「選択した項目のみを含める」をオフにした場合、ソース・データセット全体を1つのリージョンに集計できます。この場合、プロセスはソース・データセット内の機能の数に応じて長時間実行されることがあります。そのため、このオプションは必要な場合にのみ使用してください。
    6. 「OK」をクリックしてカスタム・マップ・リージョンを作成します。
  6. 右側にあるマップ・ビューにターゲット・データセットをドラッグ・アンド・ドロップして、新しく作成したカスタム・リージョンを表示します。
    次の図に、ターゲット・データセットに挿入された新しく定義されたカスタム・リージョンを示します。

    図4-10 ターゲット・データセットでのカスタム形状の表示

    図4-10の説明が続きます
    「図4-10 ターゲット・データセットでのカスタム形状の表示」の説明

4.2.4.2 ターゲット・データセットの作成

ターゲット・データセットを作成するには2つの方法があります:
  • Spatial Studioによる: 前の項の新しいターゲット・データセットの作成オプションを参照してください。キー値は対応するジオメトリ(カスタム・マップ・リージョン)のキー列名に格納されるため、ターゲット・データセットのキー列名を指定する必要があります。
  • 手動プロセスによる: 次のステップを実行してデータセットを手動で作成します:
  1. SQL Developerなどのツールを使用して、Oracleデータベース・スキーマに接続します。
  2. 次のように、空間表を作成します。
    CREATE TABLE affected_regions (region_id NUMBER PRIMARY KEY, geom SDO_GEOMETRY);
  3. USER_SDO_GEOM_METADATAビューに空間表を挿入します。たとえば:
    INSERT INTO USER_SDO_GEOM_METADATA VALUES (
    'affected_regions', -- TABLE_NAME
    'geom', -- COLUMN_NAME
    SDO_DIM_ARRAY -- DIMINFO attribute for storing dimension bounds, 0.5 m as tolerance
    (SDO_DIM_ELEMENT ('LONGITUDE', -180, 180, 0.5 ),
     SDO_DIM_ELEMENT ( 'LATITUDE', -90, 90, 0.5 )), 
    4326 -- SRID value for specifying a geodetic coordinate system
    );
    COMMIT;
  4. SDO_GEOMETRY列に対して空間索引を作成します。
    CREATE INDEX affected_regions_sidx ON affected_regions(geom) INDEXTYPE IS MDSYS.SPATIAL_INDEX_V2;
  5. これまでのステップで使用したデータベース・スキーマからSpatial Studioにデータセットを作成します。
    必要なターゲット・データセットが作成されます。このデータ・レイヤーを使用して、新しく作成したカスタム・マップ・リージョンを適用できます。

4.2.5 時空間データセットのビジュアル化

Oracle Spatial Studioリリース23.2.0以降では、時空間データセットはCesiumタイムライン・ウィジェットを使用してビジュアル化できます。

次の各項では、Cesiumタイムライン・ウィジェットとサポートされるビジュアライゼーションの詳細について説明しています。

4.2.5.1 Cesiumタイムライン・ウィジェットの概要

Spatial Studioのリリース23.2以降には、新しいスタンドアロンのCesiumタイムライン・ウィジェットが用意されています。

Spatial StudioのCesiumタイムライン・ウィジェットには、次の機能があります:

  • データセットのフィルタリング。
  • あらゆる種類の時空間データ(ライブ、履歴、移動オブジェクトなど)を制御するハブとして機能します。

    唯一の例外は、GeoJSON URLベースのデータセットです。こうしたデータセットはCesiumタイムラインに対応していません。外部URLには時間値に対応するGeoJSONを提供する機能がないことがあり、そのかわりに新しい値を提供するためにx秒ごとに単にリフレッシュされるためです。

  • 異なるデータセット・タイプの複数のレイヤーを一度に追加して、必要に応じて時間同期できるスケーラブルなソリューションを提供します。

次の図は、Spatial Studioのマップ・ビジュアライゼーションでのCesiumタイムライン・ウィジェットを示しています。

図4-11 Cesiumタイムライン・ウィジェット

図4-11の説明が続きます
「図4-11 Cesiumタイムライン・ウィジェット」の説明

Cesiumタイムラインの主な概念は次のとおりです:

  • Cesiumタイムラインのモード: タイムラインは、2つの動作モードをサポートします。ライブ・データセットに対応するレイヤーが1つでもタイムラインをリスニングしている場合、動作モードはLIVEです。それ以外の場合、動作モードは常にHISTORICになります。
  • Cesiumクロックの開始時刻: 現在のタイムラインの範囲の開始ポイント。これは、Cesiumクロックが刻時を開始する時点です。
  • Cesiumクロックの停止時刻: 現在のタイムラインの範囲の終了ポイント。これは、Cesiumクロックが刻時を停止するまでの時点です。ただし、終了に達したときのタイムラインの動作は、モードによって異なります:
    • LIVE: タイムラインは、現在時刻に従って開始時刻と停止時刻の値を更新することで進行します。
    • HISTORIC: タイムラインは開始時刻にループ・バックします。
  • Cesiumクロックの現在時刻: クロックの現在時間枠。Cesiumクロックの開始時刻から始まり、500msごとに刻時します。オプションで、タイムライン上のポインタを手動でスライドして現在時刻を設定できます。

    また、時空間データセットのタイプに関して、次の点にも注意してください:

    • ライブ時空間データセット: これに該当するデータセットのCesiumクロックの現在時刻の値は、常に現在のUTC時間を指すように構成されます(手動で変更していない場合)。
    • 非ライブ時空間データセット: タイムラインに別のデータセットが追加されていない場合、そのようなデータセットのCesiumクロックは、その範囲が自動的にタイムスタンプ列の最小値と最大値に設定され、その最小値からCesiumクロックの現在時刻が開始されます。
  • 乗数: クロックが刻時する間隔(500ms)を乗算して、それに応じてクロックを早送りまたは早戻しします。
  • タイムラインの再生コントロール:
    1. 一時停止: タイムラインの刻時イベントのアニメーションとイベントのスローを停止します。タイムラインは、現在のタイムライン枠で一時停止します。
    2. 順再生ボタンと逆再生ボタン: タイムラインを選択した方向にアニメーションして、乗数値(+/- Multiplier * 500ms)を含めます
  • Cesiumタイムラインの設定: タイムラインの設定を制御できます。

4.2.5.2 Cesiumタイムラインの設定の構成

Cesiumタイムラインのカスタム設定を構成できます。

次のステップを実行して、マップ・ビジュアライゼーションでCesiumタイムラインの設定を構成します。
この手順では、時空間データセットにリンクされたプロジェクトがあり、そのプロジェクトが「アクティブ・プロジェクト」ページで開いていることを前提としています。
  1. マップ・ツール・バーの設定アイコンをクリックします。
  2. 「タイムラインの表示」トグルをONに切り替え、「OK」をクリックします。
    Cesiumタイムライン・ウィジェットは、マップ・ビジュアライゼーション・キャンバスの下部に表示されます。
  3. タイムラインのtimeline_settings_iconをクリックして、Cesiumタイムラインの設定を構成します。

    次に示すように、タイムラインの設定ダイアログが開きます:

    図4-12 タイムラインの設定

    図4-12の説明が続きます
    「図4-12 タイムラインの設定」の説明
    1. 「開始時間」「停止時間」を選択して、タイムライン範囲を設定します。
    2. 「乗数値を入力または選択します」リスト・ボックスから、乗数値を入力または選択します。

      事前設定の(秒、分、時間、日、週、月、年)乗数を使用するか、1515xなどの値を入力できます。

    3. Cesiumタイムラインに現在時刻とタイムライン・ラベルを表示する、「タイム・ゾーンの表示」を選択します。
    4. 必要に応じて、「時間を自動非表示」ONに切り替えます。
      時間の自動非表示を選択した場合、選択したタイムライン範囲が1週間を超えると、タイムライン・ラベルの時間値が非表示になります。
    5. 「適用」をクリックします。

4.2.5.3 マップ・レイヤーとタイムラインについて

時空間マップ・レイヤーとCesiumタイムラインについて説明します。

  • タイムラインにマップ・レイヤーを追加するには、まず、そのマップ・レイヤーの基礎となるデータセットで時空間を有効にする必要があります。詳細は、「データセットの時空間の有効化」を参照してください。
  • その後、次のステップを実行すると、Cesiumタイムラインに1つ以上の時空間マップ・レイヤーを追加できます。
    • マップ・ツールバーの「設定」アイコンをクリックし、「タイムラインの表示」トグルをONに切り替えて、マップ・ビジュアライゼーション・キャンバスの下部にCesiumタイムライン・ウィジェットを表示します。
    • 次に示すように、マップ・レイヤーのコンテキスト・メニューで「タイムラインに追加」オプションを選択します。

      図4-13 タイムラインへのマップ・レイヤーの追加

      図4-13の説明が続きます
      「図4-13 タイムラインへのマップ・レイヤーの追加」の説明

      タイムラインにマップ・レイヤーが追加されます。

  • タイムラインに複数のマップ・レイヤーを追加する場合は、次の点に注意してください:
    • 該当する各マップ・レイヤーは、個別にタイムライン・イベントに応答します。そのため、マップ・レイヤーごとに独自のプロパティ(リフレッシュ時間など)を設定して、それに応じてリスナー・イベントに応答するように構成できます。タイムライン・イベントは500msの刻時間隔ごとにスローされるため、そうしたイベントに応答するタイミングについて、各レイヤーには独自のリフレッシュ時間(500msを超える)を設定できます。
    • また、履歴タイムスタンプ値が含まれてるデータセットのマップ・レイヤーの場合、すべてのレイヤーは現在のタイムライン範囲に応じてループ・バックします。これは、タイムラインに追加された最初のレイヤーと一致しますが、タイムライン設定で設定したカスタム範囲にすることもできます。
    • ライブ・データセットに対応するレイヤーがタイムラインに追加されると、すでに履歴データセットのレイヤーがタイムラインをリスニングしていても、タイムラインはループ・バックすることなく進行を続けます。
  • すでにタイムラインに追加されているマップ・レイヤーの基礎となるデータセットのプロパティに、次のような変更を加えた場合:
      • 「時空間の有効化」トグルを無効にする
      • 「データはライブです」「移動オブジェクト」を切り替える

      それにより、タイムラインからリスナーが削除されます。このような場合は、タイムラインからレイヤーを削除して、プロパティの変更後に再度追加することをお薦めします。

    • 標準フィルタリング・データセットの「時間単位」プロパティを変更すると、その変更はすぐに反映され、マップ・ビジュアライゼーションのフィルタリングは新しい「時間単位」値に従うようになります。

4.2.5.4 ライブ移動オブジェクト・データセットのビジュアル化

Spatial Studioのマップでは、ライブ移動オブジェクトをビジュアル化できます。

次の手順では、このようなデータセットの時空間を有効にしており、「アクティブ・プロジェクト」ページでデータセットがすでにプロジェクトに追加されていることを前提としています。詳細は、「ライブ移動オブジェクト・データセットの時空間の構成」を参照してください。
  1. 「アクティブ・プロジェクト」ページの左ペインで、「ビジュアライゼーション」タブをクリックします。
    様々なビジュアライゼーション・オプションがリスト表示されます。
  2. リストから「マップ」をクリックして右側のビジュアライゼーション・ウィンドウにドラッグし、マップ・ビジュアライゼーションを作成します。
    データ・ビジュアライゼーション・レイヤーがない、デフォルトのベースマップが表示されます。
  3. 「アクティブ・プロジェクト」ページの左ペインで、「データ」タブをクリックします。
    プロジェクトにロードされているすべてのデータセットがリスト表示されます。
  4. リストから目的の時空間データセットをクリックして右側のマップ・ビューにドラッグします。
    そのデータセットに属する2つのマップ・レイヤーがマップ上に作成されます。移動オブジェクトのトレイルを表す2番目のレイヤーがSpatial Studioに自動的に追加されます。この2つのマップ・レイヤーの詳細は、「移動オブジェクトの時空間マップ・レイヤーの特性」を参照してください。
  5. マップ・ツール・バーの設定アイコンをクリックします。
  6. 「タイムラインの表示」トグルをONに切り替え、「OK」をクリックします。
    Cesiumタイムライン・ウィジェットは、マップ・ビジュアライゼーション・キャンバスの下部に表示されます。ただし、この段階ではタイムラインは動作していません。
  7. 「レイヤー」リストの「データ」タブで、プライマリ・レイヤーに対する「メニュー」アイコンをクリックして、「タイムラインに追加」をクリックします。
    タイムラインにマップ・レイヤーを追加すると、現在のUTC時間がポイントされ、レイヤーはタイムライン・イベントをリスニングするようになります。ただし、この段階ではタイムラインは動作していません。オプションで、このステップを繰り返して、タイムラインに複数(異なる時空間データセット)のレイヤーを追加し、そのイベントをリスニングします。
  8. マップ・レイヤーのアニメーションは、「移動オブジェクト・データセットのアニメーションの構成」のステップに従って構成します。

    図4-14 アニメーション設定の構成

    図4-14の説明が続きます
    「図4-14 アニメーション設定の構成」の説明
  9. マップ・レイヤーのコンテキスト・メニューで、「タイムラインを範囲にズーム」を選択します。

    タイムラインは、現在のUTC時間に再フォーカスされます。

  10. オプションで、タイムライン設定からカスタムの開始時間停止時間乗数などを構成します。また、Cesiumタイムライン・コントロールを使用して、現在時刻のポインタを別の時間枠にスライドさせることもできます。
  11. オプションで、マップ・レイヤーによるCesiumタイムラインのリスニングを停止する場合は、マップ・レイヤーのコンテキスト・メニューで「タイムラインから削除」を選択します。

4.2.5.5 ライブおよび非移動オブジェクト・データセットのビジュアル化

継続的にリアルタイム・データが挿入されていても、データ・エンティティの場所が変化しない時空間データセットをビジュアル化できます。

次の手順では、このようなデータセットの時空間を有効にしており、「アクティブ・プロジェクト」ページでデータセットがすでにプロジェクトに追加されていることを前提としています。詳細は、「ライブおよび非移動オブジェクト・データセットの時空間の構成」を参照してください。
  1. 「アクティブ・プロジェクト」ページの左ペインで、「ビジュアライゼーション」タブをクリックします。
    様々なビジュアライゼーション・オプションがリスト表示されます。
  2. リストから「マップ」をクリックして右側のビジュアライゼーション・ウィンドウにドラッグし、マップ・ビジュアライゼーションを作成します。
    データ・ビジュアライゼーション・レイヤーがない、デフォルトのベースマップが表示されます。
  3. 「アクティブ・プロジェクト」ページの左ペインで、「データ」タブをクリックします。
    プロジェクトにロードされているすべてのデータセットがリスト表示されます。
  4. リストから目的の時空間データセットをクリックして右側のマップ・ビューにドラッグします。
    そのデータセットに属する2つのマップ・レイヤーがマップ上に作成されます。
  5. マップ・ツール・バーの設定アイコンをクリックします。
  6. 「タイムラインの表示」トグルをONに切り替え、「OK」をクリックします。
    Cesiumタイムライン・ウィジェットは、マップ・ビジュアライゼーション・キャンバスの下部に表示されます。ただし、この段階ではタイムラインは動作していません。
  7. 「レイヤー」リストの「データ」タブで、プライマリ・レイヤーに対する「メニュー」アイコンをクリックして、「タイムラインに追加」をクリックします。
  8. マップ・レイヤーのコンテキスト・メニューから、「アニメーションの構成」を選択します。
  9. 「自動データセット・リフレッシュに基づいてレイヤーをアニメーション化」をオンにします。
    データセットは、Cesiumクロック・イベントによってアニメーション表示されます。
  10. バックエンドからのデータ・リフレッシュの頻度を指定するには、「自動リフレッシュ間の時間」を指定します。この構成により、時間アニメーションの滑らかさと速度も決まります。
    また、次の点にも注意してください。
    • Spatial Studioでは、ビジュアライゼーションに使用される時空間データセットで構成された「データ変更率」の値と同じデフォルトの頻度値が表示されます。
    • Cesiumクロックの現在時刻(現在のUTC時間の値を指す)と乗数値(デフォルトは1x)に従って、ジオメトリの1つのデータセット・レイヤーのみがアニメーション化(属性変更)されます。データセットはストリーミング・エンティティのため、事前にデータはありません。したがって、デフォルトのCesiumクロック値は変更できません。x分ごとにデータが更新されることが予想される場合は、「自動リフレッシュ間の時間」x分に構成しますが、Cesiumタイムライン範囲または乗数値は変更しないでください。
  11. マップ・レイヤーのコンテキスト・メニューで「タイムラインを範囲にズーム」を選択して、タイムラインを現在のクロック時間と1x乗数にリセットします。
    設定された終了時間に達すると、タイムラインは前に進み続け、ループバックされません。
  12. オプションで、マップ・レイヤーによるCesiumタイムラインのリスニングを停止する場合は、マップ・レイヤーのコンテキスト・メニューで「タイムラインから削除」を選択します。

4.2.5.6 非ライブ移動オブジェクト・データセットのビジュアル化

Spatial Studioのマップでは、履歴タイムスタンプ値が含まれた移動オブジェクトをビジュアル化できます。

次の手順では、このようなデータセットの時空間を有効にしており、「アクティブ・プロジェクト」ページでデータセットがすでにプロジェクトに追加されていることを前提としています。詳細は、「非ライブ移動オブジェクト・データセットの時空間の構成」を参照してください。
  1. 「アクティブ・プロジェクト」ページの左ペインで、「ビジュアライゼーション」タブをクリックします。
    様々なビジュアライゼーション・オプションがリスト表示されます。
  2. リストから「マップ」をクリックして右側のビジュアライゼーション・ウィンドウにドラッグし、マップ・ビジュアライゼーションを作成します。
    データ・ビジュアライゼーション・レイヤーがない、デフォルトのベースマップが表示されます。
  3. 「アクティブ・プロジェクト」ページの左ペインで、「データ」タブをクリックします。
    プロジェクトにロードされているすべてのデータセットがリスト表示されます。
  4. リストから目的の時空間データセットをクリックして右側のマップ・ビューにドラッグします。
    そのデータセットに属する2つのマップ・レイヤーがマップ上に作成されます。移動オブジェクトのトレイルを表す2番目のレイヤーがSpatial Studioに自動的に追加されます。この2つのマップ・レイヤーの詳細は、「移動オブジェクトの時空間マップ・レイヤーの特性」を参照してください。
  5. マップ・ツール・バーの設定アイコンをクリックします。
  6. 「タイムラインの表示」トグルをONに切り替え、「OK」をクリックします。
    Cesiumタイムライン・ウィジェットは、マップ・ビジュアライゼーション・キャンバスの下部に表示されます。ただし、この段階ではタイムラインは動作していません。
  7. 「レイヤー」リストの「データ」タブで、プライマリ・レイヤーに対する「メニュー」アイコンをクリックして、「タイムラインに追加」をクリックします。
    マップ・レイヤーがタイムラインに追加されます。タイムラインはタイムスタンプ列の最小値から最大値までの範囲になります。現在時刻はタイムスタンプ列の最小値を指し、レイヤーはタイムライン・イベントをリスニングしています。ただし、この段階ではタイムラインは動作していません。オプションで、このステップを繰り返して、タイムラインに複数(異なる時空間データセット)のレイヤーを追加します。
  8. マップ・レイヤーのアニメーションは、「移動オブジェクト・データセットのアニメーションの構成」のステップに従って構成します。
  9. マップ・レイヤーのコンテキスト・メニューで、「タイムラインを範囲にズーム」を選択します。
    タイムラインは、タイムスタンプ列の最小値から最大値までの範囲に再フォーカスされ、現在時刻はタイムスタンプ列の最小値を指すようになります。これは履歴データセットのループ・メカニズムとして機能します。
  10. オプションで、タイムライン設定からカスタムの開始時間停止時間乗数などを構成します。また、Cesiumタイムライン・コントロールを使用して、現在時刻のポインタを別の時間枠にスライドさせることもできます。
  11. オプションで、マップ・レイヤーによるCesiumタイムラインのリスニングを停止する場合は、マップ・レイヤーのコンテキスト・メニューで「タイムラインから削除」を選択します。

4.2.5.7 非ライブおよび非移動オブジェクト・データセットのビジュアル化

各行に異なるタイムスタンプ値が含まれていて、その値がエンティティIDでグループ化されていない時空間データセットをビジュアル化できます。

次の手順では、このようなデータセットの時空間を有効にしており、「アクティブ・プロジェクト」ページでデータセットがすでにプロジェクトに追加されていることを前提としています。詳細は、「非ライブおよび非移動オブジェクト・データセットの時空間の構成」を参照してください。
  1. 「アクティブ・プロジェクト」ページの左ペインで、「ビジュアライゼーション」タブをクリックします。
    様々なビジュアライゼーション・オプションがリスト表示されます。
  2. リストから「マップ」をクリックして右側のビジュアライゼーション・ウィンドウにドラッグし、マップ・ビジュアライゼーションを作成します。
    データ・ビジュアライゼーション・レイヤーがない、デフォルトのベースマップが表示されます。
  3. 「アクティブ・プロジェクト」ページの左ペインで、「データ」タブをクリックします。
    プロジェクトにロードされているすべてのデータセットがリスト表示されます。
  4. リストから目的の時空間データセットをクリックして右側のマップ・ビューにドラッグします。
    マップ上に単一のマップ・レイヤーが作成されます。
  5. マップ・ツール・バーの設定アイコンをクリックします。
  6. 「タイムラインの表示」トグルをONに切り替え、「OK」をクリックします。
    Cesiumタイムライン・ウィジェットは、マップ・ビジュアライゼーション・キャンバスの下部に表示されます。ただし、この段階ではタイムラインは動作していません。
  7. 「レイヤー」リストの「データ」タブで、プライマリ・レイヤーに対する「メニュー」アイコンをクリックして、「タイムラインに追加」をクリックします。
    タイムラインにマップ・レイヤーが追加されます。そのタイムラインは、タイムスタンプ列の最小値から最大値までの範囲になります。現在時刻はタイムスタンプ列の最小値を指すようになり、この時点でレイヤーはタイムライン・イベントをリスニングしています。

    また、時空間設定用に構成されたフィルタリングが自動的に適用され、マップ・レイヤーはCesiumクロックの現在時刻に従ってフィルタされるようになります。たとえば、Cesiumクロックの現在時刻が2023年5月22日月曜日5:13 PMで、フィルタリング用に構成された時間単位がmonthの場合、マップ・ビジュアライゼーションには、タイムスタンプが2023年5月1日から2023年5月31日の間のすべてのジオメトリが表示されます。

    タイムラインの乗数は、選択したフィルタリング時間単位と一致します。ただし、データセットが現在フィルタリングされている時間単位を変更することもできます(「非ライブおよび非移動オブジェクト・データセットの時空間の構成」を参照)。

    図4-15 マップ・レイヤーに対する標準フィルタリングの適用

    図4-15の説明が続きます
    「図4-15 マップ・レイヤーに対する標準フィルタリングの適用」
  8. マップ・レイヤーのコンテキスト・メニューで、「タイムラインを範囲にズーム」を選択します。
    タイムラインは、タイムスタンプ列の最小値から最大値までの範囲に再フォーカスされ、現在時刻はタイムスタンプ列の最小値を指すようになります。これは履歴データセットのループ・メカニズムとして機能します。
  9. オプションで、タイムライン設定からカスタムの開始時間停止時間乗数などを選択します。Cesiumタイムライン・コントロールを使用して、現在時刻のポインタを別の時間枠にスライドさせることもできます。
  10. オプションで、マップ・レイヤーによるCesiumタイムラインのリスニングを停止する場合は、マップ・レイヤーのコンテキスト・メニューで「タイムラインから削除」を選択します。

4.2.5.8 OGC WMSデータセットの時空間データのビジュアル化

時空間データを含むOGC WMSデータセットをビジュアル化できます。

次の手順では、このようなデータセットの時空間を有効にしており、「アクティブ・プロジェクト」ページでデータセットがすでにプロジェクトに追加されていることを前提としています。詳細は、「OGC WMSデータセットの時空間の構成」を参照してください。
  1. 「アクティブ・プロジェクト」ページの左ペインで、「ビジュアライゼーション」タブをクリックします。
    様々なビジュアライゼーション・オプションがリスト表示されます。
  2. リストから「マップ」をクリックして右側のビジュアライゼーション・ウィンドウにドラッグし、マップ・ビジュアライゼーションを作成します。
    データ・ビジュアライゼーション・レイヤーがない、デフォルトのベースマップが表示されます。
  3. 「アクティブ・プロジェクト」ページの左ペインで、「データ」タブをクリックします。
    プロジェクトにロードされているすべてのデータセットがリスト表示されます。
  4. リストから目的の時空間データセットをクリックして右側のマップ・ビューにドラッグします。
    マップ上に単一のマップ・レイヤーが作成されます。
  5. マップ・ツール・バーの設定アイコンをクリックします。
  6. 「タイムラインの表示」トグルをONに切り替え、「OK」をクリックします。
    Cesiumタイムライン・ウィジェットは、マップ・ビジュアライゼーション・キャンバスの下部に表示されます。ただし、この段階ではタイムラインは動作していません。
  7. 「レイヤー」リストの「データ」タブで、マップ・レイヤーに対して「メニュー」アイコンをクリックし、「タイムラインに追加」を選択します。
    タイムラインにマップ・レイヤーが追加されます。この時点で、タイムラインはタイムライン・イベントをリスニングしていますが、まだ動作していません。
  8. マップ・レイヤーのコンテキスト・メニューから、「アニメーションの構成」を選択します。
    次のように、アニメーション構成ダイアログが開きます:

    図4-16 WMSデータセットのアニメーションの構成

    図4-16の説明が続きます
    「図4-16 WMSデータセットのアニメーションの構成」の説明
  9. 「自動データセット・リフレッシュに基づいてレイヤーをアニメーション化」をオンにします。
    データセットは、Cesiumクロック・イベントによってアニメーション表示されます。
    データセットは、WMSサービスをポーリングすることで、Cesiumクロックの現在時刻での時間値に応じたイメージをフェッチします。

    図4-17 時空間データによるWMSデータセットのビジュアル化

    図4-17の説明が続きます
    「図4-17 時空間データによるWMSデータのビジュアル化」の説明
  10. バックエンドからのデータ・リフレッシュの頻度を指定するには、「自動リフレッシュ間の時間」を指定します。この構成により、時間アニメーションの滑らかさと速度も決まります。
    また、次の点にも注意してください。
    • Spatial Studioは、WMSデータセットの2 secondsのデフォルト値を表示します。有効なリフレッシュ率は、それぞれのWMSサービスからイメージをフェッチする速さによって異なります。経験上、WMSデータの場合は、データ変更率を2秒未満にするとイメージの取得とタイルのリフレッシュが間に合わなくなります。それにより、新しいリフレッシュの前にイメージのロードが不完全になることや、ビジュアライゼーションがリフレッシュ状態でスタックしてしまうことがあります。
    • Cesiumクロックの現在時刻がpreviousRefreshTime + x seconds (または別の時間単位)より小さい場合、このパラメータによりタイムラインからのすべての刻時イベントが無視されます。たとえば、データセットが30秒ごとにリフレッシュされるようになっている場合は、この値を「自動リフレッシュ間の時間」で構成することで、すべてのレイヤーに対してCesiumクロックが刻時イベントをスローし続けていても、このレイヤーはそのようなイベントを無視するようになります。
  11. 「時間単位」を指定します。
  12. オプションで、タイムライン設定からカスタムの開始時間停止時間乗数などを選択します。Cesiumタイムライン・コントロールを使用して、現在時刻のポインタを別の時間枠にスライドさせることもできます。

    ノート:

    「タイムラインを範囲にズーム」は、OGC WMSデータセットに対して無効にされています。これは、各WMSデータセットが複数のイメージ・レイヤーで構成されていることがあり、そうしたレイヤーのいずれかに自動的に時間範囲を選択すると不正確になるためです。そのため、Cesiumタイムライン設定(「Cesiumタイムライン設定の構成」を参照)を使用して、アニメーション化する特定のイメージ・レイヤー用のタイムラインの適切な範囲を手動で設定します。
  13. オプションで、マップ・レイヤーによるCesiumタイムラインのリスニングを停止する場合は、マップ・レイヤーのコンテキスト・メニューで「タイムラインから削除」を選択します。

4.2.5.9 時空間データを使用したGeoJSON URLデータセットのビジュアル化

時空間データを含むGeoJSON URLベースのデータセットをビジュアル化できます。

次の手順では、このようなデータセットの時空間を有効にしており、「アクティブ・プロジェクト」ページでデータセットがすでにプロジェクトに追加されていることを前提としています。詳細は、「時空間データを使用したGeoJSON URLデータセットのビジュアル化」を参照してください。
  1. 「アクティブ・プロジェクト」ページの左ペインで、「ビジュアライゼーション」タブをクリックします。
    様々なビジュアライゼーション・オプションがリスト表示されます。
  2. リストから「マップ」をクリックして右側のビジュアライゼーション・ウィンドウにドラッグし、マップ・ビジュアライゼーションを作成します。
    データ・ビジュアライゼーション・レイヤーがない、デフォルトのベースマップが表示されます。
  3. 「アクティブ・プロジェクト」ページの左ペインで、「データ」タブをクリックします。
    プロジェクトにロードされているすべてのデータセットがリスト表示されます。
  4. リストから目的の時空間データセットをクリックして右側のマップ・ビューにドラッグします。
    マップ上に単一のマップ・レイヤーが作成されます。
  5. 「レイヤー」リストの「データ」タブで、マップ・レイヤーに対して「メニュー」アイコンをクリックし、「アニメーションの構成」を選択します。

    ノート:

    GeoJSON URLベースのデータセットは、Cesiumタイムラインによって表される時間の値に依存しません。これらは定期的にリフレッシュする必要があるだけなので、このようなデータセットに対してCesiumタイムラインを有効にする必要はありません。
  6. 「自動データセット・リフレッシュに基づいてレイヤーをアニメーション化」をオンにします。
  7. バックエンドからのデータ・リフレッシュの頻度を指定するには、「自動リフレッシュ間の時間」を指定します。この構成により、時間アニメーションの滑らかさと速度も決まります。
    GeoJSON URLマップ・レイヤーは、この構成された間隔値に基づいて、定期的にリフレッシュされるように設定されます。

4.2.5.10 移動オブジェクト・データセットのアニメーションの構成

移動オブジェクト・データセットの時空間マップ・レイヤーは、Cesiumマップ・イベントに基づいてアニメーション化できます。

この手順は、すでに時空間マップ・レイヤーがCesiumタイムラインに追加されていることを前提としています。
  1. 「レイヤー」リストの「データ」タブで、プライマリ・レイヤーに対して「メニュー」アイコンをクリックします。
    マップ・レイヤーのコンテキスト・メニューには、次のオプションが表示されます:

    図4-18 マップ・レイヤーのコンテキスト・メニュー

    図4-18の説明が続きます
    「図4-18 マップ・レイヤーのコンテキスト・メニュー」の説明
  2. 「アニメーションの構成」を選択します。

    マップ・レイヤーのアニメーション設定が開きます。

  3. 「自動データセット・リフレッシュに基づいてレイヤーをアニメーション化」をオンにします。
    データセットは、Cesiumクロック・イベントによってアニメーション表示されます。
  4. バックエンドからのデータ・リフレッシュの頻度を指定するには、「自動リフレッシュ間の時間」を指定します。この構成により、時間アニメーションの滑らかさと速度も決まります。
    また、次の点にも注意してください。
    • Spatial Studioでは、ビジュアライゼーションに使用される時空間データセットで構成された「データ変更率」の値と同じデフォルトの頻度値が表示されます。
    • タイムラインに追加されたすべてのマップ・レイヤーには、それぞれに独自のリフレッシュまたはアニメーションの間隔を設定できます。
    • Cesiumクロックの現在時刻がpreviousRefreshTime + x seconds (または別の時間単位)より小さい場合、このパラメータによりタイムラインからのすべての刻時イベントが無視されます。たとえば、データセットが30秒ごとにリフレッシュされるようになっている場合は、この値を「自動リフレッシュ間の時間」で構成することで、すべてのレイヤーに対してCesiumクロックが刻時イベントをスローし続けていても、このレイヤーはそのようなイベントを無視するようになります。
  5. 「時間単位」を指定します。
  6. 「ロードするデータの量」を指定します。これは、移動オブジェクトのトレイル長です。トレイル長の値Nは、Spatial Studioがリフレッシュのたびに移動オブジェクトの直近のN単位(次のステップで指定する単位値)をフェッチする必要があることを示します。

    ヒント:

    基礎となるデータベース表またはビューに数百万のレコードが含まれている場合は、トレイル長で構成した直近のN単位のデータのみを表示するようにマップ・アニメーションを制限できます。

    Spatial Studioでは、時空間データセットで構成されている「データ変更率」値の15倍となるデフォルトのトレイル長の値が表示され、最も近い整数に丸められることに注意してください。

  7. トレイル長の「時間単位」を指定します。

    アニメーション設定が構成され、マップ上で移動オブジェクトのアニメーションを表示できます。

    ノート:

    移動オブジェクトの記号および色を選択できます。ただし、選択した記号が、「移動オブジェクト・データセットの時空間マップ・レイヤーの特性」で説明した条件に準拠していることを確認してください。

4.2.5.11 移動オブジェクト・データセットの時空間マップ・レイヤーの特性

この項では、移動オブジェクトを含む時空間データセットをビジュアル化するときのプライマリおよびセカンダリ・マップ・レイヤーの異なる特性について説明します。

  • トレイル・マップ・レイヤーは、メイン・レイヤーに対するセカンダリ・レイヤーとみなされます。マップからメイン・レイヤーを削除すると、トレイル・マップ・レイヤーも自動的に削除されます。
  • データセットと同じ名前を共有するメイン・レイヤーは常に点タイプのレイヤーであり、円として、または記号やアイコンを使用してビジュアル化できます。記号を使用すると、Spatial Studioでは、オブジェクトの移動方向に基づいて記号も自動的に回転します。

    また、Spatial Studioの現在のリリースでは、自然に北を指す(または上を指す)記号、または固有の方向や角度を表さない記号(丸みを帯びた記号など)のみがサポートされています。

  • セカンダリ・レイヤーを非表示に切り替えても、メイン・レイヤーのアニメーションは維持されます。ただし、メイン・レイヤーを非表示に切り替えると、バックエンドから新しいデータがフェッチされないため、トレイル・レイヤーは静止状態のままになります。
  • メイン・レイヤーをヒートマップ・タイプまたはクラスタ・タイプに切り替えることはできません。
  • スティッキー・ツールチップまたはポップアップは、新しい位置に移動するときに移動オブジェクトに固定できないため、使用できません。
  • Spatial Studioは、メイン・レイヤーのデータをバックエンドから常にリフレッシュすることで、移動オブジェクトおよびそのトレイルのアニメーションを駆動します。これは、元表が問い合され、TIMESTAMP列に基づいてレコードをフィルタすることによって直近N秒のデータがフェッチされることを意味します。
  • マルチユーザー環境またはマルチビジュアライゼーション環境(あるいはその両方)で作業している場合は、多数のアニメーション・レイヤーのデータ・リフレッシュ問合せでデータベースをオーバーロードしないように注意する必要があります。たとえば、レイヤーによるデータのリフレッシュが頻繁すぎないか、各リフレッシュでフェッチされるデータの秒数が多すぎないか(あるいはその両方)を確認します。

4.2.6 データセットとしてのOGC WMSマップのビジュアル化

マップ上でOGC (Open Geospatial Consortium) WMS (Web Map Service)データセットをビジュアル化できます。

これは、外部WMSマップに基づいているカスタム・ベースマップを作成し、マップ・ビジュアライゼーションでこのようなベースマップに切り替えることに加わえて行います。ベースマップを使用する上での主な問題は、1つのマップ・ビジュアライゼーションにはベースマップを1つしか含めることができないことです。たとえば、WMSイメージに基づくベースマップを使用している場合、OpenStreetMapなどの他の背景マップは表示できなくなります。したがって、WMSイメージには通常、詳細な管理境界や通常の背景マップに表示される他の一般的なフィーチャが含まれていないため、地理的コンテキストは失われます。

この制限を克服するために、Spatial Studioでは通常の背景マップを使用しながら、WMSマップ・イメージをデータセット・レイヤーとして上部に追加できます。WMSイメージは単なる別のデータセットであり、マップ上の別のレイヤーとして表示できるため、レイヤーを簡単に並べ替えたり、他のマップ・レイヤーと同様にWMSイメージの表示を切り替えることができます。

マップでOGC WMSデータセットをビジュアル化するには、次のステップを実行する必要があります。
前提条件として、次のことを確認してください。
  • OGC WMSデータセットは、OGC WMS接続を使用して作成され、Spatial Studioに存在します。詳細は、「OGC WMSデータセットの作成」を参照してください。
  • 必要なOGC WMSデータセットが「アクティブ・プロジェクト」ページでプロジェクトに追加されます。
  1. 「アクティブ・プロジェクト」ページの左ペインで、「ビジュアライゼーション」タブをクリックします。
    様々なビジュアライゼーション・オプションがリスト表示されます。
  2. リストから「マップ」をクリックして右側のビジュアライゼーション・ウィンドウにドラッグし、マップ・ビジュアライゼーションを作成します。
    データ・ビジュアライゼーション・レイヤーがない、デフォルトのベースマップが表示されます。
  3. 「アクティブ・プロジェクト」ページの左ペインで、「データ」タブをクリックします。
    プロジェクトにロードされているすべてのデータセットがリスト表示されます。
  4. リストから目的のOGC WMSデータセットを右側のマップ・ビューにドラッグ・アンド・ドロップします。
    OGC WMSデータ・レイヤーがマップに表示されます。マップに追加される最初のデータセットである場合、マップはWMSデータセットが適用されている領域に自動的にズームされます。

    図4-19 OGC WMSデータ・レイヤーのビジュアル化

    図4-19の説明が続きます
    「図4-19 OGC WMSデータ・レイヤーのビジュアル化」の説明

    前述の図は、OpenStreetMap背景の上にオーバーレイされる(WMSサービスからロードされた)天気パターン・イメージを示しています。

    ヒント:

    マップ凡例の「イメージ」リンクをクリックして、OGC WMSマップ・レイヤーのWMSサービスによって生成された凡例情報を表示します。

    ノート:

    ビジュアライゼーション用に新しいWMSデータセットを表示すると、ブラウザからWMSイメージ・リクエストがWMSサーバーに直接送信されます。マップ・レイヤーを常にリフレッシュして、WMSサーバーの現在のデータを反映できます。

4.2.7 風向きアニメーションについて

Oracle Spatial Studioリリース24.2.0以降では、様々な場所間での風の流れの方向を示す風向きアニメーションを作成しビジュアル化できます。

一般に風向きアニメーションと呼ばれますが、このビジュアライゼーションは、動きに基づくあらゆるビジュアライゼーションに適用されます。たとえば、風速の表現、構造プレートの動きの表現や、その他のベクトルベースのシミュレーションに使用できます。次の図では、Spatial Studioにある風向きアニメーション・サンプルを示しています:

図4-20 風向きアニメーション・サンプル



これらのビジュアライゼーションは、x (u)軸とy (v)軸に沿った風速の入力に基づいています。これらの速度は、イメージ内でエンコードされます(ここでは、赤(R)チャネルと緑(G)チャネルがそれぞれxyの速度を表す)。それらの値は0-255の整数範囲にスケーリングされてマップされ、Rチャネルでu速度が保持され、Gチャネルでv速度が保持されます。

したがって、ベース・イメージは、指定されたバウンディング・ボックス(bbox)内の整数経度緯度点それぞれでのu速度とv速度のグリッドの役割を果たします。この設定では、ビジュアライゼーションによってマップ上にランダム粒子が生成されて、それらが風速に従ってアニメーション化され、動的な流れのビジュアルが作成されます。

次に、風向きアニメーションの作成に使用できるベース・イメージ・サンプルを示します。

図4-21 風向きアニメーションのベース・イメージ・サンプル



風向きアニメーションのベース・イメージは、NOAAデータセット、またはその他のサポートされているデータ・プロバイダから生成できます(例については、「NOAAデータセットからのベース風向きイメージの生成」を参照)。その後、このイメージをGeoRasterとしてOracle Databaseにロードし、ビジュアライゼーション用の風向きアニメーション・データセットを作成できます。

4.2.7.1 NOAAデータセットからのベース風向きイメージの生成

この項では、NOAAプロバイダを使用してベース風向きイメージを生成するためのステップを示します。

風向きアニメーション・データセットを作成するためのベース・イメージは、NOAA GFSデータセットのWebサイトから生成するか、スクリプトによってプログラムで生成することができます。
  1. ブラウザでNOAA GFSデータセットのURLを開きます。
  2. 指定したデータと時間のサブディレクトリを選択し、atmosオプションに進んで大気データを操作します。
  3. ファイル・タイプをgfs.t06z.pgrb2.1p00.f000に設定します。
  4. レイヤー・タイプとして「10m above the ground」を選択します。
  5. UGRD (風のU成分、東向きの速度)変数を選択し、分析するバウンディング・ボックス(bbox)を指定してから、「Start Download」をクリックします。
  6. VGRD (風のV成分、北向きの速度)について、前のステップを繰り返します。
    速度グリッドはGRIBファイルとしてダウンロードされることに注意してください。
  7. GRIBツール(wgrib2など)を使用して、これらのファイルからグリッド値を抽出するために解析します。
  8. UGRDとVGRDのグリッド値を組み合せることでベース・イメージを作成します。
    ベース・イメージの作成については、次の点に注意してください:
    • R (赤)チャネルはUGRD (x軸の速度)を表します。
    • G (緑)チャネルはVGRD (y軸の速度)を表します。
    • 速度値は0-255の範囲内に収まるようにスケーリングする必要があります。ここでのuminumaxvminおよびvmaxは、u (x軸)とv (y軸)の速度の最小値と最大値を表します。

      これらの最小値と最大値は、ベース・イメージから速度値をエンコードおよびデコードするために重要です。これは、ビジュアライゼーションの目的で、0-255の範囲にあわせてそれらがスケーリングされるためです。

      ノート:

      このデータ範囲の値は、Spatial Studioで初めて風向きアニメーション・データセットを作成するときに必要になるため、書き留めておいでください。
    または、次のスクリプト例で示すようにコードによってプログラムでベース風向きイメージを生成できます。

    次のスクリプトでは、グリッド値をダウンロードし解析し最後にそれらをビジュアライゼーションでの使用のためにイメージ形式に書き込むためのステップを示します。

    download.sh

    #!/bin/bash
     
    GFS_DATE="20240719"
    GFS_TIME="00"; # 00, 06, 12, 18
    RES="1p00" # 0p25, 0p50 or 1p00
    BBOX="leftlon=0&rightlon=360&toplat=90&bottomlat=-90"
    LEVEL="lev_10_m_above_ground=on"
    GFS_URL="https://nomads.ncep.noaa.gov/cgi-bin/filter_gfs_${RES}.pl?dir=%2Fgfs.${GFS_DATE}%2F${GFS_TIME}%2Fatmos&file=gfs.t06z.pgrb2.1p00.f000&${LEVEL}=on&subregion=${BBOX}"
    curl "${GFS_URL}&var_UGRD=on" -o utmp.grib
    curl "${GFS_URL}&var_VGRD=on" -o vtmp.grib
     
    grib_set -r -s packingType=grid_simple utmp.grib utmp_out.grib
    grib_set -r -s packingType=grid_simple vtmp.grib vtmp_out.grib
     
    printf "{\"u\":`grib_dump -j utmp_out.grib`,\"v\":`grib_dump -j vtmp_out.grib`}" > tmp.json
     
    rm utmp.grib vtmp.grib utmp_out.grib vtmp_out.grib
     
    DIR=`dirname $0`
    node ${DIR}/prepare.js ${1}/${GFS_DATE}${GFS_TIME}

    prepare.js

    const PNG = require('pngjs').PNG;
    const fs = require('fs');
     
    const data = JSON.parse(fs.readFileSync('tmp.json'));
    const name = process.argv[2];
    const umessage = data.u.messages[0];
    const vmessage = data.v.messages[0];
     
    const unpack = (message) =>
        message.reduce((acc, { key, value }) => ({ ...acc, [key]: value }), {});
    const u = unpack(umessage);
    const v = unpack(vmessage);
     
    const width = u.Ni;
    const height = u.Nj;
     
    console.log(`Width: ${width}, Height: ${height}`);
    console.log(`u: min=${u.minimum}, max=${u.maximum}`);
    console.log(`v: min=${v.minimum}, max=${v.maximum}`);
    console.log(`u values length: ${u.values.length}, v values length: ${v.values.length}`);
     
    const png = new PNG({
        colorType: 2,
        filterType: 4,
        width: width,
        height: height
    });
     
    for (let y = 0; y < height; y++) {
        for (let x = 0; x < width; x++) {
            const i = (y * width + x) * 4;
            const k = y * width + x;
     
            if (k < 0 || k >= u.values.length || k >= v.values.length) {
                console.error(`Index out of bounds at (x: ${x}, y: ${y}) -> k: ${k}`);
                continue;
            }
     
            const uValue = u.values[k];
            const vValue = v.values[k];
     
            if (isNaN(uValue) || isNaN(vValue)) {
                console.error(`Invalid value at (x: ${x}, y: ${y}) -> u: ${uValue}, v: ${vValue}`);
                continue;
            }
     
            png.data[i + 0] = Math.floor(255 * (uValue - u.minimum) / (u.maximum - u.minimum));
            png.data[i + 1] = Math.floor(255 * (vValue - v.minimum) / (v.maximum - v.minimum));
            png.data[i + 2] = 0;
            png.data[i + 3] = 255;
        }
    }
     
    png.pack().pipe(fs.createWriteStream(`/Users/user1/Downloads/build/${name}.png`));
     
    fs.writeFileSync(`/Users/user1/Downloads/build/${name}.json`, JSON.stringify({
        source: 'http://nomads.ncep.noaa.gov',
        date: formatDate(u.dataDate + '', u.dataTime),
        width: width,
        height: height,
        uMin: u.minimum,
        uMax: u.maximum,
        vMin: v.minimum,
        vMax: v.maximum
    }, null, 2) + '\n');
     
    function formatDate(dateStr, timeStr) {
        const year = dateStr.slice(0, 4);
        const month = dateStr.slice(4, 6);
        const day = dateStr.slice(6, 8);
        const hour = String(timeStr).padStart(4, '0');
        return `${year}-${month}-${day}T${hour.slice(0, 2)}:00:00Z`;
    }

4.2.7.2 風向きアニメーション・データセットのビジュアル化

Spatial Studioで風向きアニメーション・ビジュアライゼーションを作成できます。

次の手順は、風向きアニメーションを有効にしたGeoRasterデータセットがあり、「アクティブ・プロジェクト」ページでそのデータセットがすでにプロジェクトに追加されていることを前提としています。詳細は、「風向きアニメーション・データセットの作成」「既存のGeoRasterデータセットに対する風向きアニメーションの有効化」を参照してください。
  1. 「アクティブ・プロジェクト」ページの左ペインで、「ビジュアライゼーション」タブをクリックします。
    様々なビジュアライゼーション・オプションがリスト表示されます。
  2. リストから「マップ」をクリックして右側のビジュアライゼーション・ウィンドウにドラッグし、マップ・ビジュアライゼーションを作成します。
    データ・ビジュアライゼーション・レイヤーがない、デフォルトのベースマップが表示されます。
  3. 「アクティブ・プロジェクト」ページの左ペインで、「データ」タブをクリックします。
    プロジェクトにロードされているすべてのデータセットがリスト表示されます。
  4. リストから目的の風向きアニメーション・データセットをクリックして右側のマップ・ビューにドラッグします。
    次のような風向きアニメーション・ビジュアライゼーションが表示されます:

    図4-22 風向きアニメーションのビジュアル化



    風向きアニメーションではピッチと回転のアクションはサポートされていないことに注意してください。このビューを回転または傾斜させると、風向きアニメーションが無効になり、警告が表示されます。風向きアニメーションは、ピッチ/回転がデフォルト(0)に戻ると自動的に再有効化されます。

  5. オプションで、「レイヤー」リストの「データ」タブにある風向きアニメーション・データセット・レイヤーに対して「メニュー」アイコンをクリックし、次のプロパティを構成します。
    • 粒子数: 現在のビューポート内でランダムに描画される粒子の数を制御します。これらの粒子は、風速に基づいてアニメーション化されます。
    • 速度係数: 実際の風速との関連で画面上の動きを調整する、0から1までの乗数。
    • フェード不透明度: 粒子の痕跡の長さと、それらを段階的に消すタイミングを管理し、アニメーションの滑らかさに影響を与えます。