SearchLinkAttrs

指定した範囲(矩形または円)内にあるリンク内属性をすべて取得する。
空間検索により、特定エリア内の橋・高架、トンネル、踏切などのリンク内属性情報を効率的に取得できます。

💰 課金に関する注意事項

本APIは利用方法により課金額が大きくなる可能性があります。

  • 広域の空間検索 空間範囲を広く指定すると、数百件以上のリンクデータを取得する可能性があります。
  • 地図連動の繰り返し取得 地図画面内のノードやリンクを地図の移動・ズーム操作のたびに描画をするような実装した場合、 これらの操作の度にAPIが再実行され大量のノード・リンクが取得される可能性があります。

詳細は課金額が大きくなる可能性のあるケースとAPIを参照してください。

リクエスト

項目 内容
HTTPメソッド POST および GET
エンドポイント /API/Link/SearchLinkAttrs
認証 トークンベース認証(HTTPヘッダに Token-Key を設定)

パラメータ

id 必須 説明 備考
max_links_count integer - 取得最大数 未指定時はシステム設定値
page_number integer - 取得ページ番号 0:1件目から / 未指定時:0
road_classification integer - 道路区分 road_classification を参照
request_crs string - リクエスト座標参照系 詳細は CRS を参照
response_crs string - レスポンス座標参照系 詳細は CRS を参照
spatial_search_mode integer - 空間検索モード spatial_search_mode を参照
point1_x double 緯度(X座標) 検索モード = 1 のとき、
point1_x / point1_y および point2_x / point2_y の 2 点による矩形検索。

検索モード = 2 のとき、
point1_x / point1_y を中心点、tolerance を半径とする円検索。
point1_y double 経度(Y座標)
point2_x double 緯度(X座標)
point2_y double 経度(Y座標)
tolerance integer - 検索半径(m) 円検索時に使用
search_condition string - 属性検索条件 フィルター条件を参照
sort_condition string - ソート条件 ソート条件を参照
response_geodata string - geo_data応答形式 geojson/string または geojson/object
補足(必須条件について)

必須欄の「△」は、指定する検索モード(spatial_search_mode)により必須となる項目を示します。

サンプルソースコード

以下は JavaScript を用いて、矩形範囲内のリンク内属性を検索する例です。 2点の座標を指定して、その範囲内にある橋・高架やトンネルなどの情報を取得します。

JavaScript
const url = "https://pf.drm.jp/API/Link/SearchLinkAttrs"; const token = "your_token"; // 矩形範囲を指定してリンク内属性を検索 const data = { spatial_search_mode: 1, // 矩形検索 point1_x: 35.6812, // 左下の緯度 point1_y: 139.7671, // 左下の経度 point2_x: 35.6895, // 右上の緯度 point2_y: 139.7917, // 右上の経度 road_classification: 1, // 基本道路 max_links_count: 100, // 最大100件取得 response_geodata: "geojson/object" }; async function searchLinkAttrs() { 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)); // 取得したリンク内属性の件数を表示 if (json.status === 1) { console.log(`総件数: ${json.total_count}`); console.log(`取得件数: ${json.geo_data.features.length}`); } } catch (err) { console.error(err); } } searchLinkAttrs();

レスポンス

成功時、レスポンスボディには GeoJSON 形式でリンク内属性データが含まれます。
検索対象が見つからない場合は、status が 0 となります。

JSON
{ "status": 1, "total_count": 150, "response_crs": "EPSG:4326", "geo_data": { "type": "FeatureCollection", "crs": { "type": "name", "properties": { "name": "EPSG:4326" } }, "features": [ { "type": "Feature", "geometry": { "type": "LineString", "coordinates": [ [139.7671, 35.6812], [139.7680, 35.6820] ] }, "properties": { "pid": "12345678", "版番号": "01-001", "属性延長": 150, "リンク番号": "L001", "属性種別コード": 2119, "施設管理コード": 1001, "属性名称(カナ)": "トウキョウバシ", "属性名称(漢字)": "東京橋", "正規化座標フラグ": 0, "橋・高架区別コード": 1, "車両通行規制コード": 2, "表示レベル参考コード": 3 } } ] } }
補足

response_geodata パラメータで "geojson/string" を指定した場合、 geo_data は文字列として返されます。 "geojson/object" を指定した場合は、上記のようにJSONオブジェクトとして返されます。

レスポンス情報

キー 必須 説明 備考
status integer 処理結果 詳細は status を参照
total_count integer 総件数 検索条件に一致する件数
response_crs string レスポンス座標参照系 詳細は CRS を参照
geo_data string/object 地物情報 検索結果の地物情報

geo_data 構造(GeoJSON形式)

キー 説明 備考
type string FeatureCollection "FeatureCollection"固定
crs object crs情報
crs.type string name "name"固定
crs.properties.name string 座標参照系 response_crsと同様(例:"EPSG:4326")
features[] object[] Featureの配列 複数の場合、リンク内属性情報のオブジェクトを配列要素として繰り返し
type string Feature "Feature"固定
geometry object ジオメトリ情報
geometry.type string ジオメトリのタイプ "LineString" または "MultiLineString"
geometry.coordinates[] double[] 座標情報 対象リンク内属性の図形を構成する座標情報
properties object 属性情報 以下、リンク内属性の詳細情報
pid string パーマネントID
版番号 string 版番号+履歴番号
属性延長 integer 属性延長 当該リンク内属性の延長をm単位で示す(実延長データ入手困難な場合は計算延長)
リンク番号 string リンク番号
属性種別コード integer 属性種別コード 詳細は attr_type_code を参照
施設管理コード integer 施設管理コード 当該リンク内属性について、施設管理者が付番する管理コードを示す
属性名称(カナ) string 属性名称(カナ)
属性名称(漢字) string 属性名称(漢字)
正規化座標フラグ integer 正規化座標フラグ 0:現標準にて(0,0)(正規化座標)でないことを示す
1:現標準にて(0,0)(正規化座標)である事を示す
橋・高架区別コード integer 橋・高架区別コード 詳細は bridge_elevated_code を参照
車両通行規制コード integer 車両通行規制コード 詳細は vehicle_restriction_code を参照
表示レベル参考コード integer 表示レベル参考コード 詳細は display_level_code を参照

ステータスコード

コード ステータス 説明
200 OK リクエストが成功しました
400 Bad Request リクエストが不正です
401 Unauthorized 認証情報が不正です
403 Forbidden 権限がありません
500 Internal Server Error サーバー内部でエラーが発生しました