このレッスンでは、ArcGIS Velocity でストリーミング データに関するリアルタイム解析を作成します。 このレッスンは、AIS 船舶データを収集する新しいフィードを作成した「フィードの作成」のレッスンに基づいています。 このレッスンでは、リアルタイム解析を構成して、ストリーミング AIS データに各船舶が配置されている米国沿岸警備隊地区の情報を付加します。
リアルタイム解析の作成、リアルタイム ツールの追加と構成、データを配布する出力の追加、フィーチャ レイヤーへのフィーチャの格納について学びます。
このレッスンは初心者向けに設計されています。 ArcGIS Velocity にアクセス可能な ArcGIS Online のアカウントが必要です。 このレッスンの所要時間の目安は 30 分です。
新しいリアルタイム解析の作成
最初に、「フィードの作成」のレッスンで作成した AIS フィードに関するリアルタイム解析を作成します。
- Web ブラウザーで ArcGIS Velocity を開き、ArcGIS Online の認証情報を使用してサイン インします。
Google Chrome または Mozilla Firefox を使用することをお勧めします。
注意:
サイン インで問題が発生した場合は、ArcGIS Online の管理者にお問い合わせください。 ArcGIS Velocity を使用する権限がある ArcGIS Online ロールの割り当てが必要な場合があります。 詳細については、「ロールの作成とユーザーの割り当て」をご参照ください。
- 左側のメイン メニューで、[解析] の下の [リアルタイム] をクリックして [リアル タイム解析] ページを開きます。
[リアルタイム解析] ページでは、新しいリアルタイム解析の作成、既存のリアルタイム解析の表示や管理を行うことができます。
- [リアルタイム解析の作成] をクリックして解析構成ウィザードを開きます。
- [新しいリアルタイム解析の作成] ページで、[既存のフィード] をクリックします。
- [既存のフィードの選択] ウィンドウで、ship_positions_simulation フィードを選択して [確認] をクリックします。
注意:
「フィードの作成」のレッスンを完了していれば、ship_positions_simulation フィードを使用できます。 完了していない場合、そのレッスンを完了してから作業を進めてください。
リアルタイム解析エディターが開き、追加のツールや出力を構成できます。 デフォルトでは、選択したフィードとすべての処理エレメントが、線形の順次レイアウトでエディターに表示されます。
解析の作成
この時点では解析に入力フィードしか含まれていませんが、これを作成しておくことで、必要に応じて後から作業に戻ることができます。
- [新しいリアルタイム解析] ページで、[解析の作成] をクリックして新しいリアルタイム解析を作成します。
- [解析の作成] ウィンドウで、[タイトル] と [サマリー] を次のように設定します。
- [タイトル] に「AIS Real Time Processing」と入力します。
- [サマリー] に「Filter and modify incoming AIS data with streaming output and feature storage」と入力します。
- [フォルダー] で、新しい解析の保存先となるフォルダーを選択します。
- [解析の作成] をクリックして解析を作成します。
解析が作成されると、解析エディターが開き、フィード、ソース、解析ツール、出力などの新しいエレメントを追加することができます。
解析ツールの追加と構成
次に、[AIS Real Time Processing] 解析に、AIS データ フィードに対してリアルタイム解析を実行するツールを追加します。 Velocity では、入力から出力までのデータの流れを定義する、連続した一連の解析ノードを構築できます。
[フィーチャの結合] ツールを使用して、受信 AIS データに各船舶が配置されている米国沿岸警備隊地区の名前を付加します。 具体的には、ツールは、船舶ポイント フィーチャと米国沿岸警備隊地区ポリゴン レイヤー間の空間結合を実行します。
- 最初に、[フィーチャの結合] ツールを [AIS Real Time Processing] 解析に追加し、[ship_positions_simulation] フィードに接続します。
- 左側の [ノードの追加] メニューで [データの集約] フォルダーをクリックし、[フィーチャの結合] ツールを選択してエディターに追加します。
- [フィーチャの結合] ツールをドラッグして [ship_positions_simulation] フィードの右側にドロップします。
- ship_positions_simulation フィードを [フィーチャの結合] ツールに接続します。
次に、情報付加のデータ ソース、米国沿岸警備隊地区フィーチャ レイヤーを追加し、これを [フィーチャの結合] ツールに接続します。
- [ソース] フォルダーをクリックし、[フィーチャ レイヤー] を選択して、フィーチャ レイヤー ソースを次のように構成します。
- [マイ コンテンツ] ドロップダウン メニューをクリックし、[URL] を選択します。
- [レイヤーの URL] テキスト ボックスに「https://services2.arcgis.com/FiaPA4ga0iQKduv3/arcgis/rest/services/US_Coast_Guard_Districts_new/FeatureServer」と入力します。
- [USCG_Districts (0)] サブレイヤーを選択し、[次へ] をクリックします。
- [データのフィルタリング] ステップで、[出力データの空間参照 (オプション) パラメーターを [GCS WGS 1984] に設定して、[次へ] をクリックします。
- [スキーマの確認] ステップで、サンプリングされたスキーマのままにして [次へ] をクリックします。
Velocity でデータがサンプリングされ、最初のスキーマが生成されます。
- [キー フィールドの識別] ステップの [トラッキング] で、[データにトラック ID がありません] を選択します。
構成ウィザードのこの手順はジオメトリ、日時、トラッキング情報の構築方法を定義するために使用されます。 データ ソースが ArcGIS フィーチャ レイヤーなので、ジオメトリ情報と日時情報は自動的に構成されます。
- [完了] をクリックし、データ ソースを作成してエディターに追加します。
新しいフィーチャ レイヤー ソースをエディターに追加したので、次に他のノードに接続します。
- [USCG_Districts] ソースを [ship_positions_simulation] フィードの下にドラッグ アンド ドロップし、[フィーチャの結合] ツールに接続します。
フィーチャの結合ツールに、船舶位置フィードと米国沿岸警備隊地区フィーチャ レイヤー データ ソースの 2 つの入力が接続されました。 次に、空間結合を実行するように [フィーチャの結合] ツールを構成し、米国沿岸警備隊地区の名前を受信イベント データに追加します。
- [フィーチャの結合] ツールをダブルクリックしてそのプロパティを開き、ツールを次のように構成します。
- [結合方法] で、[1 対 1] をクリックします。
- [すべてのフィーチャを保持] で、[結合されたフィーチャのみを保持] をクリックします。
- [リレーションシップ] で、[空間] チェックボックスをオンにし、空間リレーションシップのタイプのドロップダウン メニューから [交差する] を選択します。
このレッスンでは、いずれかの船舶が米国沿岸警備隊地区と交差するタイミングを検出し、そのコンテキスト情報を船舶データに追加 (結合) して、状況認識能力の向上や今後の解析のために利用できるようにします。 次に、[集計フィールド] パラメーターを設定します。
- [属性] で、[DistrictName] を選択します。
- [統計情報] で [すべて] を選択します。
- [出力フィールド名] で、[DistrictName_Any] を削除し、「DistrictName」と入力します。
- [追加] をクリックしてフィールドを結合操作に追加します。
- [ターゲット フィーチャのジオメトリを結合フィーチャのジオメトリに変更] を [いいえ] のままにします。
- [適用] をクリックしてプロパティを保存します。
- 解析エディターで [保存] をクリックして、[AIS Real Time Processing] 解析を保存します。
フィーチャ レイヤー出力の構成
必要なリアルタイム処理ノードと付加情報データ ソースを追加したので、次にデータの格納と視覚化を行う 2 つの出力を追加します。 最初に、データを新しいフィーチャ レイヤーに格納する出力を追加して構成します。 次のセクションでは、Web マップで視覚化するためにストリーム レイヤーにデータを送信する別の出力を追加します。
- 左側の [ノードの追加] メニューで [出力] フォルダーをクリックし、[フィーチャ レイヤー (新規)] を選択して、出力を以下のように構成します。
- [データ格納法] で、[各トラック ID 値に対し、最新のフィーチャのみを保持します] をクリックします。
これにより、各トラック (この場合は各船舶) の最新の観測値のみが保持されます。 以降の観測値によって、出力フィーチャ レイヤー内の各トラッキングの前の観測値は上書きされます。
注意:
[すべての新しいフィーチャの追加] オプションを選択した場合、受信した最新のフィーチャだけでなく、すべての受信データが保持されます。
- [解析の開始ごと] で、[既存のフィーチャおよびスキーマを置換] を選択します。
この構成では、解析が開始 (または再開) されるたびに、出力フィーチャ レイヤー内のすべてのレコードが削除され、出力フィーチャ レイヤーのスキーマが再生成されます。 これは、リアルタイム解析の開発およびテスト中に、解析を実行するたびにツールを追加、削除、または変更する場合に便利です。
注意:
運用環境では、必ずフィーチャ レイヤー出力を編集して [既存のフィーチャおよびスキーマを保持] を選択することで、解析が再開されたときに既存のデータを保持できます。
- [次へ] をクリックして、次のステップに進みます。
- [保存] ステップで、[フィーチャ レイヤー名] に「Ships_Inside_USCG_Districts」と入力します。
- [フィーチャ レイヤーのサマリー (オプション)] に「Ships inside US Coast Guard Districts」と入力します。
- [フォルダー] で、フィーチャ レイヤーを保存するフォルダーを選択します。
- [完了] をクリックして、新しいフィーチャ レイヤー出力を保存します。
新しいフィーチャ レイヤー出力 [Ships_Inside_USCG_Districts] が解析エディターに追加されます。
- [データ格納法] で、[各トラック ID 値に対し、最新のフィーチャのみを保持します] をクリックします。
- [フィーチャの結合] ツールを、新しい Ships_Inside_USCG_Districts フィーチャ レイヤー出力に接続します。
- [保存] をクリックして、リアルタイム解析を保存します。
ストリーム レイヤー出力の構成
新しいフィーチャ レイヤー出力が追加され、リアルタイム解析が保存されたら、続いて、Web マップに表示するストリーム レイヤーにフィーチャを送信するための 2 つ目の出力を追加します。
- 左側の [ノードの追加] メニューで [出力] フォルダーをクリックし、[ストリーム レイヤー] を選択して、出力を次のように構成します。
- [ストリーム レイヤー構成] ステップで [次へ] をクリックして、デフォルト パラメーターをそのまま使用します。
[トラック ID ごとに最新の観測データを保持するフィーチャ レイヤーも公開します] および [ストリーム レイヤーがマップに描画されるときにジオメトリを提供するために、関連するフィーチャ レイヤーを選択します] パラメーターは必須ではありません。 フィーチャ レイヤーを公開すると、最新の観測データのみを保持する別のフィーチャ レイヤーを公開することができます。 アセット、この場合には船舶の現在の位置を Web マップ上で別のシンボルにして目立たせる際に便利です。 関連するフィーチャ レイヤーを選択して、出力ストリーム レイヤーに追加のフィールドを付加することができます。
- [ストリーム レイヤー名] に「Ships_Inside_USCG_Districts_stream」と入力します。
- [ストリーム レイヤーのサマリー (オプション)] に「Ships inside US Coast Guard Districts stream」と入力します。
- [フォルダー] で、ストリーム レイヤーを保存するフォルダーを選択します。
- [ストリーム レイヤー構成] ステップで [次へ] をクリックして、デフォルト パラメーターをそのまま使用します。
- [完了] をクリックして、ストリーム レイヤー出力を作成します。
新しいストリーム レイヤー出力 Ships_Inside_USCG_Districts_stream が解析エディターに追加されます。
- [フィーチャの結合] ツールを Ships_Inside_USCG_Districts_stream ストリーム レイヤー出力に接続します。
- [保存] をクリックして、リアルタイム解析を保存します。
リアルタイム解析の開始
リアルタイム解析に必要なフィード、データ ソース、ツール、出力が追加され、開始する準備が整いました。 この解析を開始 (実行) すると、シミュレートされた船舶データが受信され、各船舶が現在配置されている米国沿岸警備隊地区の名前がこれに結合され、イベント データがフィーチャ レイヤー出力とストリーム レイヤー出力に書き込まれます。
- 解析エディターの右上にある [開始] をクリックします。
フィードと同様に、リアルタイム解析は実行時間の長いタスクで、停止されるまで実行し続けます。
[開始] ボタンのテキストが [初期化の停止] に変わってから [停止] に変わります。 これは、現在リアルタイム解析が実行中であることを示しています。
- [リアルタイム解析] ページで、ステータスを表示して [AIS Real Time Processing] 解析を監視します。
リアルタイム解析のメトリクスの表示
リアルタイム解析の実行に関するメトリクスは、Velocity で表示できます。 メトリクスは各エレメントの全体におけるイベントの平均レートで、過去 5 分間の実行時間における各エレメントの平均レートを示します。 さらに、リアルタイム解析の実行中は、メトリクスは解析のコンピューティング利用率を表します。 詳細については、「リアルタイム解析のメトリクス」をご参照ください。
- [AIS Real Time Processing] リアルタイム解析で、[メトリクス] 切り替えボタンをオンにして、解析の各ノードのメトリクスを表示します。
- リアルタイム解析の各ノードのメトリクスを確認します。 各ノードが毎秒処理しているイベント数、観測データの入出力の合計数、およびコンピューター利用率に注目します。
出力レイヤーの確認
リアルタイム解析が実行され、フィーチャ レイヤー出力とストリーム レイヤー出力にイベント データが送信されていると、リアルタイム解析で直接、これらの出力レイヤーを Web マップに追加できるようになります。
- メイン メニューで、[入力] の下の [フィード] をクリックして [フィード] ページを開きます。
- [ship_positions_simulation] フィードが開始されていない場合は、[開始] をクリックします。
- メイン メニューで、[解析] の下の [リアルタイム] をクリックして [リアル タイム解析] ページを開きます。
- [AIS Real Time Processing] リアルタイム解析が開始されていない場合は、[開始] をクリックします。
- [AIS Real Time Processing] リアルタイム解析が実行中になったら、鉛筆アイコンをクリックして解析を編集します。
- [Ships_Inside_USCG_Districts] フィーチャ レイヤー出力を右クリックして [Map Viewer で開く] を選択します。
新しいブラウザー タブに ArcGIS Online の Map Viewer が開き、Web マップにフィーチャ レイヤーが追加されます。
- ベースマップを [キャンバス (ダーク グレー)] に変更します。
- [追加] をクリックして [Web からレイヤーを追加] を選択します。
- URL https://services2.arcgis.com/FiaPA4ga0iQKduv3/arcgis/rest/services/US_Coast_Guard_Districts_new/FeatureServer を使用して、米国沿岸警備隊地区フィーチャ レイヤーを追加します。
- いずれかの船舶フィーチャをクリックしてポップアップを開き、その属性を確認します。 それぞれの観測データに、その船舶が現在位置している米国沿岸警備隊地区の名前 ([DistrictName]) が付加されます。
次の手順
ArcGIS Velocity を使用してリアルタイム解析を作成し、出力フィーチャを Web マップに表示しました。 その後、フィーチャの結合ツールを追加して、空間情報付加を実行し、取り込まれた観測データにコンテキスト情報を関連付けます。
続いて、Velocity のビッグ データ解析の操作について紹介する「ビッグ データ解析の設計」レッスンをご参照ください。 Arcade 式の使用に関心がある場合は、「Arcade 式の使用」をご参照ください。