Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

オープンデータを利用したWebアプリ開発

3,875 views

Published on

オープンデータ(人口データ)を使ったWebアプリケーション開発の方法について。

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

オープンデータを利用したWebアプリ開発

  1. 1. オープンデータを利用したWebアプリ開発 @dokechin 立見哲也 YAPC::Kansai Osaka 2017.03.04
  2. 2. 自己紹介 @dokechin • 「ゆーすけべー日記」のマネタイズの記事に触発され、 2012年よりPerlでWebアプリ開発を始める • Mishima.pm主催者 • ブログ「鈍足ランナーのIT日記」
  3. 3. アジェンダ • オープンデータとは • 作成動機 • デモ • 技術解説 • 受賞、そして今考えていること
  4. 4. オープンデータとは
  5. 5. オープンデータとは 政府において、オープンデータとは、「機械判読に適し たデータ形式で、二次利用が可能な利用ルールで公開 されたデータ」であり「人手を多くかけずにデータの 二次利用を可能とするもの」のことを言います。 http://www.soumu.go.jp/menu_seisaku/ictseisaku/ ictriyou/opendata/
  6. 6. 例: 江市 西山動物園の動物 <dataroot xmlns:od="urn:schemas-microsoft-com:officedata" xmlns:xsi="http:// www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="nisiyamazoo.xsd" generated="2012-09-02T12:03:57"> <nisiyamazoo> <No>1</No> <classification>乳類</classification> <name>レッサーパンダ</name> <latitude>35.950946</latitude> <longlatitude>136.180778</longlatitude> <number>9頭</number> <meal1>9:00ごろ 竹の葉</meal1> <meal2>11:00ごろ リンゴ・バナナ・にんじんなど</meal2> <meal3>16:30ごろ くだものおかゆ(ペースト状にすりつぶしたもの)</meal3> <url1> http://www.city.sabae.fukui.jp/users/zoo/animals/animal_01.html </url1> </nisiyamazoo>
  7. 7. 作成動機
  8. 8. 全国のコインランドリー数 3,000 6,000 9,000 12,000 15,000 18,000 平成11年 平成13年 平成15年 平成17年 平成19年 平成21年 平成23年 平成25年 厚生労働省 コインオペレーションクリーニング営業施設に関する調査
  9. 9. 副業解禁
  10. 10. デモ
  11. 11. 技術解説
  12. 12. 店舗情報の収集
  13. 13. 店舗テーブル create table laundry( gid serial, name varchar(200), address varchar(200), geom geometry(point, 4326) );
  14. 14. 店舗の住所の収集 scraper.pl (use Web::Scraper)
  15. 15. Geocoding(住所▶緯度経度) geocoding.py (psycopg2,googlemaps)
  16. 16. 人口データの登録
  17. 17. e-Stat
  18. 18. 国勢調査データ
  19. 19. 統計データ CSV
  20. 20. シェープファイルのロードコマンド 境界データと統計データを結合したシェープファイル 地図型を含んだDDL文&Insert文 shp2pgsqlコマンド
  21. 21. 人口の算出
  22. 22. 人口算出に使用する空間演算関数 ST_AREA 面積を算出 ST_INTERSECT A,B2つのGISで重なる領域を出力
  23. 23. 2000人 500m 2000人 1400人 2200人 3000人 3500人 2500人 3000人 1800人 人口の算出方法
  24. 24. フロントエンド
  25. 25. GeoJSON • http://geojson.org • SQLにて店舗情報をGeoJSONファイルとして出力 • GoogleMapsのAPIで表示
  26. 26. 任意の地点の人口算出 • MojoliciousでJSON-APIを実装。緯度経度を受け取り、 TengでSQLを発行して算出している。
  27. 27. D3.js • Data-Driven Documents(データ駆動ドキュメント) • 色分け表示に利用
  28. 28. 受賞、そして今考えていること
  29. 29. サポーター重要 • 一匹オオカミの実装 • 社内SNSで2名のサポーターの意見を反映 • サポータの意見に耳を傾けなければ、受賞はなかった
  30. 30. 参考 URL • GUNMA GIS GEEK https://shimz.me/blog/

×