2012年から9回目を数えるオープンデータ勝手表彰「Open Data Award 2020」の受賞作品が発表されました。
2020年度のオープンデータ・ビッグデータに関する優れた取り組みの表彰 - ニュース | 一般社団法人オープン&ビッグデータ活用・地方創生推進機構

コロナ対策で活躍したオープンデータ、多くのエンジニアにシビックテックを広めた東京都の「東京都新型コロナウイルス感染症対策サイト」が最優秀賞! プログラムのオープンデータを扱う「GitHub(マイクロソフトが2018年に買収)」が目立った2020年度です。 また、データの美しさへの見直しも大きく進みました。CSVでいきましょう!


VLEDのオープンデータ勝手表彰受賞者
Bootstrapを使ってちょっとキレイにし、2020年度2012年度など、年度にしぼって表示する機能も付けてみました。

SJIS.js、CSV.js を整備したので、CSVファイルであればどんどんオープンデータ化してもらってOKですが、いろんな環境で開いてもらいやすい形式は「BOM付きUTF-8のCSVファイル」です。 ExcelでUTF-8 CSVで出力すれば自動的にそうなりますが、GoogleスプレッドシートのCSV出力ではBOMが付いていないため、Excelで開くときに文字化けします。


SJISやBOM無しUTF-8のCSVファイルをBOM付きUTF-8 CSVへと変換するツール」(src on GitHub)
そこで作ったツールがこちら。CSVファイルをドロップすると、BOM付きUTF-8のCSVファイルとなって返ってきます。ダウンロードと出ますが、一切サーバーへの送信はしていません。 その安全性は、オープンソースなので自分でご確認いただけます。


COVID-19 Japan 新型コロナウイルス対策ダッシュボード
ありがとうございます、こちらも貢献賞いただきました!データ上、第三波は収束方向へと向かっているように見えますが、逼迫した地域では引き続き注意が必要です。

本日の「CyberValley, Japan」、データは「はかったもの」と説明すると分かりやすいことを発見。

コロナ対策ダッシュボード」でいつの間にか人気ページとなっていた、Google社による都道府県別予測データ表示アプリ

スマホのGoogleマップなどで測られた人の移動データと、各都道府県が計って、厚労省が集計したコロナデータ。 これらを元にGoogle社が予測モデルを設計し、コンピューターで計算した予測データは、どの程度当たるのか興味があったので、発表当時からのデータを収集し、オープンデータ化、予測と結果を表示アプリを公開しています。

COVID-19 Japan 都道府県別 感染者予測と結果
2020/12/18予測の東京、後半の増加は予測されていた以上となりました。
今回、Twitterでご要望いただき、日別の新規患者数結果のバーグラフ表示を追加しました。赤の新規患者数は左軸、青の現在患者数は右軸をご覧ください。


東京の予測は現状の2万人から7万人にもなる予測・・・。こうなっては大変です。


2020/12/18予測の福井、後半予想を上回る感染者が出ました。


福井のこれからは、減少傾向という予測。この予測を下回るくらいでいきたいですね。

いろいろ、はかろう!

黒が目立つ新型コロナウイルス対策ダッシュボード、黒になった後の都道府県に非常事態宣言が出されているので、先行指標として機能してそうです。

黒からの回復の条件は2つ、患者数の減少か、対策病床数の増加。対策病床としては、対策病床数と宿泊療養施設を含めています。これらの数の推移を患者数と合わせて追えるアプリを作りました。
対策病床数推移(厚労省オープンデータ)東京版
8月後半に増加して以来、病床も宿泊療養施設も増やしてはいないようです。


対策病床数推移(厚労省オープンデータ)福井版」 福井県、抑えられています。お住まいの都道府県のチェックをどうぞ。

新型コロナ、かつてない大きさとなっている第三波。非常事態宣言が広がり、医療機関の逼迫も聞こえてきます。 東京の救急医療が混雑していたときに適応される「救急医療の東京ルール」の適応件数の上昇が、東京都の対策サイトから確認できます。

