ガイドAPIリファレンス
ガイド

地理空間フィルター

複数のフローオブジェクトまたはインシデントオブジェクトのリクエストには、データが返されるリージョンを定義する地理空間フィルターを指定するinパラメーターを指定する必要があります。

📘

返されるトラフィックイベントが、指定された地理空間フィルター内に厳密に含まれていないことがありますが、 非常に近い位置にあります。これは、地理空間フィルターとトラフィックイベントのマッチング方法によるものです。各トラフィックイベントには、 それが影響を及ぼす場所を囲むバウンディングボックスが関連付けられています。交通イベントのバウンディングボックスと 指定された地理空間フィルターの間に交差がある場合、交通イベントが そのフィルター内に存在していなくても返されます。以下にグラフィック表現を示します。

地理空間フィルターとトラフィックイベント間のマッチング方法の表現

使用できる地理空間フィルタータイプは、以下の4種類です。

  • サークル
  • バウンディングボックス
  • コリドー
  • トポロジーセグメント参照

Data types

記載された地理空間フィルターでは、以下のデータ型が使用されます。

  • 緯度:10進数
  • 経度:10進数
  • 半径:整数
  • ポリライン:文字列
  • refReplacements:文字列
  • セグメント:文字列

サークル

円の地理空間フィルターは、中心点とメートル単位で測定された半径によって定義されます。中心点はWGS84座標で指定する必要があります。

📘

円フィルターで許容される最大半径は50km (50,000m)です。

URLパラメーターとして:

  • フォーマット:in=circle:{latitude},{longitude};r={radius}
  • 例:in=circle:52.537675,13.40302;r=1000

POSTボディとして:

  • フォーマット:

    "in": {
        "type": "circle",
        "center": {"lat": {latitude}, "lng": {longitude}},
        "radius": {radius}
    }
  • 例:

    "in": {
        "type": "circle",
        "center": {"lat": 52.537675, "lng": 13.40302},
        "radius": 1000
    }

上記の例では、52.537675, 13.40302の座標を中心とし、半径1000メートル (1キロメートル) の円を示しています。以下にグラフィック表現を示します。 ベルリン、ミッテ区のマップ上に配置された円フィルターの表現

バウンディングボックス

バウンディングボックスの地理空間フィルターは、2つの経度値と2つの緯度値で定義されます。形式は以下のとおりです。

📘

バウンディングボックスフィルターの最大の幅と高さは1度です。

URLパラメーターとして:

  • フォーマット:in=bbox:{west longitude},{south latitude},{east longitude},{north latitude}
  • 例:in=bbox:13.386969,52.527129,13.424134,52.549420

POSTボディとして:

  • フォーマット:

    "in": {
        "type": "bbox",
        "west": {west longitude},
        "south": {south latitude},
        "east": {east longitude},
        "north": {north latitude}
    }
  • 例:

    "in": {
        "type": "bbox",
        "west": 13.386969,
        "south": 52.527129,
        "east": 13.424134,
        "north": 52.549420
    }

上記の例では、次の制限のあるバウンディングボックスを示しています。

  • 西端の経度が13.386969
  • 南端の緯度が52.527129
  • 東端の経度が13.424134
  • 北端の緯度が52.549420

以下にグラフィック表現を示します。 ベルリン、ミッテ区のマップ上に配置されたバウンディングボックスフィルターの表現

コリドー

コリドーの地理空間フィルターは、2つ以上の座標と半径 (メートル単位) のリストで定義されます。ポリラインの座標はFlexible Polylineエンコーディングで示されます。 半径はコリドーを形成するポイントの両側の距離であり、コリドーの幅は半径の2倍になります。

📘

コリドーのポイントの数は最大300、コリドーの最大長は500km (500,000m)、最大半径は5km (5,000m) です。

ポリラインの文字列が大きすぎる長いコリドーでは、HTTPリクエストのPOSTメソッドを使用してURIの長さ制限(1,000文字)を超えないようします。

URLパラメーターとして:

  • フォーマット:in=corridor:{polyline};r={radius}
  • 例:in=corridor:BG-6kmkDw1zwZqqG6xmBsgL5rGmwFgqZ_oEw1d;r=230

POSTボディとして:

  • フォーマット:

    "in": {
        "type": "corridor",
        "corridor": "{polyline}",
        "radius": {radius}
    }
  • 例:

    "in": {
        "type": "corridor",
        "corridor": "BG-6kmkDw1zwZqqG6xmBsgL5rGmwFgqZ_oEw1d",
        "radius": 230
    }

上記の例を作成するには、まず次の5つのポイントでコリドーを定義する必要があります。

  1. 52.529583, 13.379416
  2. 52.532820, 13.399157
  3. 52.538458, 13.395896
  4. 52.541277, 13.408856
  5. 52.539085, 13.424048

これはFlexible Polyline BG-6kmkDw1zwZqqG6xmBsgL5rGmwFgqZ_oEw1dに対応しています。指定された半径は230メートルで、コリドーの片側から反対側までの距離は460メートルです。 以下にグラフィック表現を示します。 ベルリン、ミッテ区のマップ上に配置されたコリドーフィルターの表現

Topology segment reference

