API の使い方 — 建物ごとの日当たり
建物ごとの日照の値は JSON の API で取得できます。ベース URL は https://api.tokeilab.org、機械可読の一覧は
openapi.json、項目の意味は データ仕様 にあります。
住所から建物の値を調べる手順
- 緯度経度が分かる場合:
GET /api/v1/sunlight/near?lat=35.6427&lon=139.6687&r=50で、その地点から半径 r m 以内の建物(近い順、最大 50 件)が返ります。 用途(usage)と高さで目的の建物を選んでください。 - 町名しか分からない場合: /sunlight/towns.json(全町丁目の名前・読み・町丁目コード・代表地点。無料)で
町丁目コードを探し、
GET /api/v1/sunlight/town/{town_code}/buildings?page=1(100 件ずつ)で一覧を取ります。 - 建物 ID が分かったら:
GET /api/v1/sunlight/building/{building_id}(要約)または…/full(面・階・12 か月ごと、日が当たる時間帯、影をつくる建物)。
人が使う場合は 地図で探す ページで同じことができます。
エンドポイント
| エンドポイント | 内容 | cost_units |
|---|---|---|
GET /api/v1/sunlight/building/{building_id}例: /api/v1/sunlight/building/13112-bldg-202748 | 建物1棟の要約(12/15 最良面・最上階、12/15 南面・1階、年間平均)と用途・高さ・階数 | 1 |
GET /api/v1/sunlight/building/{building_id}/full例: /api/v1/sunlight/building/13112-bldg-202748/full | 建物1棟の全結果: 面×階(1階・中間階・最上階)×12か月の直射時間と日が当たる時間帯、影をつくる建物上位5件 | 3 |
GET /api/v1/sunlight/near例: /api/v1/sunlight/near?lat=35.6427&lon=139.6687&r=50 | 1地点の周り: 半径 r m 以内(最大300 m)の建物を近い順に最大50件、要約つき | 2 |
GET /api/v1/sunlight/town/{town_code}/buildings例: /api/v1/sunlight/town/13112004002/buildings?page=1 | 町丁目の建物一覧(100件ずつ)、要約つき | 2 |
GET /api/v1/sunlight/point | 任意の地点・高さのその場計算(仕様のみ。現在は 501 を返す) | 5 |
GET /api/v1/sunlight/bulk/{ward_code}例: /api/v1/sunlight/bulk/13112 | 区全体の結果 Parquet への署名付き URL(1時間有効) | 20 |
パラメータ
building_id: PLATEAU の建物 ID。形式5桁の市区町村コード-bldg-数字(例13112-bldg-202748)。lat35.4〜35.9、lon139.5〜140.0(世界測地系の度)。r1〜300 m(省略時 100)。town_code: 9 桁または 11 桁の数字。page: 1 から。ward_code: 13101(千代田区)〜 13123(江戸川区)。
利用条件
- API キーは不要です。IP アドレスごとに毎分 20 回まで使えます(回数は Cloudflare の拠点ごとに数える目安です)。
- 区全体の一括ダウンロード(
/bulk/{ward_code})は、区ごとの全結果の Parquet ファイル(数十〜数百 MB)を返します。 - 課金はまだ有効化していません。すべての呼び出しをコスト単位(
cost_units)で計測しています。料金は 料金 を参照。 - データのライセンスは CC BY 4.0 です。利用時は「tokeilab(PLATEAU 等を加工して作成)」の表示をお願いします。
エラー
エラーは RFC 9457 の application/problem+json(type, title, status, detail)で返します。
エラーのときは X-Cost-Units: 0 です。種類は エラーの種類 を参照。