6.1 場所ベースのアナリティクスのためのジオフェンスの使用

ジオ・フェンスとは、実際の地理的領域内の仮想境界のことです。この仮想境界は、ジオ・フェンスを基準にしたオブジェクトの位置または場所の検索に使用できます。

たとえば、次のようなオブジェクト位置が考えられます。

  • ジオ・フェンスに近い

  • ジオ・フェンスを出る

  • ジオ・フェンス内の滞留時間に基づく

  • ジオ・フェンスに入る

  • ジオ・フェンス内に存在する

6.1.1 タイル・レイヤーの選択

タイル・レイヤーは、直接的な地理コンテキストを提供するベース・マップです。タイルは、マップ・タイル・サーバーに格納されます。これらのタイル・レイヤーには、次の項目に関連する大量のデータが含まれます。

  • 道路、鉄道、水路など。

  • レストラン、商店、駅、ATMなど

  • 徒歩およびサイクリングの経路

  • 建物、キャンパスなど。

Oracle GoldenGate Stream Analyticsでは、4つのタイプのタイル・レイヤーがサポートされます。

6.1.1.1 Elocationタイル・レイヤー

Elocationタイル・レイヤーは、Oracleタイル・レイヤーです。

Elocationタイル・レイヤーを適用するには:

  1. 画面の右上隅のユーザー名をクリックします。

  2. 「プリファレンス」をクリックします。「プリファレンス」ページが開きます。

  3. 「マップ」をクリックします。

  4. 「タイル・レイヤー」で、ドロップダウン・リストからElocationタイル・レイヤー・オプションを選択します。

    elocationtilelayeroptions.pngの説明が続きます
    図elocationtilelayeroptions.pngの説明

  5. 「保存」をクリックします。マップは次のようになります。

    tilelayer_4.pngの説明が続きます
    図tilelayer_4.pngの説明

6.1.1.2 Open Street Mapsタイル・レイヤー

Open Street Mapsタイル・レイヤーは、無料のマップです。

Open Street Mapsタイル・レイヤーを適用するには:

  1. 画面の右上隅のユーザー名をクリックします。

  2. 「プリファレンス」をクリックします。「プリファレンス」ページが開きます。

  3. 「マップ」をクリックします。

  4. 「タイル・レイヤー」で、ドロップダウン・リストからOpen Street Mapsタイル・レイヤーオプションを選択します。

    tilelayer_1.pngの説明が続きます
    図tilelayer_1.pngの説明

  5. 「保存」をクリックします。マップは次のようになります。

    tilelayer_2.pngの説明が続きます
    図tilelayer_2.pngの説明

6.1.1.3 Google Mapsタイル・レイヤー

Oracle Stream Analyticsでは、空間パターンやビジュアライゼーションにGoogleマップを表示するGoogleタイル・レイヤーのサポートが追加されています。

Googleタイル・レイヤーを適用するには:

  1. 画面の右上隅のユーザー名をクリックします。

  2. 「プリファレンス」をクリックします。「プリファレンス」ページが開きます。

  3. 「マップ」をクリックします。

  4. 「タイル・レイヤー」で、ドロップダウン・リストからGoogleマップ・タイル・レイヤー・オプションを選択します。

    Google Mapsタイル・レイヤー
  5. 次のフィールドに詳細を入力します:
  6. 「保存」をクリックします。

ノート:

