GetItemsByPID
指定した複数のP-IDに該当するノードおよびリンクをすべて取得する。
基本道路および全道路のノード情報・リンク情報を、指定したパーマネントID群に基づいて一括取得できます。
本APIは利用方法により課金額が大きくなる可能性があります。
- 複数P-IDの一括指定 パーマネントIDを大量に指定して一括取得する場合、指定数に比例してデータ量が増加する
詳細は課金額が大きくなる可能性のあるケースとAPIを参照してください。
リクエスト
| 項目 | 内容 |
|---|---|
| HTTPメソッド | POST および GET |
| エンドポイント | /API/Basic/GetItemsByPID |
| 認証 | トークンベース認証(HTTPヘッダに Token-Key を設定) |
パラメータ
| id | 型 | 必須 | 説明 | 備考 |
|---|---|---|---|---|
| pid_list | string | 〇 | パーマネントIDリスト |
検索対象のパーマネントIDを指定(複数条件はカンマ区切り) 整数10桁または整数10桁+小数1桁~5桁を指定可能 整数10桁+小数5桁は完全一致検索 それ以外は前方一致検索 |
| response_crs | string | - | レスポンス座標参照系 | 詳細は CRS を参照 |
| response_geodata | string | - | geo_data応答形式 | 詳細は response_geodata を参照 |
| history_omission | integer | - | 履歴省略 |
※v9.0で新設 0:通常検索(前方一致検索) 1:履歴込み検索(整数部のみ検索) 指定なし:通常検索(前方一致検索) |
pid_list の指定方法により、前方一致検索または完全一致検索が行われます。
history_omission を指定すると、履歴を含めた整数部のみの検索が可能です。
サンプルソースコード
以下は JavaScript を用いて、本 API を呼び出す例です。
指定した複数のP-IDに対応するノードおよびリンクを取得します。
const url = "https://pf.drm.jp/API/Basic/GetItemsByPID";
const token = "your_token";
const data = {
pid_list: "1234567890,2234567890.12345,3234567890",
response_crs: "EPSG:4326",
response_geodata: "geojson/object",
history_omission: 0
};
async function callGetItemsByPID() {
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_basic_node、geo_data_basic_link、geo_data_all_node、geo_data_all_link は、指定した応答形式に応じて文字列またはオブジェクトで返却されます。
{
"status": 1,
"response_crs": "EPSG:4326",
"unacquired_pid_list": [
"9999999999"
],
"geo_data_basic_node": {
"type": "FeatureCollection",
"crs": {
"type": "name",
"properties": {
"name": "EPSG:4326"
}
},
"features": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [139.767125, 35.681236, 0]
},
"properties": {
"pid": "1234567890.12345",
"版番号": "3703.00",
"ノード番号": "53394612345"
}
}
]
},
"geo_data_basic_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": {
"pid": "2234567890.12345",
"版番号": "3703.00",
"管理者名": "サンプル管理者",
"リンク番号": "5339466789053394667891"
}
}
]
},
"geo_data_all_node": {
"type": "FeatureCollection",
"crs": {
"type": "name",
"properties": {
"name": "EPSG:4326"
}
},
"features": []
},
"geo_data_all_link": {
"type": "FeatureCollection",
"crs": {
"type": "name",
"properties": {
"name": "EPSG:4326"
}
},
"features": []
}
}
基本道路と全道路は、それぞれ別キーで返却されます。ロールにより返却属性が異なるため、実際のレスポンスにはここに示した項目以外の属性が含まれる場合があります。
レスポンス情報
| キー | 型 | 必須 | 説明 | 備考 |
|---|---|---|---|---|
| status | integer | 〇 | 処理結果 | 詳細は status を参照 |
| response_crs | string | - | レスポンス座標参照系 | 詳細は CRS を参照 |
| unacquired_pid_list[] | string | - | 取得不可パーマネントID配列 | 検索条件で取得できなかったパーマネントID一覧 |
| geo_data_basic_node | string / object | 〇 | 基本道路ノード地物情報 | GeoJSON 形式。ロールにより返却属性が異なる |
| geo_data_basic_link | string / object | 〇 | 基本道路リンク地物情報 | GeoJSON 形式。ロールにより返却属性が異なる |
| geo_data_all_node | string / object | 〇 | 全道路ノード地物情報 | GeoJSON 形式。ロールにより返却属性が異なる |
| geo_data_all_link | string / object | 〇 | 全道路リンク地物情報 | GeoJSON 形式。ロールにより返却属性が異なる |
ステータスコード
| コード | ステータス | 説明 |
|---|---|---|
| 200 | OK | リクエストが成功しました。 |
| 400 | Bad Request | リクエストが不正です。 |
| 401 | Unauthorized | 認証情報が不正です。 |
| 403 | Forbidden | 権限がありません。 |
| 500 | Internal Server Error | サーバー内部でエラーが発生しました。 |