コードで語るマニフェスト:自治体データはこう直せば動き出すよ

どうも〜 오카무입니다! 오늘은 공공데이터와 지방정부 시스템을 엔지니어 관점에서 까놓고 분석해보려 합니다~
- 이 글 3문장 요약
- 엔지니어적으로 말하면 API·CSV·스키마가 없어서 재사용이 힘들다
- 해결책은 기계가 읽을 수 있는 공개 포맷·OpenAPI·ETL 파이프라인 도입이다
結論
요약하면, 정부/지방자치단체의 데이터는 "정책 문서화"는 잘 되어가지만 "데이터화"가 덜 되어 있다. PDF로 배포된 통계나 제안서가 많고, API·CSV·메타데이터 표준(DCAT, JIS 코드 준수 등)이 부족해서 실무에서 재사용·검증이 어렵다. 엔지니어 입장에선 "CSV 한 줄, JSON 한 엔드포인트"가 더 큰 정책 효과를 만든다!
レポート本文
現状の観察(データソース参照)
これ見てくださいよ、総務省とデジタル庁の施策ページ(https://www.soumu.go.jp/...、https://www.digital.go.jp/...)には標準化・共通化の方針が並んでます。要するに「全部標準に合わせますよ」という宣言はあるんです。ただし、公開されている資料の多くはPDF、あるいはスライドで、機械可読性が低い。
内閣官房の資料(https://www.cas.go.jp/...pdf)でも“AI-Ready社会では機械可読が重要”と明記されてますが、現場で配布されるデータセットはまだCSV化されていないケースが多いんです。
技術的な問題点
- PDF優先の公開:表が画像化されていると抽出コストが高い。要するにスクレイピングとOCRが増えるだけ。
- API不在または限定公開:自治体によってAPI整備の差が激しい。ある自治体はCKAN等を使っているが、多くは静的なファイル置き場。
- スキーマ不統一:フィールド名がバラバラ(例:population, 人口, pop)、コード体系も自治体ごとに差。結合がめんどい。
- 更新頻度とタイムスタンプ欠如:データがいつ更新されたかわからないため再現性が低い。
エンジニア的に言うと
この状況、API 한 편이면 해결되는 문제예요。要するに、次の4点セットがあれば劇的に良くなる。
1) 機械可読フォーマット(CSV/JSON/Parquet)
2) OpenAPI/GraphQLでのエンドポイント公開
3) DCAT互換のメタデータ + ライセンス明示(CC BYなど)
4) 標準コード(JIS X 0401 等)でデータ正規化
コード例:PDFテーブルをCSVにする実務スニペット
# tabulaを使ってPDFの表をCSV化する例
import tabula
tables = tabula.read_pdf('report.pdf', pages='all', multiple_tables=True)
import pandas as pd
df = pd.concat(tables)
スキーマ正規化の簡単な処理
df = df.rename(columns={'人口':'population'})
df.to_csv('output.csv', index=False)
要するに、これよくあるワークアラウンドで、本来はPDFじゃなく最初からCSVで提供してほしいんです!
APIがある自治体向けの検証例
APIがある場合、以下のようにスキーマ検証を入れてCIでチェックするのが良い。
import requests
from jsonschema import validate
r = requests.get('https://example.gov/api/population')
data = r.json()
schema = {"type":"array","items":{"type":"object","properties":{"year":{"type":"integer"},"population":{"type":"integer"}},"required":["year","population"]}}
validate(instance=data, schema=schema)
これでデータ供給側の破壊的変更を自動で拾える。要するに継続的デリバリーの観点での品質確保です。
政策目標と実績のギャップ分析
デジタル庁や総務省は「標準化推進」を掲げているが、現場の進捗は自治体ごとにムラがある(総務省の標準化PMOツールで報告状況は見られる)。目標は“標準準拠システムへ移行”だが、具体的な数値目標(何割の自治体がAPIを公開する、何割がCSVで提供する等)が明確でないケースがある。要するにKPIが曖昧で、達成度の評価にブレがあるんです。
改善提案(技術プラン)
- まずは優先データ(人口、公共施設、予算・決算)をCSV/JSONで公開。PDFはアーカイブのみ。
- OpenAPI仕様書を公開してエンドポイントを標準化。Swaggerで自動ドキュメント化。
- CIパイプラインでスキーマ検証(jsonschema/pandera)を導入。破壊的変更はPRで止める。
- メタデータはDCAT-AP互換で統一、ライセンスはCC BY 4.0推奨。
- S3+CloudFront等で配信し、レート制御・監視を実装。
- 地方向けにはテンプレート(Dockerized API + DB migrations + OpenAPIテンプレ)を配布してローリング展開を促進。
利活用シナリオ
- 洪水リスク可視化:ハザードマップ×建物点データをCSVで結合→市民向けハザードAPI
- 地域サービス連携:予算データと事業実績を紐付けて可視化、行政監視の民主化
- AI学習用データ:Data for AIサブユニットの示唆に沿って、機械可読データセットの整備(https://digital-gov.note.jp/...)
まとめ
- 現状は方針はあるが、実務はまだPDF頼みで機械可読性が低い
- エンジニア的にはAPI + スキーマ + メタデータがあれば再利用が爆増する
- 小さくても良いから、まずは重要データのCSV/JSON公開・OpenAPI化・CIでのスキーマ検証を始めよう
おかむーから一言
기술로 사회를 바꾸는 건 결국 실행력입니다. 선언이 아니라 엔드포인트 하나가 시민 삶을 바꿉니다. 같이 해보죠!
정보 출처
- https://www.zhihu.com/question/659922888
- https://www.digital.go.jp/policies/local_governments
- https://www.zhihu.com/question/6165418410
- https://www.soumu.go.jp/menu_seisaku/chiho/jichitaijoho_system/index.html
- https://www.zhihu.com/question/1998674473453364460
- https://www.zhihu.com/question/290714454
- https://www.cas.go.jp/jp/seisaku/digital_gyozaikaikaku/data8/data8_siryou1.pdf
- https://www.zhihu.com/question/6430289390
- https://digital-gov.note.jp/n/neb45f4883f23
- https://www.zhihu.com/question/38923279
- https://www.intec.co.jp/column/smartcity-08.html
- https://sorabatake.jp/14930/
- https://www.soumu.go.jp/menu_seisaku/ictseisaku/ictriyou/opendata/
- https://www.digital.go.jp/resources/data_case_study_local
- https://www.digital.go.jp/resources/data_case_study_private
공유하기
관련 리포트

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

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

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