福野泰介の一日一創 - create every day

「第24回、参議院選挙」期日前投票(きじつぜんとうひょう)が始まっています。
国政選挙では初となる18歳選挙、福井県はアプリ「Let's vote! 今日は投票記念日」を用意するなど、新しい取り組みにも注目です。

特に福井市の期日前投票では、ショッピングセンターと日程が限定的ながらも福井大学・福井工業大学での期日前投票ができるようで、各地での投票数のオープンデータ化も期待したいところ。 今回はたぶん、福井市民ではないと投票できないと思いますが、県内から通ったり集まる大学、ショッピングセンター、県民であれば投票できるなどへもチャレンジしてもらいたいですね。

Code for Japan内で期日前投票所を集める試みを発見、福井県内の期日前投票場所などをまとめたオープンデータもなかったので、データを整理して国土地理院マップにしてみました。


福井県の期日前投票所」→「福井県 期日前投票所マップ

結論から言って、やり始めたのを後悔するくらい大変でした・・・。

「福井県 期日前投票」で見つかったPDF、よく見たら、日付が古い!

テキストデータとしてエディタへコピー&ペーストしたあと、地道に整形、コンピューターには難しく、ミスしやすい気を使う作業です。

Googleスプレッドシートへ貼り付けて、緯度経度をオープンデータをベースに取得を試みるも、一致率は60%ほど。
名前に表記ゆれがあったり、そもそもその場所名での登録がなかったりと、特定に時間がかかります・・・。

完成したら、スプレッドシートのメニュー「ファイル」「ウェブに公開...」で、APIからのアクセスが可能にします。

今回のプログラム的な肝、GoogleスプレッドシートからJavaScriptで使いやすい表形式にする関数がこちら。
https://docs.google.com/spreadsheets/d/[key]/pubhtml
という形式のURLで含まれる、[key]を指定するだけです!

var getGoogleSpreadSheet = function(key, callback) { // https://spreadsheets.google.com/feeds/worksheets/[key]/public/basic var url = "https://spreadsheets.google.com/feeds/worksheets/" + key + "/public/basic?alt=json"; jsonp(url + "&callback=" + getCallbackMethod(function(data) { var links = data.feed.entry[0].link for (var i = 0; i < links.length; i++) { if (links[i].rel == "http://schemas.google.com/spreadsheets/2006#cellsfeed") { var url2 = links[i].href; var parseSpreadsheet = function(data) { var getPos = function(pos) { var x = pos.charCodeAt(0) - "A".charCodeAt(0); var n = 1; var x2 = pos.charCodeAt(1) - "A".charCodeAt(0); if (x2 >= 0 && x2 <= 26) { x = (x + 1) * 26 + x2; n++; } var y = parseInt(pos.substring(n)) - 1; return [ x, y ]; }; var tbl = []; var entry = data.feed.entry; for (var i = 0; i < entry.length; i++) { var e = entry[i]; var pos = e.title["$t"]; var xy = getPos(pos); var x = xy[0]; var y = xy[1]; var val = e.content["$t"]; if (!tbl[y]) tbl[y] = []; tbl[y][x] = val; } return tbl; }; jsonp(url2 + "?alt=json&callback=" + getCallbackMethod(function(data) { var tbl = parseSpreadsheet(data) callback(tbl); })); return; } } })); };

成果
- 「福井県の期日前投票所」Googleスプレッドシート
- 「福井県 期日前投票所マップ」 - 国土地理院マップ

参考リンク
- 「参院選、壁高い「ついでに投票」 期日前投票所のSC設置広がらず 社会 福井のニュース |福井新聞ONLINE:福井県の総合ニュースサイト

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