Code Speaks: Evaluating Japan's Municipal Open Data Portals

どうも〜おかむーです!今日はちょっとエンジニアっぽい話をしますよ〜
- Public portals are improving: many prefectures and Tokyo publish CSVs and APIs, but formats and metadata vary a lot.
- Machine-readability matters: PDFs still hide data, while consistent APIs + schemas unlock reuse.
- Practical fixes: schema-first APIs, CI for datasets, clear licensing and example code to bootstrap reuse.
結論
東京都や地方自治体のオープンデータは量的に充実してきてるんですが、エンジニア的に言うと「API一本で解決する」くらいの統一がまだ足りないんですよね。要するに、データはあるけど使いやすさにばらつきがあるということです。
Report: what's actually out there and technical gaps
これ見てくださいよ。東京都オープンデータカタログ(https://portal.data.metro.tokyo.lg.jp/ と https://catalog.data.metro.tokyo.lg.jp/dataset)には「公共施設一覧」などCSVで公開されていて、更新日時が明示されているものもあります。地方自治体でも、美馬市(https://opendata.pref.tokushima.lg.jp/)や函館市のCSVまとめ(https://www.harp.lg.jp/opendata/)のようにCSVが置かれていてダウンロード数が見えるなど、ポータルの成熟度は上がってます。
でも問題点はここからです:
- フォーマットのばらつき: 同じ"公共施設"でもカラム名、文字コード、日時フォーマットが違う。統合が辛い。
- 機械可読性: PDFに埋められた表や報告書がまだ残っている。要するにスクレイピング前提になりがち。
- APIとメタデータ: APIあるいはダウンロードURLがあってもOpenAPIやJSON Schemaがないケースが多い。データ契約が曖昧です。
- KPI公開の連動不足: 中央の施策評価(例: デジタル田園都市国家構想に関するガイドライン https://www.chisou.go.jp/sousei/pdf/r5_guideline-checkaction.pdf)と現場の実績データがAPIで結びついていない。政策目標と実績のトレーサビリティが不足。
技術的な検証アプローチ(エンジニア的に言うと)
- Step 1: Catalog API discovery(ポータルのカタログエンドポイントを呼ぶ)
- Step 2: Schema validation(JSON Schema / pandas dtypesでCIに組み込む)
- Step 3: Provenance tracking(更新日時・発行者・ライセンスの標準メタ)
Example (Python sketch):
import requests
import pandas as pd
url = 'https://catalog.data.metro.tokyo.lg.jp/dataset/XXXX/resource/yyyy/download/public_facilities.csv'
df = pd.read_csv(url, encoding='utf-8')
basic checks
assert 'facility_name' in df.columns
assert pd.to_datetime(df['updated_at'], errors='coerce').notna().all()
suggest: validate with jsonschema via exported schema
要するに、上の流れを自動化してCIに組み込むだけで品質と信頼性がグンと上がります。
改善提案(具体的)
- API-first: すべてのCSVに対応するREST APIとOpenAPI specを用意する
- Schema registry: JSON Schemaを公開して形式を固定、バージョン管理
- Dataset CI: ダウンロード可否、スキーマ一致、欠損率の閾値チェックを自動テスト化
- Metadata standard: 発行者(go.jp/lg.jp), 更新日時, ライセンス, 利用条件を必須フィールドに
- Example repo: ダッシュボードや分析ノート(Jupyter)を公開して利活用のハードルを下げる(参考: デジタル庁の民間活用事例 https://www.digital.go.jp/resources/data_case_study_private)
まとめ
オープンデータの量は増えてるけど、エンジニア視点の『使いやすさ』がまだ追いついてないんです。CSVが置かれているだけで満足せず、API仕様・スキーマ・CIをセットで提供するのが次の一歩。そうすれば政策評価や民間サービスの実装コストがグッと下がりますよ!
おかむーから一言
テクノロジーって便利にするためにあるんですよね。データをちゃんと整備して、政策の効果をコードで可視化しましょう!
Sources
- https://catalog.data.metro.tokyo.lg.jp/dataset
- https://portal.data.metro.tokyo.lg.jp/
- https://opendata.pref.tokushima.lg.jp/dataset/5036.html
- https://www.harp.lg.jp/opendata/dataset/79.html
- https://opendata.pref.aomori.lg.jp/dataset/1480.html
- https://ja.wikipedia.org/wiki/%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB
- https://www.chisou.go.jp/sousei/pdf/r5_guideline-checkaction.pdf
- https://dxlab.jp/blog-arase-2021-11-15-digital/
- https://www.pref.yamaguchi.lg.jp/uploaded/attachment/160746.pdf
- https://e-words.jp/w/%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB.html
- https://ja.wikipedia.org/wiki/%E5%85%AC%E5%85%B1
- https://www.intec.co.jp/column/smartcity-08.html
- https://kotobank.jp/word/%E5%85%AC%E5%85%B1-494676
- https://www.digital.go.jp/resources/data_case_study_private
- https://edu.web.nhk/kokokoza/koukyou/
Share
Related Reports

Code-driven Manifesto: Auditing Local Gov Data and Systems (Kagawa case study)
Local gov systems run but hide data behind UIs; expose CSV/JSON, APIs, and common schemas to unlock value.

Code-driven Check: Japan’s Open Data and the Machine-Readable Gap
Digital Japan has dashboards and rules, but PDFs and messy formats still block automated policy verification; mandate CSV/JSON, APIs, and dataset linting.

Code Speaks: Testing Japan's Gov Data and Dashboards
Japan has great dashboards but inconsistent machine-readability. This report inspects e-Stat, Japan Dashboard, Kantei PDFs, and proposes API-first fixes and practical code examples.