このレッスンは、AIS (Automatic Identification System) 船舶データを収集する新しいフィードを作成した「フィードの作成」のレッスンに基づいています。 リアルタイム解析を構成し、ストリーミング AIS データに各船舶が配置されている米国沿岸警備隊地区の情報を付加して、Velocity でストリーミング データに対してリアルタイム解析を作成する方法について説明します。 このレッスンでは、リアルタイム ツールの追加と構成、データを配布する出力の追加、フィーチャ レイヤーへのフィーチャの格納について取り上げます。
このレッスンは初心者向けに設計されています。 ArcGIS Velocity にアクセスできる ArcGIS 組織に接続する必要があります。 このレッスンの所要時間の目安は 30 分です。
新しいリアルタイム解析の作成
最初に、「フィードの作成」のレッスンで作成した AIS フィードに関するリアルタイム解析を作成します。
- Web ブラウザーで ArcGIS Velocity を開き、ArcGIS Online の認証情報を使用してサイン インします。
Google Chrome または Mozilla Firefox の使用をおすすめします。
- メイン メニューで、[解析] の下の [リアルタイム] をクリックして [リアルタイム解析] ページを開きます。
ヒント:
[ホーム] ページの [はじめに] セクションには、[リアルタイム解析] の下に [リアルタイム解析の作成] ショートカット ボタンがあります。
[リアルタイム解析] ページでは、既存のリアルタイム解析で次の操作を実行できます。
- 確認
- 作成
- 開始
- 停止
- ステータスを確認
- 編集
- クローン
- 削除
- 共有
- ログの表示
- 指標の確認
- [リアルタイム解析の作成] をクリックして解析構成ウィザードを開きます。
- [新しいリアルタイム解析の作成] ページで、[既存のフィード] をクリックします。
- [既存のフィードの選択] ダイアログ ボックスで、[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 でデータがサンプリングされ、最初のスキーマが生成されます。
- [キー フィールドの識別] の [トラッキング] で、[データに Track ID がありません] を選択します。
構成ウィザードのこの手順はジオメトリー、日時、トラッキング情報の構築方法を定義するために使用されます。 データ ソースが ArcGIS フィーチャ レイヤーなので、ジオメトリー情報と日時情報は自動的に構成されます。
- [完了] をクリックし、データ ソースを作成してエディターに追加します。
- [USCG_Districts] ソース ノードを [ship_positions_simulation] フィード ノードの下にドラッグし、[フィーチャの結合] ツール ノードに接続します。
米国沿岸警備隊地区フィーチャ レイヤーが、[フィーチャの結合] ツールに情報付加のデータ ソースとして追加されます。 [フィーチャの結合] ツールに、船舶位置フィードと米国沿岸警備隊地区フィーチャ レイヤー データ ソースの 2 つの入力が接続されました。
- [フィーチャの結合] ツールをダブルクリックしてそのプロパティを開き、ツールを次のように構成します。
- [結合方法] で、[1 対 1] をクリックします。
- [すべてのフィーチャを保持] で、[結合されたフィーチャのみを保持] をクリックします。
- [リレーションシップ] で、[空間] チェックボックスをオンにし、空間リレーションシップ タイプのドロップダウン メニューから [交差する] を選択します。
次に、[サマリー フィールド] パラメーターを設定できます。
- [属性] で、[DistrictName] を選択します。
- [統計情報] で [すべて] を選択します。
- [出力フィールド名] で、[DistrictName_Any] を削除し、「DistrictName」と入力します。
- [追加] をクリックしてフィールドを結合操作に追加します。
- [ターゲット フィーチャのジオメトリーを結合フィーチャのジオメトリーに変更] を [いいえ] のままにします。
- [適用] をクリックしてプロパティを保存します。
- 解析エディターで [保存] をクリックして、[AIS Real Time Processing] 解析を保存します。
このレッスンでは、米国沿岸警備隊地区と交差する船舶を検出する方法と、そのコンテキスト情報を船舶データに追加 (結合) する方法について説明します。 これは、状況認識能力の向上や今後の解析のために利用できます。
フィーチャ レイヤー出力の構成
データ ソースと解析ツールを作成したので、データの格納と視覚化を行う 2 つの出力を追加できます。 最初に、データを新しいフィーチャ レイヤーに格納する出力を追加して構成します。 次に、Web マップで視覚化するためにストリーム レイヤーにデータを送信する別の出力を追加します。
注意:
時空間フィーチャ レイヤー名は、組織内で一意でなければなりません。
Velocity では、時空間フィーチャ レイヤー名が、フィードおよびストリーム レイヤーの名前と異なる必要があります。 重複した名前がある場合、Velocity でリアルタイム解析やビッグ データ解析を作成することはできません。 これは、Velocity フィーチャ レイヤー出力のみに適用され、ArcGIS Online ホスト フィーチャ レイヤーには適用されません。
出力を追加するには、次の手順を実行します。
- [ノードの追加] メニューで [出力] をクリックし、[フィーチャ レイヤー (新規)] を選択して、出力を以下のように構成します。
- [データ格納法] で、[各 Track ID 値に対し、最新のフィーチャのみを保持します] を選択します。
これにより、各トラッキング (この場合は各船舶) の最新の観測値のみが保持されます。 以降の観測値によって、出力フィーチャ レイヤー内の各トラッキングの前の観測値は上書きされます。
注意:
[すべての新しいフィーチャの追加] オプションを選択した場合、受信した最新のフィーチャだけでなく、すべての受信データが保持されます。
- [解析の開始ごと] で、[既存のフィーチャおよびスキーマを置換] を選択します。
解析が開始されるたびに、出力フィーチャ レイヤー内のすべてのレコードが削除され、出力フィーチャ レイヤーのスキーマが再生成されます。 これは、リアルタイム解析を開発およびテストする場合や、次に解析が実行される間にツールを追加、削除、または変更する場合に便利です。
注意:
リアルタイム解析が再開されるときに既存のデータを保持するには、[既存のフィーチャおよびスキーマを保持] オプションを選択します。
- [次へ] をクリックします。
- [保存] で、[フィーチャ レイヤー名] に「Ships_Inside_USCG_Districts」と入力します。
- [フィーチャ レイヤーのサマリー (オプション)] に「Ships inside US Coast Guard Districts」と入力します。
- [フォルダー] で、フィーチャ レイヤーを保存するフォルダーを選択します。
- [完了] をクリックして、新しいフィーチャ レイヤー出力を保存します。
新しいフィーチャ レイヤー出力 [Ships_Inside_USCG_Districts] が解析エディターに追加されます。
- [データ格納法] で、[各 Track ID 値に対し、最新のフィーチャのみを保持します] を選択します。
- [フィーチャの結合] ツール ノードを、新しい [Ships_Inside_USCG_Districts] フィーチャ レイヤー出力ノードに接続します。
- [保存] をクリックして、リアルタイム解析を保存します。
ストリーム レイヤー出力の構成
新しいフィーチャ レイヤー出力が追加され、リアルタイム解析が保存されたら、Web マップに表示するストリーム レイヤーにフィーチャを送信するための 2 つ目の出力を追加します。
注意:
ストリーム レイヤー名は、組織内で一意でなければなりません。
Velocity では、ストリーム レイヤー名が、フィードおよび時空間フィーチャ レイヤーの名前と異なる必要があります。 重複した名前がある場合、Velocity でリアルタイム解析やビッグ データ解析を作成することはできません。
- [ノードの追加] メニューで [出力] をクリックし、[ストリーム レイヤー] を選択して、出力を次のように構成します。
- [ストリーム レイヤー構成] で [次へ] をクリックして、デフォルト パラメーターをそのまま使用します。
[Track ID ごとに最新の観測データを保持するフィーチャ レイヤーも公開します] および [ストリーム レイヤーがマップに描画されるときにジオメトリーを提供するために、関連するフィーチャ レイヤーを選択します] パラメーターは必須ではありません。 フィーチャ レイヤーを公開すると、最新の観測データのみを保持する別のフィーチャ レイヤーを公開することができます。 アセット、この場合には船舶のアクティブな位置を Web マップ上で別のシンボルにして目立たせる際に便利です。 関連するフィーチャ レイヤーを選択して、出力ストリーム レイヤーに追加のフィールドを付加することができます。
- [ストリーム レイヤー名] に「Ships_Inside_USCG_Districts_stream」と入力します。
- [ストリーム レイヤーのサマリー (オプション)] に「Ships inside USCG 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 組織の Map Viewer が開き、Web マップにフィーチャ レイヤーが追加されます。
- ベースマップを [キャンバス (ダーク グレー)] に変更します。
- [追加] をクリックして [Web からレイヤーを追加] を選択します。
- URL https://services2.arcgis.com/FiaPA4ga0iQKduv3/arcgis/rest/services/US_Coast_Guard_Districts_new/FeatureServer を使用して、米国沿岸警備隊地区フィーチャ レイヤーを追加します。
- いずれかの船舶フィーチャをクリックしてポップアップを開き、その属性を確認します。
それぞれの観測データに、その船舶が現在位置している米国沿岸警備隊地区の名前 ([DistrictName]) が付加されます。
次の手順
Velocity を使用してリアルタイム解析を作成し、出力フィーチャを Web マップに表示しました。 その後、[フィーチャの結合] ツールを追加して、空間情報付加を実行し、取り込まれた観測データにコンテキスト情報を関連付けます。
続いて、Velocity のビッグ データ解析の操作について紹介する「ビッグ データ解析の設計」レッスンをご参照ください。 Arcade 式の使用に関心がある場合は、「Arcade 式」をご参照ください。