コードで語るマニフェスト:自治体データとシステムをエンジニア目線で検証する

안녕하세요~ 오카무입니다! 오늘은 정부·지자체 데이터와 시스템을 코드와 데이터 관점에서 후루룩 훑어볼게요. 에잇, 에ンジニア적으로 쓸어담는 레포트입니다!
3行要約
- 정부·지자체의 표준화 정책은 진전 중이나 데이터 공개 형식과 API 지원은 아직 제각각이다
- CSV 공개(例: notice.go.jp, soumu.go.jp의 CSV 목록)는 긍정적, 그러나 PDF·포맷 불일치가 자동처리의 큰 걸림돌
- 개선안: 표준 스키마·OpenAPI·데이터 카탈로그·CI 파이프라인 도입으로 재현 가능성과 활용도를 높이자
結論
데이터와 코드로 말하면 해결책은 명확합니다. 정부는 "데이터가 곧 API"라는 인식을 전면에 두고, 기계가 읽을 수 있는 형식(CSV/JSON)과 표준 스키마, 공개된 API 명세(OpenAPI)를 전 지자체에 의무화해야 해요. 표준화 정책(デジタル庁, 総務省)의 흐름은 맞는데, 현장에선 여전히 PDF·各フォーマット混在がボトルネックになってます!要するに、マシンリーダブル化が最優先ということです。
レポート本文
背景と現状(ソース参照)
まず現場を見ると、デジタル庁の「地方公共団体の基幹業務システムの統一・標準化」や総務省の「自治体情報システムの標準化・共通化」施策が動いてます(参照: https://www.digital.go.jp/policies/local_governments, https://www.soumu.go.jp/...)。でもこれ、戦略フェーズでは正しいんだけど実装はバラバラ。実例として、公開データの形はこんな感じ:
- notice.go.jp/docs/status_notice.csv のようにCSVで直接公開している好例(機械可読)
- 一方、府県や市の施策報告がPDFだけで出されているケースも多く、スクレイピングか手作業でしか使えない
- デジタル田園都市関連の補助金実績は PDF で報告されることがあり、CSV化されていない(参照: 地方交付金資料)
これ見てくださいよ。CSVがあれば即取り込めるのに、PDFだとまずOCR→正規化→検証の手順が必要になって時間が飛ぶんです!エンジニア的に言うと、これはコストの直増大ですよね。
データ品質とフォーマット問題
チェックポイント:
- 機械可読性:CSV/JSONはOK、PDF/画像はNG
- スキーマの統一性:列名や単位が自治体ごとに違う
- 更新頻度とメタデータ:更新日・ライセンスが明示されているか
- APIの有無:REST/GraphQL/OpenAPIで定義されているか
問題例(技術的):
- 同じ「人口」列でも"population"/"人口"/"総人口"とバラつき、ETLでマッピング工数が増える
- CSVでも文字コード(Shift_JIS vs UTF-8)や改行コードの違いでパースが失敗する
具体的な技術検証(コード例)
エンジニアならわかると思うんですけど、公開されているCSVを取ってきて検査するのはこういう感じ:
# 例: notice CSV をダウンロードして中身のエンコーディングを確認
curl -sS https://notice.go.jp/docs/status_notice.csv -o status_notice.csv
file status_notice.csv
iconv -f SHIFT_JIS -t UTF-8 status_notice.csv -o status_notice.utf8.csv
Python/pandasでの簡易チェック例:
import pandas as pd
df = pd.read_csv('status_notice.utf8.csv')
print(df.columns)
print(df.dtypes)
欠損や日付形式を検査
print(df.isnull().sum())
要するに、自動化パイプラインはこの最初の部分でコケやすいんです。
政策目標と実績のギャップ
デジタル庁や各自治体の政策は「標準化・コスト削減・サービス向上」を掲げています。でもKPI設定と実績報告がCSV/JSONで出てこないと、第三者による検証がほぼ不可能。例えば山口県の交付金実績PDFはKPIの記載があって使える情報はあるけど、数値比較したいときに手作業が必要なんです(参照: https://www.pref.yamaguchi.lg.jp/uploaded/attachment/160746.pdf)。
改善提案(技術的アプローチ)
1) データブック+OpenAPIの義務化
- すべての交付金・KPI・行政データに対してJSON Schema + OpenAPIを付ける
- サンプル: /api/v1/metrics (GET) で年度別KPIを返す
2) 中央データカタログとCIパイプライン
- GitベースでデータスキーマとサンプルCSVを管理
- PRでスキーマ変更をレビュー、CIでバリデーション(jsonschema, csvlint)実行
3) 文字コード・ロケールの強制ルール
- UTF-8、ISO8601日付、明確な単位表記をルールに
4) マイグレーション支援ツールとテンプレート
- 既存PDFやExcelから自動で抜き出すETLテンプレートをOSS化
- 例: TabulaベースのOCRパイプライン + ルールベース正規化
5) データ利用者向けサンプルコードの提供
- curl/Python/JS での最低限サンプルを公式に置く
オープンデータ活用の可能性
- 地方競馬サイト(keiba.go.jp)のようなドメインでも、レースデータを機械可読にすれば地域経済分析や観光連携に使える
- notice.go.jpのCSV公開は良い前例。これを他分野にも波及させるだけで、スタートアップや学術利用が一気に増える
コストとリスク管理
標準化には初期コストとガバナンス設計が必要。ベンダーロックインや既存システムのリプレースコストをどう吸収するか、移行期間中の二重運用も考慮すべき。だが長期的に見ると、データの再利用性が上がることで運用コストは下がるはず!
まとめ
- CSV/JSONでの機械可読化を最優先に。PDFは最後の手段にするべき
- OpenAPIとスキーマ管理、CIでのバリデーションが鍵
- 政策KPIはデータとして公開し、外部監査や市民による検証を可能にする
- 小さく始めて、テンプレートとツールをOSS化して再利用を促進する
おかむーから一言
테크로 사회를 업그레이드하자! 데이터는 권력이고 동시에 연료입니다. 작게라도 표준을 만들고 공개해보세요, 바뀝니다!
정보 출처
- https://www.keiba.go.jp/
- https://www.digital.go.jp/policies/local_governments
- https://www.keiba.go.jp/KeibaWeb/TodayRaceInfo/TodayRaceInfoTop
- https://www.soumu.go.jp/menu_seisaku/chiho/jichitaijoho_system/index.html
- https://www.keiba.go.jp/live/
- https://notice.go.jp/docs/status_notice.csv
- https://www.env.go.jp/content/900398071.csv
- https://www.inpit.go.jp/content/100869372.csv
- https://www.mhlw.go.jp/content/001682075.csv
- https://www.soumu.go.jp/main_content/000323625.csv
- https://ja.wikipedia.org/wiki/%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB
- https://www.chisou.go.jp/sousei/about/kouhukin/index.html
- https://www.digital.go.jp/
- https://www.pref.yamaguchi.lg.jp/uploaded/attachment/160746.pdf
- https://biz.kddi.com/content/column/smartwork/what-is-digital/
공유하기
관련 리포트

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

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

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