Googleマップ・タイル・レイヤーを使用するには、マップの使用方法が、Googleによって定義されているサービス条件(http://code.google.com/apis/maps/faq.html#tos)に適合する必要があります。

6.1.1.4 カスタム・タイル・レイヤー

Oracle Mapsは、デフォルトで、ズーム・レベルが制限されているElocationタイル・レイヤーをサポートしています。Oracle Stream Analyticsでは、レストランや空港などの限られたスペースの詳細で高度なズーム・ビューが必要になる特定のケースで、タイル・レイヤーのズーム・レベルをカスタマイズできるようになりました。

カスタム・タイル・レイヤーを適用するには:

  1. 画面の右上隅のユーザー名をクリックします。

  2. 「プリファレンス」をクリックします。「プリファレンス」ページが開きます。

  3. 「マップ」をクリックします。

  4. 「タイル・レイヤー」で、ドロップダウン・リストからカスタム・タイル・レイヤー・オプションを選択します。

    カスタム・タイル・レイヤー

  5. 次のフィールドに詳細を入力します:
    • マップ・ビューアURL — http://yourmapviewer => Oracleマップ・ビューアを実行している別のアドレス
    • データ・ソース — スタイルを定義するデータベースへの接続。OSAデータ・ソースまたはmapbuilderを介してマップを定義できるカスタム・データ・ソースである必要があります。
    • タイル・レイヤー名 — 定義されたタイル・レイヤーの名前
  6. 「保存」をクリックします。マップは次のようになります。

    カスタム・タイル・レイヤー・マップ・ビュー

ノート:

タイル・レイヤーをカスタマイズするためにグローバル・パラメータを変更すると、マップはカスタム・タイル・レイヤーを使用するように更新されます。これらのカスタマイズは、すべてのジオフェンスに適用されます。

6.1.2 マップ・エディタを使用したジオフェンスの管理

手動ジオ・フェンスは、組込みマップ・エディタを使用して作成、編集および更新できます。ポリゴンのジオ・フェンスのみが許可されます。

6.1.2.1 ジオ・フェンスの作成

手動ジオ・フェンスを作成するには:

  1. 「カタログ」ページで、「新規アイテムの作成」をクリックし、ドロップダウン・リストから「ジオ・フェンス」を選択します。

  2. 「タイプ・プロパティ」画面で、次の詳細を入力します:
    • 名前
    • 説明
    • タグ
    • ジオ・フェンス・タイプ: ドロップダウン・リストから「手動作成ジオ・フェンス」を選択します。
  3. 「保存」をクリックします。

    ジオ・フェンス・エディタで:
    • ジオ・フェンスを作成できます。
    • ズーム・アイコンを使用してマップをナビゲートします

    • 「マーキー・ズーム」ツールを使用して、マップ上の特定の領域をズームします。マーキー・ズームを使用して領域をマークすると、マップ内のその領域がズームされます。

    • ポリゴン・ツールを使用して、ジオ・フェンスを作成する地域を囲む領域をマークします。

      create_geo_fence.pngの説明が続きます
      図create_geo_fence.pngの説明

    • ジオフェンスに対する変更を保存します。

6.1.2.2 ジオフェンスの削除

手動ジオフェンスを削除するには:
  1. 「カタログ」ページに移動し、削除するジオフェンスにマウス・カーソルを合せます。
  2. 画面の右側に表示される削除アイコンをクリックします。
  3. 「削除の確認」画面で「削除」をクリックします。

6.1.3 データベースからのジオフェンスのインポート

データベースからジオ・フェンスをインポートするには:

  1. 「カタログ」ページで、「新規アイテムの作成」をクリックし、ドロップダウン・リストから「ジオ・フェンス」を選択します。

  2. 「タイプ・プロパティ」画面で、次の詳細を入力します:
    • 名前
    • 説明
    • タグ
    • ジオ・フェンス・タイプ: ドロップダウン・リストから「データベースからのジオ・フェンス」を選択します。
  3. 「次」をクリックします。
  4. 「ジオ・フェンス詳細」画面で、「接続」を選択します。
  5. 「次」をクリックします。
  6. 「形状」画面で、ドロップダウン・リストからデータベース表を選択します。ドロップダウン・リストで使用できるのは、SDO Geometryタイプのフィールドを含むデータベース表のみです。

    この画面でキー・フィールドを定義または変更することもできます。

  7. 「保存」をクリックします。

選択したデータベースに含まれるすべてのジオ・フェンスを表示できます。

ノート:

データベース・ベース・ジオ・フェンスは編集または更新できません。

6.1.4 パイプライン・ステージでの空間パターンの使用

空間パターンを使用すると、ジオロケーション・データを含むストリームを分析できます。これらを使用して、イベントがマップ内の事前定義済ジオ・フェンスにどのように関連するかを決定します。

6.1.4.1 ジオ・フェンス外のオブジェクトのクリア

「ジオ・フィルタ」パターンを使用して、ジオフェンス内にないオブジェクトを除外します。

たとえば、ユーザーが異なる地理的位置間を移動する場合、指定したジオ・フェンス内にユーザーがいるときにユーザーに販促メッセージを送信できます。

このパターンを使用するには、次のパラメータに適切な値を指定します:

  • ジオ・フェンス: 分析するジオ・フェンスを選択します。

  • 緯度: 緯度値を含むフィールドを選択します。

  • 経度: 経度値を含むフィールドを選択します。

  • オブジェクト・キー: オブジェクトを一意に識別するフィールドを選択します。このフィールドはパーティション化基準であり、一意のオブジェクト識別子でもあります。

  • 座標系: デフォルト値8307を入力します。サポートされているのはこの値のみです。

送信形状には、受信形状に加えて「ステータス」および場所名の2つの列が追加表示されます。オブジェクトがジオ・フェンス内にある場合、「ステータス」「内部」になり(そうでない場合イベントは対象外)、場所名はステータスが評価対象のジオ・フェンス名です。

6.1.4.2 ジオ・フェンスを使用したオブジェクトの追跡

「ジオ・フェンス」パターンを使用して、ジオ・フェンスと呼ばれる仮想境界とのオブジェクト関係を追跡します。

関係は、ジオ・フェンスに入る出る留まる近いのいずれかです。たとえば、オブジェクトがジオ・フェンスに入ったときにアラートをトリガーできます。また、地理的位置データを含むストリームを分析することもできます。これは、イベントがジオ・フェンス内のポリゴンにどのように関係しているかを判別するのに役立ちます。

このパターンを使用するには、次のパラメータに適切な値を指定します:

  • ジオ・フェンス: 分析するジオ・フェンスを選択します。
  • 緯度: 緯度値を含むフィールドを選択します。
  • 経度: 経度値を含むフィールドを選択します。
  • オブジェクト・キー: オブジェクト・キー・フィールドを選択します。このフィールドはパーティション化基準として使用され、オブジェクトを一意に識別するためにも使用されます
  • トラッキング・イベント: 適切な値を選択します。
  • 座標系: デフォルトおよびサポートされている値は8307です。
  • 距離バッファ: このパラメータは「トラッキング・イベント」「近接」オプションを選択した場合のみ有効になります。このフィールドは、結果をフィルタ処理するためのバッファです。ジオ・フェンスから指定された距離内に存在するイベントまたはオブジェクトのみが、ステータス近接でイベント・テーブルに表示されます。値は10,000km未満である必要があります。

  • 滞留時間: このパラメータは「トラッキング・イベント」「滞留」を選択した場合にのみ有効になります。滞留時間を指定できます。この期間はジオ・フェンス内のオブジェクトのフィルタです。オブジェクトが指定された期間よりも長く滞在する場合のみ対象となり、そうでない場合イベントは対象外となります。

送信形状には受信形状に加えて「ステータス」および場所名の2つの列が追加表示されます。「ステータス」の値はジオ・フェンスでのオブジェクトの動作によって、入る出る滞在、または近接のいずれかになります。場所名はステータスが評価されるジオ・フェンスの名前です。

6.1.4.3 移動オブジェクトの方向の取得

「方向」パターンを使用して、移動オブジェクトの方向を取得します。

たとえば、移動トラックの方向を評価できます。

このパターンを使用するには、次のパラメータに適切な値を指定します:

  • 緯度: 緯度値を含むフィールドを選択します。

  • 経度: 経度値を含むフィールドを選択します。

  • オブジェクト・キー: オブジェクトを一意に識別するフィールドを選択します。例: 車両ID。

  • 座標系: デフォルト値は8307であり、この値のみがサポートされています。

ノート:

フィールドにはすでに受信ストリームで使用されている名前は使用しないでください。

送信形状には受信形状に加えて「方向」が列として含まれます。型はStringです。

6.1.4.4 地理座標の取得

「ジオコード」パターンを使用して、住所または郵便番号の地理座標(緯度や経度など)を取得します。

システム設定でプロキシの詳細が設定されていることを確認します。

このパターンを使用するには、次のパラメータに適切な値を指定します:

  • 名前: 場所名を選択します。

  • 通り: 通りの名前を選択します。

  • 市区町村: 市区町村名を選択します。

  • 地域: 地域を選択します。

  • : 国を選択します。値をハード・コードできます(米国の場合は「US」、インドの場合は「IN」など)。

  • 郵便番号: 郵便番号を選択します。

パターンからの出力は、入力に対応する緯度と経度です。

6.1.4.5 ストリーム内のオブジェクト間の距離の計算

「相互作用: 単一のストリーム」パターンを使用して、あるオブジェクトとストリーム内の他のすべてのオブジェクトとの相互作用を取得します。

たとえば、一群の帆船がお互い近づきすぎていないかを確認できます。

このパターンを使用するには、次のパラメータに適切な値を指定します:

  • ジオメトリ: オブジェクトの形状を含み、SDO_GEOMETRYタイプのフィールドを選択します。

  • オブジェクト・キー: オブジェクトを一意に識別するために使用され、サポートされている場合はデータのパーティション化に使用されるフィールドを選択します。

  • 座標系: デフォルト値は8307であり、この値のみがサポートされています。

送信形状には受信形状のフィールドにisInteractdistanceの2つのフィールドが追加されます。isInteracttrueになるのは、2つの形状の間に相互作用がある場合、つまり2つのオブジェクトの一部が重複する場合です。2つのオブジェクトのdistance0になります。重複がない場合、isInteractfalseになり、distanceには2つのオブジェクトの距離が正の数値で示されます。

6.1.4.6 2つのストリーム内のオブジェクト間の距離の計算

「相互作用: 2つのストリーム」パターンを使用して、あるストリームのオブジェクトと別のストリームのオブジェクトとの相互作用を取得します。2つの形状は、形状の一部が重なっていれば、互いに相互作用すると言えます。2つの形状が相互作用する場合、両者の間の距離はゼロです。

このパターンを使用するには、次のパラメータに適切な値を指定します:

  • ジオメトリ: ジオメトリの適切な値を選択します。

  • オブジェクト・キー: オブジェクト・キーを選択します。

  • イベント・ストリーム2: 2つ目のイベント・ストリームを選択します。

  • ジオメトリ: 2つ目のストリーム内のジオメトリの値を選択します。

  • オブジェクト・キー: 2つ目のストリーム内のオブジェクト・キーを選択します。

  • 座標系: デフォルト値は8307であり、この値のみがサポートされています。

送信形状には受信形状のフィールドにisInteractdistanceの2つのフィールドが追加されます。isInteracttrueになるのは、2つの形状の間に相互作用がある場合、つまり2つのオブジェクトの一部が重複する場合です。2つのオブジェクトのdistance0になります。重複がない場合、isInteractfalseになり、distanceには2つのオブジェクトの距離が正の数値で示されます。

6.1.4.7 ジオ・フェンスの作成

緯度、経度、幅および長さを指定して、デフォルトの座標系を使用してジオ・フェンスを作成するには、「ポイントからポリゴン」パターンを使用します。

たとえば、船団の長さと幅がわかっている場合、その位置座標を使用して船の形状を取得できます。座標は、船の移動に伴って変化します。

このパターンを使用するには、次のパラメータに適切な値を指定します:

  • 緯度: 緯度値を含むフィールドを選択します。

  • 経度: 経度値を含むフィールドを選択します。

  • オブジェクト・キー: オブジェクト・キーの適切な値を選択します。

  • 長さ: オブジェクトの長さを含むフィールドを選択します。

  • : オブジェクトの幅を含むフィールドを選択します。

  • 座標系: デフォルト値は8307であり、この値のみがサポートされています。

  • バッファ: ジオメトリのバッファで使用する正の値を入力します。

送信形状には、座標(latitudelongitude)およびディメンション(lengthwidth)ベースで導出されたイベントの形状(SDO_Geometry型のRectangle/Polygon)が含まれます。

6.1.4.8 ストリーム内のオブジェクト間の近接性のモニター

「近接性: 単一のストリーム」パターンを使用して、各オブジェクトとストリーム内の他のすべてのオブジェクトとの近接性を取得します。

たとえば、飛行機の編隊が飛んでおり、距離バッファが1000mだとします。2機の飛行機が1000m以内に接近した場合に、アラートを発生させることができます。

このパターンを使用するには、次のパラメータに適切な値を指定します:

  • 緯度: 緯度値を含むフィールドを選択します。

  • 経度: 経度値を含むフィールドを選択します。

  • オブジェクト・キー: ストリーム内のオブジェクトを一意に識別するフィールドを選択します。

  • 座標系: デフォルト値は8307であり、この値のみがサポートされています。

  • 距離バッファ: 距離バッファの近接値を入力します。オブジェクトの近接性は、オブジェクトが指定された距離バッファ内にある場合にのみ出力されます。距離の適切な単位を選択します。値は10,000km未満である必要があります。

送信形状には距離が独立した列として表示されます。これは入力形状に加えて考慮対象となる2つのオブジェクトの距離です。

6.1.4.9 2つのストリーム内のオブジェクト間の近接性のモニター

「近接性: 2つのストリーム」パターンを使用して、ストリーム1のオブジェクトとストリーム2の他のすべてのオブジェクトとの近接性を決定します。

このパターン・ステージでは、距離バッファがフィルタとして働きます。たとえば、運転手と乗客のストリームがある場合、フィルタ基準within a distance of 1 kmを使用して、各乗客と運転手との近接性を取得できます。

このパターンを使用するには、次のパラメータに適切な値を指定します:

  • 緯度: 緯度値を含むフィールドをストリーム1から選択します。

  • 経度: 経度値を含むフィールドをストリーム1から選択します。

  • オブジェクト・キー: ストリーム1内のオブジェクトを一意に識別するフィールドを選択します。

  • イベント・ストリーム2: 2つ目のイベント・ストリームを選択します。

  • 緯度: 緯度値を含むフィールドをストリーム2から選択します。

  • 経度: 経度値を含むフィールドをストリーム2から選択します。

  • オブジェクト・キー: ストリーム2内のオブジェクトを一意に識別するフィールドを選択します。

  • 座標系: デフォルト値は8307であり、この値のみがサポートされています。

  • 距離バッファ: 距離バッファの近接値を入力します。このフィールドは2つのオブジェクトのフィルタ基準としての役割を持ち、この距離内に存在しない(距離が選択した距離バッファよりも離れている)オブジェクトは結果セットから除外されます。値は10,000km未満である必要があります。

ノート:

このパターンを持つパイプラインがキャッシュに対応したデータベースを参照する場合、パターンはライブ出力ストリームに出力を表示しません。

送信形状には距離が独立した列として表示されます。これは入力形状に加えて考慮対象となる2つのオブジェクトの距離です。

6.1.4.10 ジオ・フェンスからのオブジェクトの近接性の取得

「近接性: ジオ・フェンスを含むストリーム」パターンを使用して、オブジェクトと仮想境界(ジオ・フェンス)の近接性を取得します。

たとえば、カリフォルニアの都市にいくつかの店舗がある場合、顧客がそのいずれかの店舗から1000mの近接範囲に入ったらすぐに販促メッセージを送信できます。

このパターンを使用するには、次のパラメータに適切な値を指定します:

  • ジオ・フェンス: 分析するジオ・フェンスを選択します。

  • 緯度: 緯度値を含むフィールドを選択します。

  • 経度: 経度値を含むフィールドを選択します。

  • オブジェクト・キー: オブジェクトを一意に識別するフィールドを選択します。例: 車両ID。

  • 座標系: デフォルト値は8307であり、この値のみがサポートされています。

  • 距離バッファ: 距離バッファの近接値を入力します。このフィールドはイベントのフィルタ基準としての役割を持ち、この距離内に存在しない(距離が選択した距離バッファよりも離れている)イベントは結果セットから除外されます。値は10,000km未満である必要があります。

送信形状には「距離」が独立した列として表示されます。これは入力形状に加えて考慮対象となるオブジェクトとジオ・フェンスの距離です。

6.1.4.11 地理座標を使用した最も近い場所の検索

「リバース・ジオコード: 近い」パターンを使用して、指定した地理座標に最も近い場所を取得します。

システム設定でプロキシの詳細が設定されていることを確認します。

このパターンを使用するには、次のパラメータに適切な値を指定します:

  • 緯度: 緯度を選択します。

  • 経度: 経度を選択します。

  • オブジェクト・キー: オブジェクト・キーを選択します。

  • 座標系: デフォルト値は8307であり、この値のみがサポートされています。

送信形状には受信形状に加えて場所名列が追加表示されます。この列が指定した経度および緯度に最も近い場所になります。

6.1.4.12 地理座標を使用した最も近い場所の詳細の検索

「リバース・ジオコード: 近場」パターンを使用して、市区町村、国、番地などの粒度の細かい情報で指定した緯度および経度に近い場所を取得します。

システム設定でプロキシの詳細が設定されていることを確認します。

このパターンを使用するには、次のパラメータに適切な値を指定します:

  • 緯度: 緯度値を含むフィールドを選択します。

  • 経度: 経度値を含むフィールドを選択します。

  • オブジェクト・キー: オブジェクトを一意に識別するフィールドを選択します。

  • 座標系: デフォルト値は8307であり、この値のみがサポートされています。

送信形状には、座標(latitudelongitude)に関連する場所の追加列 - houseNumberstreetcityregioncountry、およびpostal codeが表示されます。

6.1.4.13 平均速度の決定

「空間: 速度」パターンを使用して、時間ウィンドウのすべてのデータ・ポイントで平均速度を決定します。このパターンでは、デフォルトのスライド値が使用されます。たとえば、車の平均速度を分析する場合に使用します。

このパターンを使用するには、次のパラメータに適切な値を指定します:

  • 緯度: 緯度値を含むフィールド名を選択します。

  • 経度: 経度値を含むフィールド名を選択します。

  • オブジェクト・キー: オブジェクト・キーの適切な値を選択します。オブジェクト・キーの例としては、車両IDや、移動オブジェクトを一意に識別するものなどがあります。

  • 座標系: デフォルト値は8307であり、この値のみがサポートされています。

  • ウィンドウ範囲: イベントの速度を計算する時間範囲を選択します。たとえば、window range=5 secondsで、オブジェクト・キーがvehicle IDの場合、直前の5秒間に受信された同じvehicle IDのすべてのイベントが、そのイベントの平均速度計算に使用されます。

送信形状には受信フィールドに加えて「速度」が追加フィールドとして含まれます。これは数値フィールドですが、「速度」マイル/時間で測定されます。