codeforjapan / codeforelection

衆院選2017候補者データベース作成プロジェクト This repo will be archived 🗄️ in the future
MIT License
32 stars 6 forks source link

郵便番号JSONの軽量化 #15

Closed tetsuyas1 closed 7 years ago

tetsuyas1 commented 7 years ago

現在のJSONは、KEN_ALL.CSVに存在するすべての郵便番号について、対応する行政コードと選挙区番号を持たせておりますが、ほとんどの郵便番号については冒頭三桁で、集配局を意味しているはずで、そこだけ見れば大体の確度で、選挙区は特定されます。 つまり、

1234567 ⇒ 自治体01123 選挙区2
1235678  ⇒ 自治体01123 選挙区2
1236789 ⇒ 自治体01123 選挙区2

がある時に

1230000 =>自治体01123 選挙区2

と集約書き直してもらうだけでサイズは10分の一程度になると見込まれます。

tetsuyas1 commented 7 years ago

郵便番号の補完だとこのOSSライブラリが非常に高速軽量なので、参考になるかも。 https://yubinbango.github.io/ YubinBango YubinBangoは、Webフォームにて郵便番号を入力すると自動的に住所が自動入力されるライブラリ(ajaxzip3の開発者による正式な後継)です。 yubinbango.github.io 今の仕組みを利用するなら、郵便番号最初の3ケタでファイルの読み込み先を変えるとかそういうのかも。

rish314 commented 7 years ago

JSONデータの容量削るのに試行錯誤するくらいならば、APIサーバ立てて、データ投入して検索できるようにしたほうが早く開発できるし、今後の拡張性の面でもメリットがあると思いますが、如何でしょうか。

tetsuyas1 commented 7 years ago

それもそうですね。

ただ、今回のプロジェクトはオープンデータ(自体)を作ることも一つの目標にしているので、軽量サーバレスで使えるデータあったほうが利用価値が高まるかなとも思っています。

同時に、リソース的にどのぐらい何が使えるのかちょっと把握できてないという問題もあるので サーバ的な問題を確認しておきます。

取り急ぎ

halsk commented 7 years ago

いずれにせよサーバ立てる方が良さそうですね。 そちらの方向で検討します。

hkwi commented 7 years ago

まぁ、API サーバを立てるにしても、データの流通を考えると Dump データはダウンロードできるようにしたいところですし、軽量化されたフォーマットを考えるのはそれはそれでやるのはアリだと思います。

tetsuyas1 commented 7 years ago

作成したのでクローズします