トポロジーセグメント参照の地理空間フィルターは、一連のセグメント参照によって定義され、必要に応じて参照の置換が可能です。セグメント参照では、フィルターに含める正確な道路セグメントを指定します。参照の置換はオプションのパラメーターで、トポロジーセグメント参照のコンパクト表示に使用されます。

📘

サポートされるセグメント参照は、最大100件です。さらに、GET要求のURIの長さは2,000文字に制限されています。

URLパラメーターとして:

  • フォーマット:in=segmentRef:{segment refs};rr={refReplacements}
  • 例:in=segmentRef:$0::377894440:$1:190307851#-0..1,$0::377894440:$1:99994475#+0..1,$0::377894440:$1:484412450#+0..1,$0::377894441:$1:144195424#+0..1,$0::377894441:$1:207551710#-0..1,$0::377894441:$1:76771992#+0..1,$0::377894441:$1:487984106#+0..1,$0::377894441:$1:487970484#+0..1,$0::377894441:$1:86785295#+0..1,$0::377894441:$1:531360041#+0..1,$0::377894441:$1:89123581#+0..1,$0::377894441:$1:531389452#+0..1,$0::377894441:$1:859836198#-0..1,$0::377894441:$1:859837047#+0..1,$0::377894441:$1:859838073#+0..1,$0::377894441:$1:859837508#-0..1,$0::377894441:$1:179812597#+0..1,$0::377894441:$1:105842781#+0..1,$0::377894441:$1:104623676#+0..1,$0::377894441:$1:104623677#+0..1,$0::377894441:$1:104623674#+0..1,$0::377894441:$1:192254744#-0..1,$0::377894441:$1:484433488#+0..1,$0::377894441:$1:78865338#+0..0.12233102324472997,$0::377894441:$1:78865338#+0.12233102301189933..1,$0::377894441:$1:105961077#+0..1,$0::377894441:$1:102089406#+0..1,$0::377894441:$1:102089407#+0..1,$0::377894443:$1:95507280#+0..1,$0::377894443:$1:98357361#+0..1,$0::377894443:$1:77041562#+0..1,$0::377894443:$1:94423640#+0..1;rr=hrn:here:data::olp-here:rib-2:7334,here:cm:segment

POSTボディとして:

  • フォーマット:

    
    "in": {
        "type": "segmentRef",
        "refReplacements": {string},
        "segments": [string]
    }
  • 例:

    
    "in": {
        "type": "segmentRef",
        "useRefReplacements": true,
        "refReplacements": {
            "0": "hrn:here:data::olp-here:rib-2:7334",
            "1": "here:cm:segment"
        },
        "segments": [
            {"ref": "$0::377894440:$1:190307851#-0..1"},
            {"ref": "$0::377894440:$1:99994475#+0..1"},
            {"ref": "$0::377894440:$1:484412450#+0..1"},
            {"ref": "$0::377894441:$1:144195424#+0..1"},
            {"ref": "$0::377894441:$1:207551710#-0..1"},
            {"ref": "$0::377894441:$1:76771992#+0..1"},
            {"ref": "$0::377894441:$1:487984106#+0..1"},
            {"ref": "$0::377894441:$1:487970484#+0..1"},
            {"ref": "$0::377894441:$1:86785295#+0..1"},
            {"ref": "$0::377894441:$1:531360041#+0..1"},
            {"ref": "$0::377894441:$1:89123581#+0..1"},
            {"ref": "$0::377894441:$1:531389452#+0..1"},
            {"ref": "$0::377894441:$1:859836198#-0..1"},
            {"ref": "$0::377894441:$1:859837047#+0..1"},
            {"ref": "$0::377894441:$1:859838073#+0..1"},
            {"ref": "$0::377894441:$1:859837508#-0..1"},
            {"ref": "$0::377894441:$1:179812597#+0..1"},
            {"ref": "$0::377894441:$1:105842781#+0..1"},
            {"ref": "$0::377894441:$1:104623676#+0..1"},
            {"ref": "$0::377894441:$1:104623677#+0..1"},
            {"ref": "$0::377894441:$1:104623674#+0..1"},
            {"ref": "$0::377894441:$1:192254744#-0..1"},
            {"ref": "$0::377894441:$1:484433488#+0..1"},
            {"ref": "$0::377894441:$1:78865338#+0..0.12233102324472997"},
            {"ref": "$0::377894441:$1:78865338#+0.12233102301189933..1"},
            {"ref": "$0::377894441:$1:105961077#+0..1"},
            {"ref": "$0::377894441:$1:102089406#+0..1"},
            {"ref": "$0::377894441:$1:102089407#+0..1"},
            {"ref": "$0::377894443:$1:95507280#+0..1"},
            {"ref": "$0::377894443:$1:98357361#+0..1"},
            {"ref": "$0::377894443:$1:77041562#+0..1"},
            {"ref": "$0::377894443:$1:94423640#+0..1"}               
        ]
    }

上記の例を作成するには、ルーティングAPIを呼び出し、一連のトポロジーセグメント参照を取得します。次のエンドポイントを使用し、指定したルートに沿ったセグメント参照を取得できます:ルーティングAPI

レスポンスから、ルート上のspanオブジェクトからセグメント参照の一覧を抽出できます。

以下にグラフィック表現を示します。 ベルリン、ミッテ区のマップ上に配置されたトポロジーセグメント参照フィルターの表現