空間検索でフィーチャを取得します
空間検索に Geometry を提供できます
空間検索では、入力として Geometry が必要です。 1 つの共通のユースケース:特定の位置から約 1000 メートルの位置にあるすべての機能を検索します。 もう 1 つの方法として、道路から 100 メートル離れた場所にあるすべての機能を見つけることができます。
このような空間検索を行うには、 Point ジオメトリまたは LineString ジオメトリを指定し、半径をメートル単位で指定します。半径は、入力 Geometry に厚みを付けて適用されます。
もう 1 つの共通のユースケースが、ある国に属するすべての機能を検索しています。 このために必要なのは、その国の Polygon Geometry を提供することだけです。 このリクエストでは、次の GeoJSON ジオメトリタイプを入力として使用できます。 Point 、 MultiPoint 、 LineString 、 MultiLineString 、 Polygon 、 MultiPolygon 。
POST リクエスト を介した形状の送信
検索ジオメトリを提供する最も簡単な方法は、 POST リクエストを使用して送信することです。
空間検索で既存の形状を参照しています
検索ジオメトリを提供するもう 1 つの方法は、 Interactive マップ レイヤーに保存されている既存のフィーチャーから読み取ることです。 Geometry の検索が非常に複雑な場合、または頻繁に使用する Geometry を空間検索に保存する場合にお勧めします。
空間的な Get-Requests を使用しています
このリクエストでは、指定した半径内にあるフィーチャーを要求します。 原点の半径は、半径と角度(緯度 & 経度)、またはフィーチャーの形状を指定して計算されます。
GET /<Base path for the interactive API from the API Lookup Service>/layers/<Layer ID>/spatial?lon=<Longitude>&lat=<Latitude>}&radius=<raduisInMeters>
対話式マップ レイヤーからフィーチャーを参照する空間検索:
GET /<Base path for the interactive API from the API Lookup Service>/layers/<Layer ID>/spatial?refLayerId=<Referenced Layer ID>&refFeatureId=<rReferennced Feature ID>
注
GET 要求での許可の場合、認可ヘッダーでベアラトークンの代わりに API キー をクエリ パラメーターとして使用することもできます。
応答 ( 例 )
{
"type": "FeatureCollection",
"features":
[
{
"type": "Feature",
"id": "BfiimUxHjj",
"geometry":
{
"type": "Point",
"coordinates":
[
7.01,
50.03
]
},
"properties":
{
"name": "Anfield",
"@ns:com:here:xyz":
{
"createdAt": 1517504700726,
"updatedAt": 1517504700726
},
"amenity": "Football Stadium",
"capacity": 54074,
"popupContent": "Home of Liverpool Football Club"
}
}
]
}
空間的な POST 要求の使用
このリクエストでは、指定した半径内のフィーチャーが作成されます。 原点は、ペイロードとして提供された形状に基づいて計算されます。
POST /<Base path for the interactive API from the API Lookup Service>/layers/<Layer ID>/spatial
次のボディーを使用します
{
"type": "MultiPolygon",
"coordinates": [
[
[
[
7,
50
],
[
7.1,
50
],
[
7.1,
50.1
],
[
7,
50.1
],
[
7,
50
]
],
[
[
7.05,
50.05
],
[
7.05,
50.09
],
[
7.09,
50.09
],
[
7.09,
50.05
],
[
7.05,
50.05
]
]
]
]
}
レスポンス
{
"type": "FeatureCollection",
"features":
[
{
"type": "Feature",
"id": "BfiimUxHjj",
"geometry":
{
"type": "Point",
"coordinates":
[
7.01,
50.03
]
},
"properties":
{
"name": "Anfield",
"@ns:com:here:xyz":
{
"createdAt": 1517504700726,
"updatedAt": 1517504700726
},
"amenity": "Football Stadium",
"capacity": 54074,
"popupContent": "Home of Liverpool Football Club"
}
}
]
}
注
バージョン対応のインタラクティブマップ レイヤー を使用している場合は、「バージョン」のクエリ パラメーター を使用して、特定のバージョンのレイヤーに空間検索を要求できます。