2021-11-23
オープンソースの良いところは、オープンデータも兼ねるところ。

東京備蓄ナビの要は、対象者に合わせた備蓄推奨品データ。
東京備蓄ナビ」のソース内を品目で全文検索(grep)すると、 stockpile.config.js というJavaScriptのプログラム内にJSONデータになっているものが見つかりました。

こちらを下記のような変換プログラムを書いて、Denoで動かしCSVデータにします。 import { CSV } from "https://js.sabae.cc/CSV.js"; import { fix0 } from "https://js.sabae.cc/fix0.js"; import { stockpileList, petStockpileList } from "../stockpile.config.js"; console.log(stockpileList); const conv = (list, imgpath, imgoffset = 0, pet = "") => { return list.map(s => { return { id: s.id, item_ja: s.item.ja, unit_ja: s.unit?.ja, category_ja: s.category.ja, image: imgpath + "/img-" + fix0(s.id - imgoffset, 2) + ".png", description_ja: s.description.ja, item_en: s.item.en, unit_en: s.unit?.en, category_en: s.category.en, description_en: s.description.en, infantsMale: s.required?.infantsMale, infantsFemale: s.required?.infantsFemale, child1Male: s.required?.child1Male, child1Female: s.required?.child1Female, child2Male: s.required?.child2Male, child2Female: s.required?.child2Female, adultMale: s.required?.adultMale, adultFemale: s.required?.adultFemale, agedMale: s.required?.agedMale, agedFemale: s.required?.agedFemale, pet: pet, url_yahoo: s.url?.yahoo || "", url_rakuten: s.url?.rakuten || "", url_amazon: s.url?.amazon || "", } }); }; const base = "https://code4fukui.github.io/tokyobichikunavi/"; const data = conv(stockpileList, base + "src/assets/images/tool/result/stockpile"); const data2 = data.concat(conv(petStockpileList, base + "src/assets/images/tool/result/stockpile/pet", data.length, 1)); await Deno.writeTextFile("stockpile_list.csv", CSV.stringify(data2)); ペット用のデータも統合するのに一工夫。

画像つきの備蓄オープンデータのCSVオープンデータができました!

東京備蓄ナビ 備蓄推奨品オープンデータ

早速、手軽な派生プロダクト、ブラウザ上からサクッと全文検索アプリ!

備蓄推奨品検索オープンソース on GitHub

活用しましょう、オープンソース&オープンデータ!

links
- 備蓄推奨品オープンデータを使ってアドベンチャーゲーム風「備蓄ナビ」

Tweet
クリエイティブ・コモンズ・ライセンス
本ブログの記事や写真は「Creative Commons — CC BY 4.0」の下に提供します。記事内で紹介するプログラムや作品は、それぞれに記載されたライセンスを参照ください。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / 「一日一創」画像 / RSS