データ仕様(JSON の項目)
ページの JSON(/path/index.json)
/safety/ 以下のすべてのページに、同じ内容の index.json があります。町丁目のページ(/safety/<市区町村コード>/<町丁コード>/)も同じです。
共通の項目: generated_at、data_through(犯罪と事故のそれぞれの最新の年。都道府県・市区町村のページではその県の値。愛知・島根・香川の犯罪は null)、
source[]、license、schema_url、canonical_url、language、title、data。
コード: 都道府県は JIS の2桁(13)、市区町村は2020年国勢調査の5桁(13112)、町丁は同名の小地域をまとめたものの最小の KEY_CODE(9または11桁)です。
市区町村ページの data(/safety/<市区町村コード>/index.json)
city_code / city_name / pref_code / pref_name | 市区町村と都道府県 |
|---|---|
population / n_units / n_units_pop | 2020年人口 / 町丁目(同名をまとめた単位)の数 / うち人口500人以上の数 |
lat / lon | 市区町村の代表地点 |
data_through | {crime, accident} それぞれの最新の年 |
crime_years[] | 犯罪のデータのある年(静岡は 2021〜) |
crime_totals | 罪種名(日本語)→ {years: {"2018": 件数, …}, unassigned_share_latest}。市区町村の合計(町丁目を特定できなかった件数を含む)。
unassigned_share_latest は最新の年のうち町丁目に結びつけられなかった割合(0〜1)。犯罪データのない県では null |
accident_totals | years: 年 → {accidents, deaths, injured, person_vs_vehicle, vehicle_vs_vehicle, single_vehicle, pedestrian, bicycle, night}、
latest_provisional(最新の年は暫定) |
city_only | true のとき町丁目を出さない(京都市の区)。towns は空 |
tokyo | 東京都のみ。警視庁の町丁別の集計表の市区町村合計: latest_year、provisional、years[]、totals(「罪種グループ/罪種」→ years) |
crime_columns[] | towns[].crime の配列の列名(下記) |
town_page_template | 町丁目ページの URL の型 …/safety/<city_code>/<unit_code>/ |
towns[] | 町丁目(全件): unit_code、name、population、accidents_latest(最新の年の人身事故)、accidents_total(2019年〜の合計)、
crime(罪種名 → 配列。最新の年に1件以上ある罪種だけ。載っていない罪種は最新の年が0件(公表年すべて0件の罪種もある)) |
towns[].crime[罪種] の配列(crime_columns の順)
0 count_latest | 最新の年の件数(警察が把握した件数) |
|---|---|
1 per_10k_latest | 人口1万人あたり。人口500人未満は null |
2 rank_count | 同じ市区町村の中での件数の順位(多い方から。同数は同順位)。件数0は null。母数は n_units |
3 rank_per_10k | 人口あたりの順位。母数は n_units_pop |
4 rank_shown | 1: 直近3年の平均が3件以上で、順位を出す。0: 順位は評価しない |
5 change_2018_diff / 6 change_2018_ratio | 最新の年 − 2018年の差と比。評価できないとき・2018年がないときは null |
7 change_3y_diff / 8 change_3y_ratio | 直近3年の平均 − その前の3年の平均の差と比。評価できないとき null |
9 evaluable | 1: 直近3年の平均が3件以上で、増減を評価できる |
都道府県ページの data
pref_code / pref_name / population / n_cities / n_units | 都道府県とその規模 |
|---|---|
has_crime | false: 犯罪のデータがない(愛知・島根・香川) |
crime_years[] / data_through | 犯罪のデータのある年 / 犯罪と事故の最新の年 |
assigned_share | 犯罪の件数のうち町丁目に結びつけられた割合(0〜1) |
crime_by_year / accident_by_year | 罪種 → 年 → 件数 / 年 → {accidents, deaths, injured}(都道府県の合計) |
cities[] | 市区町村: city_code、city_name、population、n_units、city_only、lat/lon、
crime_latest(罪種 → 最新の年の件数)、crime_latest_total、unassigned_share_latest、accident_latest、accident_total、url |
unlisted[] | 2020年の市区町村コードにない件数(city_code、crime_total、accidents) |
町丁目ページと API の町丁の記録
/safety/<市区町村コード>/<町丁コード>/index.json の data と、API /api/v1/safety/town/{town_code} の data は同じ形です。
unit_code / key_codes[] | 町丁コード(最小の KEY_CODE)/ まとめた小地域の KEY_CODE すべて |
|---|---|
name / city_code / city_name / pref_code / pref_name | 町丁と所属 |
population / households / lat / lon | 2020年国勢調査の人口・世帯数、重心 |
n_members | まとめた小地域の数(2以上は合算) |
crime | 罪種 → {years: {年: 件数}, latest_year, count_latest, per_10k_latest, rank_count, rank_count_of, rank_per_10k, rank_per_10k_of, rank_shown, evaluable, avg3_latest, avg3_prev, change_2018: {diff, ratio}, change_3y: {diff, ratio}}。公表されていない年は years に含めません(0件とは別) |
accident | years(年 → 人身事故の内訳)、latest_year、latest_provisional、total |
tokyo | 東京都のみ。警視庁の集計表(公表当時の暫定値)。items: 「罪種グループ/罪種」→ 犯罪と同じ形(years は2009年〜) |
city_context.unassigned_share_latest | 市区町村で町丁目を特定できなかった件数の割合 |
API
ベース URL https://api.tokeilab.org。応答は {"data": …, "meta": {generated_at, data_through, source, license, schema_url, api_version, cost_units}}。
エラーは RFC 9457(application/problem+json)。現在は API キー不要・課金なしです(料金)。
| エンドポイント | 内容 | cost_units |
|---|---|---|
GET /api/v1/safety/town/{town_code} | 町丁1件の犯罪(7種類・年別)と交通事故の全年次、順位・増減(同名の町は合算) | 1 |
GET /api/v1/safety/city/{city_code}/towns | 市区町村の町丁の一覧(200件ずつ)。罪種ごとの件数・人口1万人あたり・順位・増減。crime_type で罪種を絞れる | 2 |
GET /api/v1/safety/accidents/near | 1地点の周り(半径最大500 m、既定250 m)の交通事故(人身事故)の50 m四方ごとの件数。件数の多い順に最大400セル | 2 |
GET /api/v1/safety/pref/{pref_code}/bulk | 都道府県の一括データ Parquet(町丁×罪種×年、事故の町丁×年)への署名付き URL(1時間有効) | 10 |
/accidents/near の data
query / cell_size_m / years[] / latest_year / latest_year_provisional | 問い合わせ、格子の大きさ(50 m)、集計した年(2019〜)、最新の年とその暫定フラグ |
|---|---|
total_cells_within_radius / truncated | 半径内の事故のあった格子の数 / 400か所を超えて切り詰めたか |
cells[] | 格子(件数の多い順): lat/lon(格子の中心)、distance_m、accidents(人身事故)、deaths、injured、
person_vs_vehicle(人対車両)、vehicle_vs_vehicle、single_vehicle、pedestrian(歩行者が関わる)、bicycle(自転車が関わる)、night(夜間)、accidents_by_year |
/city/{city_code}/towns の data
市区町村ページの data と同じ項目に、page/pages/page_size/total/next_page(200町丁目ずつ)と crime_type(絞り込み)が付きます。
API の towns[].crime は、配列ではなく項目名つきのオブジェクトです(count_latest、per_10k_latest、rank_count、rank_per_10k、rank_shown、change_2018、change_3y、evaluable)。
/pref/{pref_code}/bulk
都道府県の Parquet ファイルへの署名付き URL(1時間有効)。列: table(crime / accident / tokyo_choucho)、pref_code、city_code、unit_code、year、
item(罪種。事故は null)、count、population、per_10k、事故のみ deaths、injured など。件数0の行は持ちません。
市区町村の一覧(/safety/cities.json)
市区町村の名前から市区町村コードを探すための一覧(無料)。columns は city_code, city_name, pref_code, pref_name, lat, lon。