地理情報システム(GIS)とプライバシー

39
地理情報システム (GIS)とプライバシー 宮崎大学 学生主催プログラミング勉強会 中央大学  飯尾 淳

Transcript of 地理情報システム(GIS)とプライバシー

地理情報システム(GIS)とプライバシー

宮崎大学 学生主催プログラミング勉強会

中央大学  飯尾 淳

2016年1月7日 Copyright © Jun Iio 2

地理情報システムとは● 位置情報を扱う情報システム● GIS:Geological Information System● 応用例

– カーナビ– 交通情報(乗り換え案内),道路状況など– 土地利用,リモートセンシング,農業ITなど

● 元来,地図情報は国家機密レベル?

2016年1月7日 Copyright © Jun Iio 3

GISの普及した背景● GPSの進化

– GPS:Global PositioningSystem

● 各種の位置同定システム– 携帯電話(基地局)– WiFi,iBeaconなど

● 情報処理のマルチメディア化– 文字,数値,音響情報,映像

情報,位置情報– 参考)欧米の道案内(右)

2016年1月7日 Copyright © Jun Iio 4

iPhoneを探す

2016年1月7日 Copyright © Jun Iio 5

ジオコーディング● ジオコーディングとは?

– 住所を緯度経度に変換(あるいはその逆)● 利用例

– 住所を知っている– 電子地図(Google Map,OSM)に表示したい

※ OSM,Open Street Map– 電子地図に表示するためには,緯度経度情報が必要

● 実際の例– “東京都港区芝公園4丁目2-8”

→ 35.6585696,139.745484

リバースジオコーディングという

2016年1月7日 Copyright © Jun Iio 6

ジオコーディング・サービス例

2016年1月7日 Copyright © Jun Iio 7

ジオコーディングAPI

2016年1月7日 Copyright © Jun Iio 8

ジオコーディングAPI

2016年1月7日 Copyright © Jun Iio 9

ところで皆さん年賀状出しましたか?

写真提供:「写真素材ぱくたそ」(モデル:河村友歌)

2016年1月7日 Copyright © Jun Iio 10

年賀状はどこに届く?

2016年1月7日 Copyright © Jun Iio 11

作業手順● 住所録から「住所」

データを切出し– 住所録DBから「住

所」フィールドを抽出

● ジオコーダーで変換– 簡単なRubyスクリプ

トを利用

● 地図にプロット– ウェブサービス活用

※教科書的なやり方– ジオコーダー用のAPIKey を取得

– 自分のWebサーバ上にて…

● 同APIを叩くプログラムをJavaScriptなどで作成

● 同APIで取得したマップイメージをHTMLに埋め込む

切り出した住所一覧は,address.txt として用意しておく

2016年1月7日 Copyright © Jun Iio 12

Ruby Geocoder

http://www.rubygeocoder.com/

2016年1月7日 Copyright © Jun Iio 13

Ruby Geocoderの使い方

※ 下準備として,gem install geocoder が必要

2016年1月7日 Copyright © Jun Iio 14

こんなスクリプトを使います

緯度※「2,500件/日,5件/秒」の制限を回避 実際に試したところ100件で打ち止め?

経度

geocode.rb

2016年1月7日 Copyright © Jun Iio 15

結果

2016年1月7日 Copyright © Jun Iio 16

Google Map へのプロット

http://www.tree-maps.com/

2016年1月7日 Copyright © Jun Iio 17

結果

2016年1月7日 Copyright © Jun Iio 18

利用上の注意● いくつかのベンダがサービスを提供

– Google, Yahoo!, etc...● その背景には,多大な情報処理コストが…

– 地図情報のメンテナンスに付随したデータ(次頁)● いわば,我々は「おこぼれ」に預かっている

● 利用上の制限– 1日あたり◯○件,同一IPアドレスあたり◯○件,

など– Ruby Geocoderもデフォルトでは Google Map

Geocoding API を使用(変更可能)

2016年1月7日 Copyright © Jun Iio 19

● 地図アプリにおける活用– ピンのドロップ– 地図上のxy座標取得– 緯度経度の取得– リバースジオコーディ

ングによる住所情報の取得

「住所⇔緯度経度」データの重要性

出典:「iPhoneでマップやGoogle Mapsから簡単に住所を取得する方法」iPhone PLUS よりhttp://iphone.ascii.jp/2014/12/24/ios-technic885/

ここに住所が表示される

2016年1月7日 Copyright © Jun Iio 20

対策● 利用上の注意に対する対策

1. 取れるデータはまるっと取ってしまう

2. 新たなデータはキャッシュする