自分や自分の周りの人を守る行動、不要不急な外出を避ける #STAYHOME 再びです。
かつての伝染病時とは違い、我々にはネットがあります!

jig.jp開発&提供、みんなのライブ配信「ふわっち」を使った #STAYHOME の新しいカタチ、配信アプリづくり!

Macを持っている方、ステキなオープンソース「HaishinKit.swift」を使ってかんたんにオリジナル配信アプリが開発可能です。

1. HaishinKit.swift をダウンロード
2. ライブラリを準備

$ brew install carthage $ carthage update

3. 配信画角設定を 1280x720 に変更

4. ふわっちをPCで開き、配信準備ボタン、外部エンコーダーを使うを選択

RTMP URL と Stream Name が表示されます。

5. Preference.swift に設定を書き込む

これで設定完了!自分だけの配信アプリになりました。もし公開する場合、 Stream Name も公開してしまわないよう注意。

6. 実機でビルド(Apple Developer Program 加入が必要)
7. ふわっちで「配信する」
8. アプリで配信する
画面、下から二番目、ビデオとビットレート隣にあるボタンを押すとアプリからの配信スタート!

9. 配信できました!

あとは、いろいろと楽しいエフェクトを作ったり、アニメーションにしたり、プログラミングで自由自在!#STAYHOME じっくり、家で開発三昧!
高専生プログラマーさん「jigイン���ーンオンライン」でチーム開発も楽しいかも?

変更済みのソースコード、こちらからダウンロード可能です。
taisukef/HaishinKit.swift forked from shogo4405/HaishinKit.swift


COVID-19 新型コロナウイルス対策ダッシュボード
場所に応じて警戒を!
「#STAYHOME x ふわっち」「PANDAID - パンデミックから命をまもるために」バナーはじめました。

情報化促進貢献個人等表彰にて、経済産業大臣賞をいただきました。
令和2年度「情報化促進貢献個人等表彰」経済産業大臣賞をjig.jp が受賞しました

推薦公募で決まる、第49回となる歴史ある表彰。 「COVID-19 Japan 新型コロナウイルス対策ダッシュボード」と「PUSHかんたんオープンデータを活用した福井県施設ダッシュボード」を評価いただきました。

データ提供にご協力いただいた方々、アプリをシェアいただいた方々のおかげです。ありがとうございました。 行政、民間、シビックテックにおいて、ますますのオープンデータ活用の契機として活用します!


第一報を鯖江市長、佐々木さんに報告。連携協定結ぶKDDI松野さん、サイバーセキュリティー教育「CyberSakura」や「IchigoJam」プログラミングなど、IT人材教育をすすめるNPO法人エル・コミュニティ代表竹部さんと共に、コロナ禍で一層厳しくなる行政こそ、民間の強みを活かしましょう。


COVID-19 Japan 新型コロナウイルス対策ダッシュボード
グラフからも明確な第三波ですが、全国均一的ではありません。


ほとんど感染者がいないローリスク地域もありながら、入院治療を要する者(厚労省)が病床数を上回る地域まで様々です。居住地、行き先に合わせた個々の対応が重要です。

民間企業Google社により11/17に発表された感染者予測が、結果と比較するアプリをつくりました。

COVID-19 福井県のPCR検査陽性者数、入院者数 予測値
福井県の11/15予測時点の折れ線グラフに、棒グラフで結果を並べてみました。大きく増加し減少する形になり、結果近い値になっています。


COVID-19 福井県のPCR検査陽性者数、入院者数 予測値
11/28時点の予測でも当初の予測とほぼ変わらず増加の傾向とのこと。


COVID-19 大阪府のPCR検査陽性者数、入院者数 予測値
大阪府の11/15時点予想を上回る結果でした。


COVID-19 大阪府のPCR検査陽性者数、入院者数 予測値
11/28時点の予想は現状に合わせ上方修正されていて、引き続き増加の予想となっていますが、あくまで予測。未来は変えられます。都道府県別、予測時点別に見られます。気になる地域をご覧ください。


