政府目標だった2020年度中にオープンデータ化100%、結果は63.7%オープンデータ | 政府CIOポータルより)と未達成。 オープンデータ伝道師としての力不足、申し訳ありません。


データアカデミー研究会 presents 「政府のデータ戦略ってどう進んでいくの?」セミナー - YouTube
オープンデータ、ベースレジストリを含むデータ戦略に関するデータアカデミー研究会がありました。デジタル戦略の一丁目一番と言われるデータ戦略、オープンデータに関するアンケートデータが公開されているとのこと。


地方公共団体へのオープンデータの取組に関するアンケート結果・回答一覧
5団体がオープンデータを知らないと回答。名前だけを含めて詳細を知らない団体がちょうど40%弱。 オープンデータ化が進まなかった理由かもしれません。 1788団体、35問の質問に対する回答一覧があるので、いろいろな角度で分析したいところです。


地方公共団体へのオープンデータの取組に関するアンケート結果・回答一覧
Excelでの提供は「データ品質ガイドブック」のデータ品質的に14番の移植性が低いです。 β版としてCSVも提供されていますが、質問項目との対応が別途必要なため2番の完全性が低いので、別途2種類のデータクレンジングをしました。(src on GitHub

1. アンケート項目をJSON形式で1行1セルにまとめ、チェックの有無を「v」と「-」で表したもの。 「r2_survey_answers_parsed.csv

2. アンケート項目を別途CSVファイルとしてまとめ、1つ選択の場合は選択肢をデータとしたもの。 「r2_survey_answers_simple.csv

アプリでは、2番を使っています。見た目や分析方法へこだわりたいところですが、ひとまず素早く以前の「アンケート結果表示アプリ」を流用したサンプルアプリとしています。ご活用ください。


オープンデータ自治体アンケート 質問項目
アンケート項目はCSVだけでなく、Markdownも同時に生成しています。

活用しやすいキレイなデータづくり。
先日正式発足したCode for FUKUIで、勝手に進めている政府CIOポータルのMarkdown化、ご協力いただける方、大歓迎です!


地方公共団体へのオープンデータの取組に関するアンケート結果・回答一覧
1788の市区町村のうち、アンケート提出済みが95.9%の1715自治体。73の自治体が未提出と未確認とのことです。提出はお早めに!

HTMLのinputタグでtypeをdateにすると、日付を選択できますが、複数選択には対応していません。そこで便利な拡張タグ input-dates です。

input-dates tag」(src on GitHub)
日本の祝日対応 day-esを使ったカレンダーから複数日を選択できます。タグのvalueでコンマ区切りで日付が得られたり、設定できたりします。HTMLElementによるウェブコンポーネントづくり、楽しいですよ! 月の変更でアニメーションするようにしたり、必要に応じてポップアップするようにしたり、UI/UXデザインを変更したり、いろいろ派生版づくりにもぜひチャレンジしてみてください。


行政基本情報データ連携モデル 日付及び時刻 on GitHub
日付の仕様は、日本政府のベースレジストリで参照されている仕様準拠(ISO8601/JIS X 0301互換)です。公開されているPDF/WordファイルをMarkdown化、Code for Fukui で進めてます。

2014年に作った原子力発電所で何かあったときの広域避難場所を示す「原発避難アプリ」を改修、改めて確認しました。

原発避難(鯖江編)

2016年に廃炉が決定した「もんじゅ」、計画表によると現在は第1段階、燃料体取り出し期間となっていて、2047年までかかるそうです。
「もんじゅ」廃炉計画と「核燃料サイクル」のこれから|スペシャルコンテンツ|資源エネルギー庁

このようなデータでも住所データは重要。広域避難をTownIDをベースに更新しようとしましたが表記方法が一致しないため、一筋縄ではいかないことが判明。そもそもTownIDによる町字一覧が実態とも合っていないため、公式データの整備が必須ですね。
ベースレジストリ - code4fukui/BaseRegistry

ひとまず現状のTownIDで JavaScript ESモジュールとして使えるオープンソースな地図ライブラリ Leaflet.mjs を使った地図表示してみました。


鯖江のまち
まちアイコンをクリックで町名とGeo3x3で作成したTownIDを表示します。

シンプルな1ファイル、HTMLファイルとして保存してブラウザで開くだけ、何の登録もツールも必要なく動きます。みなさんのまちのマップづくりのベースとして、ご活用ください!

<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width"> <title>鯖江のまち</title> <meta name="format-detection" content="telephone=no"> <link rel="stylesheet" href="https://code4sabae.github.io/leaflet-mjs/leaflet.css"> <script type="module"> import L from 'https://code4sabae.github.io/leaflet-mjs/leaflet.mjs' import { Geo3x3 } from "https://geo3x3.com/Geo3x3.js"; import { TownID } from "https://code4fukui.github.io/TownID/TownID.js"; const pref = "福井県"; const city = "鯖江市"; onload = async () => { const map = L.map("mapid"); // set 国土地理院地図 https://maps.gsi.go.jp/development/ichiran.html L.tileLayer("https://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png", { attribution: '<a href="https://maps.gsi.go.jp/development/ichiran.html">国土地理院</a>"', maxZoom: 18, }).addTo(map); const iconlayer = L.layerGroup(); iconlayer.addTo(map); const lls = []; const towns = await TownID.getTowns(pref, city); console.log(towns); const iconfn = "https://code4sabae.github.io/towns/icon/icon-home2.png"; const icon = L.icon({ iconUrl: iconfn, iconRetinaUrl: iconfn, iconSize: [32, 32], iconAnchor: [16, 16], popupAnchor: [0, -16], }); for (const town of towns) { const geo3x3 = await TownID.find(pref, city, town); const pos = Geo3x3.decode(geo3x3); const ll = [pos.lat, pos.lng]; const marker = L.marker(ll, { title: town, icon }) marker.bindPopup(town + " " + geo3x3); iconlayer.addLayer(marker); lls.push(ll); } if (lls.length) { map.fitBounds(lls); } }; </script> <style> body { margin: 0px; text-align: center; box-sizing: border-box; /* width include border */ -webkit-text-size-adjust: none; /* for iPhone */ } #mapid { width: 100%; height: 60vh; } #credit a { color: gray !important; text-decoration: none; } #credit { margin-top: 1em; font-size: 80%; } </style> </head> <body> <h1>鯖江のまち</h1> <div id="mapid"></div> <div id="credit"> DATA: CC BY <a href=https://github.com/code4fukui/TownID/>TownID by Code for Fukui</a><br> APP: CC BY <a href=http://fukuno.jig.jp/3249>福野泰介 一日一創</a><br> </div> </body> </html>

自分の住むまちをより良くするスキルを身に着けたい高専生、学生向けのインターン企画、jigインターン、参加者募集中です!
【オンライン開催】2021jig.jp夏インターンシップ~募集のお知らせ~

日本政府発行文字環境導入実践ガイドブックにて強く推奨されているJIS X 0213。 文字集合を調べた結果、半角スペースが入っていませんでしたが、会員登録すると読める「JISX0213の仕様書を読むと、半角スペースや、各種制御コードも含まれると明記されていました(X0213_001.pdf)。


JIS X 0213 チェッカー
一通りテストコードを書いて、βを取ったJIS X 0213チェッカーとJavaScriptのライブラリ(JISX0213.js)ができました。ハンカクカナや、全角数字などはJIS X 0213規定外と赤く表示されます。 1byteのコードは唯一0xb5(μの別コード)を除いて有効なJIS X 0213です。「JIS X 0213非漢字一覧」にも記載されていますが、μはUnicodeのU+03bcを使用しましょう。

これで安心して紛らわしい表記揺れが少ないキレイなデータづくりができますね!
JIS X 0213に対応する解析ツール(リンター)も用意したいところです。

作成時に発見した、Wikipediaの記載のまちがい、2つ。

JIS X 0213非漢字一覧
グレーブアクセント付きスクリプトA小文字など4つの文字は、U+251+300と2つのコードポイントが記載されていますが、実際のコードはU+1F71などを使います。(JIS X 0213の仕様書を確認)

マイクロ - Wikipedia
「ギリシャ文字ミュー「μ」に代えて、互換性のためにLatin-1領域に存在するU+00B5「µ: micro sign」があり、こちらを使用するのが良い」とありますが、「Μ - Wikipedia」にも記載されているように、U+00B5はJIS X 0213に割り当てられていないので、U+03BCを使用しましょう。 普通に「ミュー」で変換してでてくるもので問題ありません。

国家のデジタル化の基礎データ「ベースレジストリ」のひとつ、文字。基本ですね!

各府省は、文字情報基盤の活用を推進し、文字情報に関する相互運用性を確保する。また、情報システムを整備する際には、一般的業務に係る情報システムにおいて使用する文字の範囲はJIS X 0213を原則とし、UCS(Universal multiple-octet coded Character Set)に従った表現(符号化及び記述法)で情報システムの整備を行う。
デジタルガバメント実行計画
約6万の漢字を国際化した文字情報基盤ですが、まだ環境によって表示できない文字があるので、約1万文字の漢字を含む、JIS X 0213を原則とする。仕方ないですね。

JIS X 0213の定義が政府CIOポータルで見つからないので、68B09さんがMITライセンスで公開している文字情報定義ファイルを使って、JIS文字チェッカーを作りました。


JIS X 0213 チェッカーβ
このチェッカーによると半角スペースはJIS X 0213では無い!?
JIS X 0213は、2012年に改訂され、JIS X 0213:2012があります。半角スペースを含んだ形になったかどうかが気になるところです。
文字という超基本仕様、オープンデータにしてもらいたいですね。
解決、JIS X 0213 でした!


用語.md
文字に関する用語をマークダウンでまとめました。ベースレジストリの文書からリンクして少しずつ読みやすくしています。

links
- 文字コード入門 - とほほのWWW入門 - とほほのWWW入門
- 文字情報基盤整備事業 | 一般社団法人 文字情報技術促進協議会

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / RSS