GetNodeAndLinkPIDFromPolygon
指定した範囲(ポリゴン)内にあるノードおよびリンクのP-IDをすべて取得します。
指定したポリゴン内に含まれるノード情報とリンク情報を、P-ID配列および GeoJSON 形式で取得できます。
本APIは利用方法により課金額が大きくなる可能性があります。
- 広域の空間検索 空間範囲を広く指定すると、数百件以上のリンクデータを取得する可能性があります。
詳細は課金額が大きくなる可能性のあるケースとAPIを参照してください。
リクエスト
| 項目 | 内容 |
|---|---|
| HTTPメソッド | POST および GET |
| エンドポイント | /API/Consolidate/GetNodeAndLinkPIDFromPolygon |
| 認証 | トークンベース認証(HTTPヘッダに Token-Key を設定) |
パラメータ
| id | 型 | 必須 | 説明 | 備考 |
|---|---|---|---|---|
| road_classification | integer | - | 道路区分 | 詳細は road_classification を参照 |
| request_crs | string | - | リクエスト座標参照系 | 詳細は CRS を参照 |
| response_crs | string | - | レスポンス座標参照系 | 詳細は CRS を参照 |
| spatial_search_area | string | 〇 | 空間検索範囲 | 探索する空間検索範囲(ポリゴンで指定) 詳細は 空間検索条件 を参照 |
| exclude_node_pid_list | string | - | 除外ノードリスト | 除外するノードのパーマネントID。複数条件の場合はカンマ(,)区切り |
| response_geodata | string | - | geo_data応答形式 | 詳細は response_geodata を参照 |
本 API はポリゴン検索専用です。spatial_search_area に探索対象のポリゴンを指定し、
その範囲に含まれるノードおよびリンクの P-ID を取得します。
サンプルソースコード
以下は JavaScript を用いて、本 API を呼び出す例です。
指定したポリゴン範囲に含まれるノードおよびリンクの P-ID を取得します。
const url = "https://pf.drm.jp/API/Consolidate/GetNodeAndLinkPIDFromPolygon";
const token = "your_token";
const data = {
road_classification: 1,
request_crs: "EPSG:4326",
response_crs: "EPSG:4326",
spatial_search_area: "POLYGON((139.7670 35.6810,139.7680 35.6810,139.7680 35.6820,139.7670 35.6820,139.7670 35.6810))",
exclude_node_pid_list: "12345678901234567899",
response_geodata: "geojson/object"
};
async function callGetNodeAndLinkPIDFromPolygon() {
try {
const payload = new URLSearchParams(data);
const res = await fetch(url, {
method: "POST",
headers: {
"Token-Key": token,
"Content-Type": "application/x-www-form-urlencoded"
},
body: payload.toString()
});
const json = await res.json();
console.log(JSON.stringify(json, null, 2));
} catch (err) {
console.error(err);
}
}
レスポンス
検索条件に一致したノード情報およびリンク情報が JSON 形式で返却されます。
geo_data_node と geo_data_link は、指定した応答形式に応じて文字列またはオブジェクトで返却されます。
{
"status": 1,
"response_crs": "EPSG:4326",
"node_pid_list": [
"12345678901234567890",
"12345678901234567891"
],
"link_pid_list": [
"22345678901234567890"
],
"geo_data_node": {
"type": "FeatureCollection",
"crs": {
"type": "name",
"properties": {
"name": "EPSG:4326"
}
},
"features": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [139.767125, 35.681236, 0]
},
"properties": {
"版番号": "3703.00",
"pid": "12345678901234567890",
"ノード番号": "53394612345"
}
}
]
},
"geo_data_link": {
"type": "FeatureCollection",
"crs": {
"type": "name",
"properties": {
"name": "EPSG:4326"
}
},
"features": [
{
"type": "Feature",
"geometry": {
"type": "LineString",
"coordinates": [
[139.767100, 35.681200, 0],
[139.767300, 35.681300, 0]
]
},
"properties": {
"版番号": "3703.00",
"pid": "22345678901234567890",
"リンク番号": "5339466789053394667891"
}
}
]
}
}
ノード情報およびリンク情報は GeoJSON 形式で返却されます。実際のレスポンスには、 ここに示した項目以外の属性が含まれる場合があります。
レスポンス情報
| キー | 型 | 必須 | 説明 | 備考 |
|---|---|---|---|---|
| status | integer | 〇 | 処理結果 | 詳細は status を参照 |
| response_crs | string | - | レスポンス座標参照系 | 詳細は CRS を参照 |
| node_pid_list[] | string | 〇 | 取得ノードパーマネントID配列 | リクエスト条件で取得したノードのパーマネントID配列 |
| link_pid_list[] | string | 〇 | 取得リンクパーマネントID配列 | リクエスト条件で取得したリンクのパーマネントID配列 |
| geo_data_node | string / object | 〇 | 地物情報 | ノード情報の GeoJSON |
| type | string | - | GeoJSON種別 | "FeatureCollection" 固定 |
| crs | object | - | crs情報 | 座標参照系情報 |
| features[] | object[] | - | Feature配列 | ノード情報のオブジェクト配列 |
| pid | string | - | パーマネントID | ノードのパーマネントID |
| ノード番号 | string | - | ノード番号 | 2次メッシュ番号(6)+ノード番号(5) |
| geo_data_link | string / object | 〇 | 地物情報 | リンク情報の GeoJSON |
| type | string | - | GeoJSON種別 | "FeatureCollection" 固定 |
| features[] | object[] | - | Feature配列 | リンク情報のオブジェクト配列 |
| pid | string | - | パーマネントID | リンクのパーマネントID |
| リンク番号 | string | - | リンク番号 | リンク番号 |
ステータスコード
| コード | ステータス | 説明 |
|---|---|---|
| 200 | OK | リクエストが成功しました。 |
| 400 | Bad Request | リクエストが不正です。 |
| 401 | Unauthorized | 認証情報が不正です。 |
| 403 | Forbidden | 権限がありません。 |
| 500 | Internal Server Error | サーバー内部でエラーが発生しました。 |