12/4(金)14:00-15:00 たんなん夢レディオの新番組 Cyber Valley, Japan (サイバーバレージャパン)を始めます。 インフラとしてのオープンデータの広まりを受けた次の一手は、リアルとつなぐDXを含めた、サイバー空間の活用にあり。 サイバーナビゲーターは、コネクトフリー代表 帝都久利須とjig.jp会長 福野泰介

Let's go to the next stage!

COVID-19 Japan、アクセス数が増加してきました。先週は日に5,000アクセス程度だったものが、2倍10,000アクセス/日ほどになっています。

Googleアナリティクスより。3/22からの累計アクセスは、529万になりました。


COVID-19 Japan 新型コロナウイルス対策ダッシュボード
こちら日本全体の現在患者数(青)と、その日の陽性患者数(赤)です。第三波は第二波のピークを超えました。ただ、今回な第三波は地域毎に状況が大きく異なるのが特徴です。その場所に応じたひとりひとりの判断が重要です。


石川 - COVID-19 Japan 新型��ロナウイルス対策ダッシュボード
加能ガニロボットコンテスト」が開催される石川県の状況を見ると、第三波は来ていないように見えます。場所に合わせた判断が必要です。(例、大阪北海道

できれば、都道府県単位ではまだ広いので、市区町村単位での発生情報があると、より細かな対応ができてうれしいです。
市区町村別CSVオープンデータ、情報提供、お待ちしています!

コロナ禍に気になる今シーズンのインフルエンザ。福岡市の状況をグラフ化してみましたが、全国データは厚労省がPDFにて公開していることがわかりました。 こちらを「みなしオープンデータ」として、CSVへ変換して随時グラフ化するアプリにしました。


全国インフルエンザ報告数(厚労省)
PDFで発表されている、厚労省データのインフルエンザ報告数をグラフ化しました、黄土色は昨年度の数。現時点では、昨年と比べ、圧倒的に少ないことがわかります。
インフルエンザに関する報道発表資料 |厚生労働省


PDFは印刷するには便利なフォーマットですが、データとして解析するのには向いていません。HTMLからPDFのリンクを抽出して、テキストファイルを経由して、CSV/JSONを生成するJavaScriptで書いた112行のプログラム、covid19influ.mjsを作って変換し、GitHubにてオープンデータとして公開しています。


PDFからテキストデータのみを抽出したテキストファイル。構造がないため、手動で構造化する必要があります。元のPDFの構造が変わってしまうと、手動での構造化のやり直しが必要です。 ぜひCSVオープンデータ化、お願いします。


https://www.stopcovid19.jp/data/covid19influ.csv
処理しやすいイチオシの形式、CSV。BOMデータ付きで、UTF-8で保存すると、Excelでも開け、プログラムでの処理もしやすく、テキストファイルとして開いても読みやすい形式です。 さまざまなプログラミング言語で使用可能です。


https://www.stopcovid19.jp/data/covid19influ.json
エンジニアが好きな形式、JSON。少し冗長になりますが、入れ子構造、数値と数字の区別可能な型などが付けられ、さまざまなプログラミング言語で処理しやすい形式です。


対策ダッシュボード」現在
また、10%ちょっとを維持してきましたが、ここ数日でじわりと上昇、12.9%。
バナーとしてひとつ変更し、インフルエンザ状況を見られるようにしました。反響はまたご報告します。
COVID-19 入院治療を要する者 推移
第三波となるか否か。

手軽にお試しIchigoJam、ブラウザで動くIchigoJam webにネット通信機能を追加できる、バーチャルMixJuice拡張を実装! MixJuiceは、PCN製のIchigoJamを無線LANに接続する拡張ボード。 [I/O]パネルのMixJuiceチェックボックスにチェックを入れると、仮想MixJuiceがつながったことになります。

IchigoJam web
使い方は簡単。I/Oパネル、MixJuiceをチェックして、下記のようにMJで始まるコマンドをかくと、サーバーからの返事が、勝手にキーボードで打ち込んでくれます。

?"MJ GETS www.stopcovid19.jp/data/covid19japan-trend.txt

長いメッセージ、途中で止めたければMixJuiceチェックを外しましょう。バーチャルMixJuiceを外したことになります。

COVID-19 Japan 新型コロナウイルス対策ダッシュボードの最新オープンデータは、テキストデータとして公開しています。 こちらを集計して、合計患者数と前日からの差分を計算するプログラムをつくりましょう。

10 ?"MJ GETS www.stopcovid19.jp/data/covid19japan-trend.txt" 20 INPUT N 30 FOR I=1 TO 47 40 INPUT S 50 INPUT [I] 60 INPUT [I+50] 70 NEXT 80 ' CALC --- 90 VIDEO3 100 T=0:FOR I=1 TO 47:T=T+[I]:NEXT 110 D=0:FOR I=1 TO 47:D=D+[I+50]:NEXT 120 ?"COVID-19 Japan" 130 ?"Total:";T 140 ?"Difference:";D

10行、HTTPリクエストを送ります。(GETでhttp、GETSでhttps、参照:MixJuice
20-70行、47都道府県分のデータの返事をINPUT文かINKEYで配列に受け取ります。
100-110行、合計(Total)と差分(Difference)を計算します。


できました!

MixJuiceで使える手軽なWeb API、色々増やせると楽しそうですね!
Hana道場師範、自宅の呼び鈴をLINEにつなぐIoT化してます。
IchigoJamでLINEを送る方法 <その1>【IchigoJam × MixJuice × IFTTT】 - Hana道場【師範】のブログ

IchigoJamで基礎を学び、本格パソコンを手に入れたこどもたちや、チャレンジ精神旺盛な大人には、JavaScriptでサーバープログラミングもおすすめです。
Deno x Servest x JavaScript で始めるシンプルweb開発
* IchigoJam web から接続するには、CORS設定としてヘッダーに「Access-Control-Allow-Origin: *」などを入れ、HTTPSでアクセスできるようにしてください。

鯖江市でのステキな取り組み、おもちゃの図書館&雑貨カフェ Petit(プティ)さんに、IchigoJam一式をプレゼント。ぜひ親子で遊びにいってみてください。

プティに【IchigoJam】が仲間入り✨ 10月20日にIchigoJam開発者である福野...

おもちゃの図書館&雑貨カフェ Petitさんの投稿 2020年10月23日金曜日

Hana道場では、IchigoJamやJavaScriptの講座もやってます!

links
- IchigoJam用QRコード表示サービス

厚労省からの都道府県別の新型コロナ患者状況を日次で公開されるみなしオープンデータ。 データ形式は、テキストPDFデータ。ツールを用いてテキスト化し、数値を抽出、チェックして更新するのが日課。

COVID-19 JAPAN - 都道府県別 新型コロナウイルス陽性患者数)

先日、該当ファイルが急にベクトル画像PDFとなって変換エラー。 JUST PDF4の助けを借りて、2日間を乗り切り、その後は再びテキストPDFに戻って事なきを得た。 ただ、もう発生しないとは限らないので、自動化できるツールを用意しておいた。

変換アルゴリズム
1. PDFファイルを画像化(pdf2png)
2. 画像から特定位置の数字画像を数値化
3. CSVファイルとして出力

1. macOSでは、PDF操作用のクラスがあって変換は簡単にできる。 発見した、Objective-Cによる実装、pdf2png.m by typester をCatalinaでもコンパイルできるよう調整、背景を白塗りつぶし、解像度を上げて保存するように改良した。(pdf2png.m on GitHub Gist

gcc --std=c99 -Wall -g -o pdf2png pdf2png.m -framework Cocoa

2. まずは文字画像を抜き出す。白かどうかを縦横でチェックし、1文字を抽出。0から9までの数を画像ファイルとして手動で集める。 続いて、数字が書かれているる領域を特定。レイアウトは固定のようなので、必要箇所を決め打ちで走査することにし、前述と同様の手順で抜き出した画像と0から9までの画像の一点ずつを単純に差分をとった合計値を計算し、一番差分が少ないものがその数値だと判定するプログラムをつくる。 手書き文字認識の場合、ニューラルネットワークなどを使うといいが、元のフォントが同じなので、安定性は高いはず。(src on GitHub)

3. 抽出したデータで合計値で検算。簡単なエラーチェックにもなって、安心度アップ。

罫線を自動的に認識させると、より汎用的に使えていいかもしれない。OCRを使わないで済む、CSVオープンデータとしてもらえるのが一番だが、オープンデータであればなんとかできる武器は多いに越したことはない。

困ったときにどうにかできるスキルを磨くのにオススメ、中止になった高専プロコン競技部門を勝手につくるオープンソース企画「囲みます」。 強いAIアルゴリズムを考えて、実装して、楽しく対戦して遊んでいる内に実装力つきますよ!


データ出典:オープンデータ|厚生労働省(新型コロナウイルス感染症について)
第三波はどうなるか!?

遂に、厚労省がCSVオープンデータ公開スタート!
オープンデータ|厚生労働省
検査数、患者数、退院数、死亡者数などが、CSVオープンデータとして公開されました。(都道府県別や、病床数はまだの様子)
高校プログラミング「情報I」の範囲で補助教材として使えるように、シンプルにまずは活用例をつくってみました。


補助教材、CSVオープンデータをダウンロードしグラフ化、2軸」(src on GitHub)
早速 Chart.js を使ってグラフ化!2軸にして、検査数と発生数を比較できるようにしました。


補助教材、PCR 検査陽性者数(日別)」(src on GitHub)
まずはシンプルに日別の陽性者数のみ表示からいじり始めるといいです。

<body style="margin:0;text-align:center;"> <canvas id="chart"></canvas> データ出典:<a href=https://www.mhlw.go.jp/stf/covid-19/open-data.html>オープンデータ|厚生労働省</a>(新型コロナウイルス感染症について)<br> <script type="module"> import Chart from "https://code4sabae.github.io/kafumon/lib/Chart.mjs"; import util from "https://taisukef.github.io/util/util.mjs"; const main = async () => { // const url = "https://www.stopcovid19.jp/data/mhlw_go_jp/opendata/covid19.csv"; const url = "https://www.stopcovid19.jp/data/mhlw_go_jp/opendata/pcr_positive_daily.csv"; const json = await util.fetchCSVtoJSON(url); console.log(json); const date = []; const data1 = []; for (const d of json) { date.push(d["日付"]); data1.push(d["PCR 検査陽性者数"]); } const config = { type: "line", data: { labels: date, datasets: [ { data: data1, borderColor: 'rgb(255, 99, 132)', fill: false, lineTension: 0 }, ] }, options: { title: { display: true, text: "COVID-19 日本のPCR検査陽性者数" }, scales: { xAxes: [{ scaleLabel: { display: true, labelString: "日付" } }], yAxes: [{ scaleLabel: { display: true, labelString: "PCR 検査陽性者数" }, ticks: { beginAtZero: true } }], }, legend: { display: false } } }; new Chart.Chart(chart, config); }; main(); </script>


厚労省ページからダイレクトに取得はできないので、GitHub pagesに自動的に上げる形にしています。


BOM付きUTF-8エンコードCSVなのでExcelでもOK!


オープンデータ|厚生労働省」活用しましょう!


新型コロナウイルス関係 CSVオープンデータ|厚生労働省
日付付きのさまざまなデータをひとまとめにしたCSVオープンデータを作成するプログラムも作ってみました。(src on GitHub)

links
- 厚生労働省の方へ、CSVオープンデータ化で効率化しましょう! 新型コロナウイルス国内事例における都道府県別の患者報告数表示アプリ
- 2022年高校「情報I」プログラミング教材JavaScript版へコントリビュート

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