コードで語るマニフェスト:自治体オープンデータを技術で検証する

どうも〜おかむーです! 안녕하세요, 오카무입니다! 오늘은 정부·지자체의 데이터와 시스템을 엔지니어 관점에서 뜯어보는 시간이에요〜
- 공개 데이터가 PDF에 잠겨 있으면 재사용이 막힌다
- API 하나로 해결 가능한 문제를 왜 파일로 뿌리는지 기술적 비용으로 따져본다
- 개선안은 간단하다: 기계판독성, 표준 스키마, 실시간 API
結論
지자체의 데이터 개방은 양적으론 진전이 있지만 질적으론 아직 갈 길이 멀다. PDF/画像スキャン 형태로 배포되는統計や資料が多く、機械可読性レベルが低い。要するに、エンジニア的に言うとAPIとCSV/JSONを標準にしないと二次利用が進まないということです。
レポート本文
現状観察:公開形式と政策ドキュメント
これ見てくださいよ:デジタル庁の「機械可読性に関するルール(案)」(https://www.digital.go.jp/assets/…)では、レベル1〜の区分で『Excel/CSVが望ましい』と明記しているんですけど、自治体の現場ではPDFや画像スキャンがまだまだ多いんです。総務省の統計表ルール(https://www.soumu.go.jp/…)も似た方向性で、要するに「統一したルールがあるよ」ってだけなんですよね。
- 事例:GovTech東京やデジタル庁の民間利活用事例(https://www.digital.go.jp/resources/…)は良い出発点。ただし事例集の多くはPPTX/PDFで配布され、機械判読用APIがないケースが多い。
問題点を技術的に分解
- PDF/画像だとOCR前提。文字化け・表構造の損失が起きやすい。
- スキーマ(カラム名、単位、更新頻度、ライセンス)が公開されていない。
- リアルタイムで使いたいデータがバッチで配布されるとサービスに使えない。
- 政策目標(例:スマートシティKPI)と実績データが乖離、ソースがバラバラで横串分析できない。
技術検証(コード例)
まずはAPIがあるかどうかを確認するのが早い。Pythonで『まず試す』スニペット:
import requests
url = 'https://example-city.jp/api/datasets' # まずはオープンデータカタログを叩く
r = requests.get(url, timeout=10)
print(r.status_code)
print(r.headers.get('content-type'))
JSONなら直接解析、CSVならpandas.read_csv
APIがない場合はPDF→CSVの変換が現実解。tabula-pyやcamelotで表抽出するパターン:
import camelot
tables = camelot.read_pdf('report.pdf', pages='1-end')
for t in tables:
print(t.df.head())
t.to_csv(f'table_{t.page}.csv')
要するに、手段はあるけど手作業が増えるんですよね。
政策目標と実績のギャップ分析の進め方
- KPI定義をオープンにしてIDを付与(例:kpi_id=SC-01)
- そのIDでAPIレスポンスにタグ付け。複数自治体を横断するクエリが可能に
- データ品質はスコア化(欠損率、最新性、形式整合性)してダッシュボード化
サンプルSQL(Postgres)で差を見る:
SELECT kpi_id, target, actual, (actual - target) AS gap
FROM kpi_results
WHERE fiscal_year = 2024;
改善提案(実装ロードマップ)
- PDFではなくCSV/JSONを第一配布にする(Digital Agency案に従う)
- データセットのメタ情報を機械で引けるように
- JSON Schema / OpenAPI Specを公開、CIでスキーマ違反検出
- Python/R/JSのサンプルを用意し、利活用の敷居を下げる
- CC BY等の明確化、品質メトリクスをAPIで提供
技術的には、API一本で解決することが多いんですよ。CDN + API Gateway + S3(bucket)にCSV/JSONを置けば低コストで運用できるし、更新時にWebhookで利活用事業者に通知するだけでエコシステムが回るんです。
まとめ
- ルールは存在するが実務運用で機械可読性が追いついていない
- PDF→手作業は時間とコストのムダ。API/CSV/JSONを標準化すべき
- 小さく始めるなら、1つのKPIをAPI化して横断分析できるようにするのが効果的
おかむーから一言
テクノロジーで社会をアップデートするっていうのは意外と単純で、フォーマットを揃えてAPIを出すだけで何百倍も価値が生まれます。エンジニアとして、一緒にデータの地図を描きましょう!
정보 출처
- https://zhidao.baidu.com/question/1778712607594096420.html
- https://www.intec.co.jp/column/smartcity-08.html
- https://stackoverflow.com/questions/73567541/argos-workflow-how-do-i-build-my-workflow-which-runs-a-python-script-present-in
- https://www.digital.go.jp/resources/data_case_study_private
- https://zhidao.baidu.com/question/759194239533719812.html
- https://www.zhihu.com/question/290714454
- https://www.digital.go.jp/assets/contents/node/basic_page/field_ref_resources/256dcba6-b936-4031-b88d-3abb27e27f9b/f7af0ca4/20260331_meeting_executive_outline_06.pdf
- https://www.zhihu.com/question/6430289390
- https://www.soumu.go.jp/menu_news/s-news/01toukatsu01_02000186.html
- https://www.zhihu.com/question/38923279
- https://www.zhihu.com/question/40553450
- https://www.govtechtokyo.or.jp/services/data-utilization/
- https://www.zhihu.com/tardis/zm/art/1924492115896960699
- https://note.govtechtokyo.jp/n/n77785a8254d6
- https://www.zhihu.com/question/372341437
공유하기
관련 리포트

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

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

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