2016年1月7日 Copyright © Jun Iio 21

国交省国土制作局提供データ

2016年1月7日 Copyright © Jun Iio 22

提供データ例

出典:http://www.bunkei-programmer.net/entry/2012/11/17/各種ジオコーディングapiの罠と対処法

2016年1月7日 Copyright © Jun Iio 23

今朝TVで…● 「日本の地名,『猿』が含まれるものと『犬』

が含まれるもの,どちらが多い?」

● 集計手順– 国土地理院のデータ全てを利用– cat, cut, grep, sort, uniq, wc 等のシェルコマン

ドを組合せて集計すれば簡単に答えが出る(データベースにブチ込んで集計する方法もある)

● cat で csv ファイルを繋ぎ,cut で必要なフィールドのみ抽出,grep で「猿」/「犬」を含む地名を抽出し,sort & uniq で重複を削除,wc で数を数える

● 必要に応じ,都道府県単位での集計も,簡単!

2016年1月7日 Copyright © Jun Iio 24

ジオコーディングの実際国交省データ

キャッシュDB

①事前に既知データを ダウンロードしておく

②キャッシュされて いれば,それを 利用

③キャッシュされて いなければ,各種の サービスを利用

各種のジオコーディングサービス(Google, Yahoo!など)

④結果はキャッシュ DBに新たに登録

2016年1月7日 Copyright © Jun Iio 25

SNSでも同じことできそうだよね?

2016年1月7日 Copyright © Jun Iio 26

考慮すべきこと● プライバシーをどこまで配慮するか

– 自分の個人情報– 友達の個人情報– プライバシー・ポリシー

● 個人情報保護法– 極端に「びびる」必要はないけれど…

2016年1月7日 Copyright © Jun Iio 27

「ログイン」

2016年1月7日 Copyright © Jun Iio 28

プライバシーへの(過)干渉● 地図に宿泊予定が!● この情報はどこから?● 本当に欲しいサービス

とは何か

2016年1月7日 Copyright © Jun Iio 29

SNS:情報収集プラットフォーム

2016年1月7日 Copyright © Jun Iio 30

問題点●私たちのプライバシーは?– 「誰が」– 「いつ」– 「何を」– 「どこで」

●全て把握されている?

● 1984– ジョージ・オーウェル

2016年1月7日 Copyright © Jun Iio 31

プライバシーに対する配慮●個人情報保護法● 「匿名化」に関する技術的研究開発● ビッグデータ活用企業のモラル● セキュリティ対策● サービス提供(利便性)とプライバシー侵害(危険性)のトレードオフ

2016年1月7日 Copyright © Jun Iio 32

個人情報漏洩の問題

2016年1月7日 Copyright © Jun Iio 33

プライバシー配慮の例

住んでいる場所の分布 会社や学校の分布

グリッドで表しているのは何故か?

2016年1月7日 Copyright © Jun Iio 34

Open Street Map

2016年1月7日 Copyright © Jun Iio 35

ここはどこでしょう?(OSM)

2016年1月7日 Copyright © Jun Iio 36

ここは…?(Google Map)

2016年1月7日 Copyright © Jun Iio 37

コミュニティのマネジメント● こんな話を聞きました

– ある地域でOSMのデータ整備が遅々として進んでいなかった.ただし,僅かながら,細々と整備を進めている作業者が何名かいた.

– その地域を統括しているリーダーが,あるとき,業を煮やして,既存の他のデータを元に(ある程度の自動化作業で)一括で整備を進めた.なお,自動化作業なので品質はそう高くない.

– ところがその結果,細々と作業を進めていた作業者がコミュニティを離れてしまった.彼らは,自分たちの「楽しみ」が奪われてしまったと感じたのだ.

2016年1月7日 Copyright © Jun Iio 38

処理の手順を考えるときのポイント● 使えるサービスは「使え」

– 公共的なデータ,公共財としてのデータはローカルで処理できない

– 「オープンデータ」の流れに乗るべし● とはいえ,細かな処理は自前でやりたい…

– Ruby Geocoder のようなライブラリを活用– 簡単にサーバPGできるプラットフォームの活用も

● Node.js とか● コミュニティの力を借りるパターンもある

– OSMのデータ構築など

2016年1月7日 Copyright © Jun Iio 39

まとめ● 地理情報システム

– 情報化社会において地理情報の重要性は増している

● ジオコーディング– 地理情報の表現方法:住所,緯度経度– 変換処理が重要

● ジオコーディング / リバースジオコーディング

● プライバシーとの兼ね合い– 「どこに居るか」… 個人情報・プライバシー