コードで語るマニフェスト:地方データとAPIをエンジニア視点で検証する

안녕하세요~ 오카무입니다! 오늘은 정부·지자체의 데이터와 시스템을 엔지니어 관점으로 파헤쳐보려고 해요〜
- これ見てくださいよ: 多くの政策資料やKPIがPDFで出されていて、機械判読性が低い
- APIは増えているけど、スキーマやIDの一貫性がなくて連携が面倒
- 要するに、オープンデータは出てるけど“使える形”で出してくれたら爆速で価値出せますよね!
結論
国・自治体はデータ公開の基本は押さえているものの、フォーマット(PDF vs CSV/JSON)、標準スキーマ、API設計の品質にばらつきがある。エンジニア的に言うと、API一本・標準スキーマでつなげば政策評価とPDCAの自動化ができるんですよね。まずはKPIや実績を機械可読にして、CI/CD的にデータ品質を保つ仕組みを入れるのが最優先です!
レポート本文
現状サーベイ(参照ソース)
これ見てくださいよ: Digital庁(digital.go.jp)、e-Govの行政APIポータル(e-gov.go.jp)、都道府県や市のオープンデータカタログ(東京都:portal.data.metro.tokyo.lg.jp、埼玉:opendata.pref.saitama.lg.jp、新潟市のオープンデータなど)が揃ってきているんですけど、公開フォーマットやメタデータの質がバラバラなんです。
- RAIDA(raida.go.jp)は事例収集プラットフォームとして良いが、事例のメタデータ粒度が不均一
- e-GovのAPIカタログ(api-catalog.e-gov.go.jp)はAPI一覧を提供しているが、データモデルの統一度が低い
- 地方交付金の実績(例:山口県のPDFレポート)では、採択件数や金額がPDFでしか提供されておらず、CSV/JSONがない
技術的な問題点(具体的に)
- 問題: 人が読むにはいいが、集計・可視化・自動監査には不向き
- 要するに: 機械可読フォーマット(CSV/JSON/Parquet)で出してほしいということです
- 例: 施設IDや法人番号のような共通キーがないため、データ連結が手作業になる
- エンジニア的に言うと、foreign-keyを設計に入れておいてほしい
- datasetに更新日、schema、ライセンス(CC-BYなど)が明示されていないケースあり
- 要するに: データの利用可否・再利用性が不明確
実例: 地方交付金レポート(山口県PDF)
山口県のレポート(参照: uploaded/attachment/160746.pdf)では「採択事業:2事業/実績額:15,289千円」といった値がPDFにあります。これを自動集計に回すにはOCRや手動抜き出しが必要でコストがかかります。
技術提案(改善案)
以下はエンジニア視点で実現可能な改善案です。
1) KPIデータの機械可読化
- 既存PDFのテーブルを抽出してCSV/JSON化するバッチを組む(Tabula/ Camelot + pandas)
- その後、定期パイプラインで更新しAPIで公開
2) 共通スキーマとID設計
- 法人番号、住民基本台帳に基づく地理ID、交付金IDなどの共通キーを定義
- JSON Schema or OpenAPIでスキーマを宣言して、バリデーションを自動化
3) API品質向上
- REST/GraphQLでの提供に加え、OpenAPI specを必須化
- ステータスコード、ページネーション、メタ情報(total_count, updated_at)を標準化
4) データパイプラインとCI
- Gitベースでデータ変更を管理(DataOps)
- Datasetのテスト(Schemaバリデーション、NULLチェック、整合性チェック)をCIで回す
5) 開発者向けSDKとサンプル
- Python/R/JSの軽いSDKを提供して、データ利活用の敷居を下げる
小さなコード例(実務向け)
- e-Gov APIを叩くcurl例
curl -H "Accept: application/json" "https://api-catalog.e-gov.go.jp/some-endpoint?limit=100"
- Pythonで東京都オープンデータCSVを読み込む一例
import pandas as pd
url = 'https://catalog.data.metro.tokyo.lg.jp/dataset/xxx.csv'
df = pd.read_csv(url)
print(df.head())
- PDFテーブル抽出のプロトタイプ(tabula-py)
import tabula
dfs = tabula.read_pdf('yamaguchi_report.pdf', pages='all', multiple_tables=True)
取得したテーブルを整形してCSVへ
政策評価の自動化イメージ
- 各自治体がKPIをJSON APIで公開
- 中央でダッシュボードを用意し、実績と目標の差を自動集計
- 異常値や未更新を検知してアラートする(Slack/Webhook)
まとめ
- 公共データは量は増えているが、品質と標準化が足りない
- PDF→CSV/JSONの機械可読化、共通スキーマ、API仕様の統一が重要
- 技術的な解は既にある(Tabula, OpenAPI, CI, DataOps)ので、実装と運用ルールを自治体横断で決めるだけで劇的に改善できる
おかむーから一言
テクノロジーで政策を評価可能にするのは、エンジニアの手でできるごく現実的な仕事です。まずはKPIをJSONで出してみましょう!
정보 출처
- https://ja.wikipedia.org/wiki/%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB
- https://raida.go.jp/
- https://www.chisou.go.jp/sousei/pdf/r5_guideline-checkaction.pdf
- https://www.digital.go.jp/
- https://www.pref.yamaguchi.lg.jp/uploaded/attachment/160746.pdf
- https://www.e-gov.go.jp/digital-government/api
- https://japan-opendata.github.io/awesome-japan-opendata/
- https://api-catalog.e-gov.go.jp/info/ja/apicatalog/list
- https://www.soumu.go.jp/menu_seisaku/ictseisaku/ictriyou/opendata/opendata03.html
- https://www.bodik.jp/blog/14079/
- https://catalog.data.metro.tokyo.lg.jp/dataset
- https://portal.data.metro.tokyo.lg.jp/
- https://opendata.pref.saitama.lg.jp/datasets
- https://opendata.pref.saitama.lg.jp/
- https://www.city.niigata.lg.jp/shisei/seisaku/it/open-data/
공유하기
관련 리포트

コードで語るマニフェスト:自治体データとシステムをエンジニア視点で検証する
自治体データはPDFやUIに閉じがち。API-firstとJSON Schemaで再利用性を高め、ガバメントクラウドへ移行する実務ロードマップを提示します。

コードで語るマニフェスト:日本政府データの現場から見る技術検証
政府データは可視化が進むも機械可読性不足が課題。CSV/JSON/API、スキーマ、ID統一で政策検証を自動化しよう。

코드로 읽는 마니페스토: 일본 정부 데이터와 시스템을 엔지니어 관점에서 후벼파기
일본 정부 데이터의 PDF·API·메타데이터 문제를 엔지니어 관점에서 분석하고, 실무 가능한 개선안을 코드 예시와 함께 제시합니다。