Submit Search
20170909 reafletでお手軽可視化 on_r_20分ver_up用
Sep 10, 2017
1 like
1,400 views
Nobuaki Oshiro
fukuoka.R #09 https://fukuoka-r.connpass.com/event/63700/
Read more
1 of 51
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
Ad
Recommended
FOSS4Gで地理院地図
FOSS4Gで地理院地図
Hidenori Fujimura
FOSS4G 2013 Tokyo 基調講演
FOSS4G 2011 Tokyo GRASSハンズオン
FOSS4G 2011 Tokyo GRASSハンズオン
IWASAKI NOBUSUKE
第20回GIS学会GRASSハンズオン
第20回GIS学会GRASSハンズオン
IWASAKI NOBUSUKE
第20回GIS学会GRASSハンズオン
Foss4 gマイクロジオデータ解析入門
Foss4 gマイクロジオデータ解析入門
Hiroaki Sengoku
Data and source code for hands-on will be uploaded to a following site. http://geodata.csis.u-tokyo.ac.jp/wp/?page_id=642
QuantumGISを使ったPostgreSQL/PostGIS利用方法紹介
QuantumGISを使ったPostgreSQL/PostGIS利用方法紹介
Yoichi Kayama
Post
Rを用いたGIS
Rを用いたGIS
Mizutani Takayuki
Rを用いたGISの講習資料です。
FOSS4Gで地理空間情報もかんたん
FOSS4Gで地理空間情報もかんたん
Kosuke Asahi
2012/6/16 OSC 2012 Hokkaido
2014年日本生態学会広島大会・自由集会「仕事でつかえる!FOSS4G」発表スライド
2014年日本生態学会広島大会・自由集会「仕事でつかえる!FOSS4G」発表スライド
Mizutani Takayuki
タイル地図がおもしろい
タイル地図がおもしろい
Kohei Otsuka
FOSS4G OSAKA プレゼン資料
LeafletでWebGIS入門
LeafletでWebGIS入門
Yasunori Kirimoto
FOSS4G 2015 Hokkaido 発表資料
RでGISハンズオンセッション
RでGISハンズオンセッション
arctic_tern265
Quantum gis研修
Quantum gis研修
Takayuki Tokunaga
FOSS4G 2012 Osaka で紹介した大阪府でのQuantumGIS研修のテキストです。少し改定して1月にも研修を実施しました。
MySQLで扱う空間情報のきほん~MySQL Cafe #6
MySQLで扱う空間情報のきほん~MySQL Cafe #6
sakaik
2019/12/05 に開催された MySQL Technology Cafe #6 での「MySQLで扱う空間情報のきほん」の発表資料です。はじめて(そこそこちゃんと?)平面直角座標系のお話を含んでいます。
Leaflet初級編 - Web地図サイトを構築してみよう-
Leaflet初級編 - Web地図サイトを構築してみよう-
Yasunori Kirimoto
FOSS4G 2016 TOKYO ハンズオンデイ 発表資料
FOSS4G 2012 Osaka
FOSS4G 2012 Osaka
Shimpei Matsuura
QGISセミナー初級編 ~QGISの使い方・実践編~ Ver. 2.4版
QGISセミナー初級編 ~QGISの使い方・実践編~ Ver. 2.4版
FOSS4G_MEXT
OSGeo財団日本支部による、QGISセミナーの資料、初級・実践編
QGISセミナー初級・実践編(V2.4)
QGISセミナー初級・実践編(V2.4)
IWASAKI NOBUSUKE
QGISセミナー初級(後半) 実践編
QGISセミナー初級 ~QGISの使い方・基礎編~ Ver. 2.4版
QGISセミナー初級 ~QGISの使い方・基礎編~ Ver. 2.4版
FOSS4G_MEXT
QGISセミナー初級・基礎編(V2.4)
QGISセミナー初級・基礎編(V2.4)
IWASAKI NOBUSUKE
QGISセミナー初級(前半) 基礎編編(V2.4)
OpenStreetMap+MongoDBで地図情報を検索してみたい!
OpenStreetMap+MongoDBで地図情報を検索してみたい!
Naruhiko Ogasawara
第2回秋のもんご祭り #mongodb2014 でデモした内容の説明スライドです。自由な地図情報を扱うOpenStreetMapから取り出した情報をMongoDBに格納して、地理空間インデックスを使って検索するデモです。
MySQL8.0の「地理情報」を理解しよう入門~いまからはじめるGIS
MySQL8.0の「地理情報」を理解しよう入門~いまからはじめるGIS
sakaik
2018年10月28日に開催されたオープンソースカンファレンス東京秋(OSC2018-Tokyo/Fall) での発表資料です。 『MySQL 8.0 の新機能「地理情報」を理解しよう入門~いまからはじめるGIS~』
Web時代のデスクトップGIS
Web時代のデスクトップGIS
IWASAKI NOBUSUKE
RからGoogle Cloud Vision API を利用する
RからGoogle Cloud Vision API を利用する
Takashi Minoda
RからGoogle Cloud Vision API を利用する。 GCPの設定からRからの利用までを説明する
iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得
iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得
Atsushi Tadokoro
QGIS入門(1)
QGIS入門(1)
Hiroaki Sengoku
合同会社マイクロベースのQGIS演習資料(ver.1.8)です。ご希望にしたがって研修内容を構成します。研修のご依頼をご希望の方は弊社ホームページよりお問い合わせください(※データは公開しておりません)。 http://microgeodata.com/ 製作・協力: 仙石裕明・東郷直子・秋山祐樹
伊能社中 地図研修会【入門編】【初級編】
伊能社中 地図研修会【入門編】【初級編】
Hiroaki Sengoku
Google Earthを学校教育・研究利用において活用するための研修会用資料です。研修会で用いたデータは下記からダウンロードすることができます。 http://goo.gl/DS3bR
20121014 micorgeodatahansonaoki
20121014 micorgeodatahansonaoki
和人 青木
オープンデータを使って地図を作ろう|QGIS 活用講座(初級編)
オープンデータを使って地図を作ろう|QGIS 活用講座(初級編)
Yu Imai
FOSS4G 2017 Tokyo ハンズオン の資料です。
20181117_データ分析プロジェクトの流れを理解する_PDCAとKPIツリー
20181117_データ分析プロジェクトの流れを理解する_PDCAとKPIツリー
Nobuaki Oshiro
https://ishikettei.connpass.com/event/106516/
20170826 fukuoka.r告知_reafletでお手軽可視化_on_r
20170826 fukuoka.r告知_reafletでお手軽可視化_on_r
Nobuaki Oshiro
20170826 fukuoka.r告知_reafletでお手軽可視化_on_r
More Related Content
Similar to 20170909 reafletでお手軽可視化 on_r_20分ver_up用
(20)
タイル地図がおもしろい
タイル地図がおもしろい
Kohei Otsuka
FOSS4G OSAKA プレゼン資料
LeafletでWebGIS入門
LeafletでWebGIS入門
Yasunori Kirimoto
FOSS4G 2015 Hokkaido 発表資料
RでGISハンズオンセッション
RでGISハンズオンセッション
arctic_tern265
Quantum gis研修
Quantum gis研修
Takayuki Tokunaga
FOSS4G 2012 Osaka で紹介した大阪府でのQuantumGIS研修のテキストです。少し改定して1月にも研修を実施しました。
MySQLで扱う空間情報のきほん~MySQL Cafe #6
MySQLで扱う空間情報のきほん~MySQL Cafe #6
sakaik
2019/12/05 に開催された MySQL Technology Cafe #6 での「MySQLで扱う空間情報のきほん」の発表資料です。はじめて(そこそこちゃんと?)平面直角座標系のお話を含んでいます。
Leaflet初級編 - Web地図サイトを構築してみよう-
Leaflet初級編 - Web地図サイトを構築してみよう-
Yasunori Kirimoto
FOSS4G 2016 TOKYO ハンズオンデイ 発表資料
FOSS4G 2012 Osaka
FOSS4G 2012 Osaka
Shimpei Matsuura
QGISセミナー初級編 ~QGISの使い方・実践編~ Ver. 2.4版
QGISセミナー初級編 ~QGISの使い方・実践編~ Ver. 2.4版
FOSS4G_MEXT
OSGeo財団日本支部による、QGISセミナーの資料、初級・実践編
QGISセミナー初級・実践編(V2.4)
QGISセミナー初級・実践編(V2.4)
IWASAKI NOBUSUKE
QGISセミナー初級(後半) 実践編
QGISセミナー初級 ~QGISの使い方・基礎編~ Ver. 2.4版
QGISセミナー初級 ~QGISの使い方・基礎編~ Ver. 2.4版
FOSS4G_MEXT
QGISセミナー初級・基礎編(V2.4)
QGISセミナー初級・基礎編(V2.4)
IWASAKI NOBUSUKE
QGISセミナー初級(前半) 基礎編編(V2.4)
OpenStreetMap+MongoDBで地図情報を検索してみたい!
OpenStreetMap+MongoDBで地図情報を検索してみたい!
Naruhiko Ogasawara
第2回秋のもんご祭り #mongodb2014 でデモした内容の説明スライドです。自由な地図情報を扱うOpenStreetMapから取り出した情報をMongoDBに格納して、地理空間インデックスを使って検索するデモです。
MySQL8.0の「地理情報」を理解しよう入門~いまからはじめるGIS
MySQL8.0の「地理情報」を理解しよう入門~いまからはじめるGIS
sakaik
2018年10月28日に開催されたオープンソースカンファレンス東京秋(OSC2018-Tokyo/Fall) での発表資料です。 『MySQL 8.0 の新機能「地理情報」を理解しよう入門~いまからはじめるGIS~』
Web時代のデスクトップGIS
Web時代のデスクトップGIS
IWASAKI NOBUSUKE
RからGoogle Cloud Vision API を利用する
RからGoogle Cloud Vision API を利用する
Takashi Minoda
RからGoogle Cloud Vision API を利用する。 GCPの設定からRからの利用までを説明する
iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得
iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得
Atsushi Tadokoro
QGIS入門(1)
QGIS入門(1)
Hiroaki Sengoku
合同会社マイクロベースのQGIS演習資料(ver.1.8)です。ご希望にしたがって研修内容を構成します。研修のご依頼をご希望の方は弊社ホームページよりお問い合わせください(※データは公開しておりません)。 http://microgeodata.com/ 製作・協力: 仙石裕明・東郷直子・秋山祐樹
伊能社中 地図研修会【入門編】【初級編】
伊能社中 地図研修会【入門編】【初級編】
Hiroaki Sengoku
Google Earthを学校教育・研究利用において活用するための研修会用資料です。研修会で用いたデータは下記からダウンロードすることができます。 http://goo.gl/DS3bR
20121014 micorgeodatahansonaoki
20121014 micorgeodatahansonaoki
和人 青木
オープンデータを使って地図を作ろう|QGIS 活用講座(初級編)
オープンデータを使って地図を作ろう|QGIS 活用講座(初級編)
Yu Imai
FOSS4G 2017 Tokyo ハンズオン の資料です。
タイル地図がおもしろい
タイル地図がおもしろい
Kohei Otsuka
LeafletでWebGIS入門
LeafletでWebGIS入門
Yasunori Kirimoto
RでGISハンズオンセッション
RでGISハンズオンセッション
arctic_tern265
Quantum gis研修
Quantum gis研修
Takayuki Tokunaga
MySQLで扱う空間情報のきほん~MySQL Cafe #6
MySQLで扱う空間情報のきほん~MySQL Cafe #6
sakaik
Leaflet初級編 - Web地図サイトを構築してみよう-
Leaflet初級編 - Web地図サイトを構築してみよう-
Yasunori Kirimoto
FOSS4G 2012 Osaka
FOSS4G 2012 Osaka
Shimpei Matsuura
QGISセミナー初級編 ~QGISの使い方・実践編~ Ver. 2.4版
QGISセミナー初級編 ~QGISの使い方・実践編~ Ver. 2.4版
FOSS4G_MEXT
QGISセミナー初級・実践編(V2.4)
QGISセミナー初級・実践編(V2.4)
IWASAKI NOBUSUKE
QGISセミナー初級 ~QGISの使い方・基礎編~ Ver. 2.4版
QGISセミナー初級 ~QGISの使い方・基礎編~ Ver. 2.4版
FOSS4G_MEXT
QGISセミナー初級・基礎編(V2.4)
QGISセミナー初級・基礎編(V2.4)
IWASAKI NOBUSUKE
OpenStreetMap+MongoDBで地図情報を検索してみたい!
OpenStreetMap+MongoDBで地図情報を検索してみたい!
Naruhiko Ogasawara
MySQL8.0の「地理情報」を理解しよう入門~いまからはじめるGIS
MySQL8.0の「地理情報」を理解しよう入門~いまからはじめるGIS
sakaik
Web時代のデスクトップGIS
Web時代のデスクトップGIS
IWASAKI NOBUSUKE
RからGoogle Cloud Vision API を利用する
RからGoogle Cloud Vision API を利用する
Takashi Minoda
iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得
iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得
Atsushi Tadokoro
QGIS入門(1)
QGIS入門(1)
Hiroaki Sengoku
伊能社中 地図研修会【入門編】【初級編】
伊能社中 地図研修会【入門編】【初級編】
Hiroaki Sengoku
20121014 micorgeodatahansonaoki
20121014 micorgeodatahansonaoki
和人 青木
オープンデータを使って地図を作ろう|QGIS 活用講座(初級編)
オープンデータを使って地図を作ろう|QGIS 活用講座(初級編)
Yu Imai
More from Nobuaki Oshiro
(20)
20181117_データ分析プロジェクトの流れを理解する_PDCAとKPIツリー
20181117_データ分析プロジェクトの流れを理解する_PDCAとKPIツリー
Nobuaki Oshiro
https://ishikettei.connpass.com/event/106516/
20170826 fukuoka.r告知_reafletでお手軽可視化_on_r
20170826 fukuoka.r告知_reafletでお手軽可視化_on_r
Nobuaki Oshiro
20170826 fukuoka.r告知_reafletでお手軽可視化_on_r
20170707 rでkaggle入門
20170707 rでkaggle入門
Nobuaki Oshiro
fukuoka.R#08 https://fukuoka-r.connpass.com/event/60156/
20170312 r言語環境構築&dplyr ハンズオン
20170312 r言語環境構築&dplyr ハンズオン
Nobuaki Oshiro
https://fukuoka-r.connpass.com/event/50986/
20161127 doradora09 japanr2016_lt
20161127 doradora09 japanr2016_lt
Nobuaki Oshiro
https://japanr.connpass.com/event/43919/
10分で分かるr言語入門ver2.15 15 1010
10分で分かるr言語入門ver2.15 15 1010
Nobuaki Oshiro
https://api.atnd.org/events/70522
10分で分かるr言語入門ver2.14 15 0905
10分で分かるr言語入門ver2.14 15 0905
Nobuaki Oshiro
第50回R勉強会@東京(#TokyoR) 初心者セッション https://atnd.org/events/69347
10分で分かるr言語入門ver2 upload用
10分で分かるr言語入門ver2 upload用
Nobuaki Oshiro
TokyoR #46
15 0117 kh-coderご紹介 for R users
15 0117 kh-coderご紹介 for R users
Nobuaki Oshiro
15 0117 kh-coderご紹介 for R users
15 0117 kh-coderご紹介
15 0117 kh-coderご紹介
Nobuaki Oshiro
15 0117 r言語活用事例-外部公開用
15 0117 r言語活用事例-外部公開用
Nobuaki Oshiro
15 0117 r言語活用事例-外部公開用
10分で分かるr言語入門 短縮バージョン 15-0117_upload用
10分で分かるr言語入門 短縮バージョン 15-0117_upload用
Nobuaki Oshiro
10分で分かるr言語入門 短縮バージョン 15-0117_upload用
10分で分かるr言語入門ver2.10 14 1101
10分で分かるr言語入門ver2.10 14 1101
Nobuaki Oshiro
https://atnd.org/events/57640
10分で分かるr言語入門ver2.9 14 0920
10分で分かるr言語入門ver2.9 14 0920
Nobuaki Oshiro
第43回R勉強会@東京(#TokyoR) https://atnd.org/events/56275
10分で分かるr言語入門ver2.8 14 0712
10分で分かるr言語入門ver2.8 14 0712
Nobuaki Oshiro
10分で分かるr言語入門ver2.7
10分で分かるr言語入門ver2.7
Nobuaki Oshiro
10分で分かるr言語入門ver2 6
10分で分かるr言語入門ver2 6
Nobuaki Oshiro
TokyoR #36 http://atnd.org/events/47713
10分で分かるr言語入門ver2.5
10分で分かるr言語入門ver2.5
Nobuaki Oshiro
第35回R勉強会@東京(#TokyoR) ATND: http://atnd.org/events/45114
10分で分かるr言語入門ver2.4
10分で分かるr言語入門ver2.4
Nobuaki Oshiro
以下の勉強会の初心者セッション資料です - 第34回R勉強会@東京(#TokyoR) http://atnd.org/events/43885
Doradora09 lt tokyo_r33
Doradora09 lt tokyo_r33
Nobuaki Oshiro
20181117_データ分析プロジェクトの流れを理解する_PDCAとKPIツリー
20181117_データ分析プロジェクトの流れを理解する_PDCAとKPIツリー
Nobuaki Oshiro
20170826 fukuoka.r告知_reafletでお手軽可視化_on_r
20170826 fukuoka.r告知_reafletでお手軽可視化_on_r
Nobuaki Oshiro
20170707 rでkaggle入門
20170707 rでkaggle入門
Nobuaki Oshiro
20170312 r言語環境構築&dplyr ハンズオン
20170312 r言語環境構築&dplyr ハンズオン
Nobuaki Oshiro
20161127 doradora09 japanr2016_lt
20161127 doradora09 japanr2016_lt
Nobuaki Oshiro
10分で分かるr言語入門ver2.15 15 1010
10分で分かるr言語入門ver2.15 15 1010
Nobuaki Oshiro
10分で分かるr言語入門ver2.14 15 0905
10分で分かるr言語入門ver2.14 15 0905
Nobuaki Oshiro
10分で分かるr言語入門ver2 upload用
10分で分かるr言語入門ver2 upload用
Nobuaki Oshiro
15 0117 kh-coderご紹介 for R users
15 0117 kh-coderご紹介 for R users
Nobuaki Oshiro
15 0117 kh-coderご紹介
15 0117 kh-coderご紹介
Nobuaki Oshiro
15 0117 r言語活用事例-外部公開用
15 0117 r言語活用事例-外部公開用
Nobuaki Oshiro
10分で分かるr言語入門 短縮バージョン 15-0117_upload用
10分で分かるr言語入門 短縮バージョン 15-0117_upload用
Nobuaki Oshiro
10分で分かるr言語入門ver2.10 14 1101
10分で分かるr言語入門ver2.10 14 1101
Nobuaki Oshiro
10分で分かるr言語入門ver2.9 14 0920
10分で分かるr言語入門ver2.9 14 0920
Nobuaki Oshiro
10分で分かるr言語入門ver2.8 14 0712
10分で分かるr言語入門ver2.8 14 0712
Nobuaki Oshiro
10分で分かるr言語入門ver2.7
10分で分かるr言語入門ver2.7
Nobuaki Oshiro
10分で分かるr言語入門ver2 6
10分で分かるr言語入門ver2 6
Nobuaki Oshiro
10分で分かるr言語入門ver2.5
10分で分かるr言語入門ver2.5
Nobuaki Oshiro
10分で分かるr言語入門ver2.4
10分で分かるr言語入門ver2.4
Nobuaki Oshiro
Doradora09 lt tokyo_r33
Doradora09 lt tokyo_r33
Nobuaki Oshiro
Ad
20170909 reafletでお手軽可視化 on_r_20分ver_up用
1.
leafletでお⼿軽可視化 (20分バージョン) 2017/09/09 doradora09
2.
⾃⼰紹介
3.
⾃⼰紹介 • ⼤城信晃 • twitter
: doradora09 • 沖縄 出⾝ -> 東京 -> 福岡 • Webエンジニア -> データ分析者 • ヤフー -> DATUM STUDIO -> LINE Fukuoka • 執筆 • Rで始めるビジネス統計分析 (2014) • 勉強会 • TokyoR運営 (2010-2017) • fukuoka.R運営にJOIN (2017- ) • 意思決定のためのデータ分析勉強会 in Fukuoka(2017- )
4.
本⽇のお話 ①leafletパッケージ ②緯度経度の取得 ③測地、投影座標系の変換 地図へのお⼿軽可視化 + 関連情報のご紹介
5.
①leafletパッケージ
6.
leafletとは (wikipediaより) • Leaflet
は広く使われているWeb地図のための JavaScriptライブラリである。 2011年に最初にリ リースされた[2]。 • モバイルとデスクトップのプラットフォームのほと んどに対応し、HTML5とCSS3に対応している。 OpenLayersやGoogle Maps API(英語版)とともに 最も⼈気のあるJavaScript地図ライブラリの⼀つで あり、FourSquare、Pinterest、Flickrなどの有名な サイトで使われている。 https://ja.wikipedia.org/wiki/Leaflet
7.
{leaflet}パッケージ • Rからleafletを呼び出せるようにしたラッパーパッケージ • JSがかけなくてもお⼿軽に利⽤できます
8.
基本操作 • 数⾏書くだけで動作します #インストール install.packages("leaflet") library(leaflet) #緯度経度をセット df <-
data.frame (id=1:2, lat=c(33.58974, 33.58904), lng=c(130.42059, 130.3996), pop=c("hakata", "tenjin") ) # 描画 m <- leaflet(df) %>% addTiles() %>% addMarkers(lng=~lng, lat=~lat, popup=~pop) m
9.
基本操作 • 数⾏書くだけで動作します #インストール install.packages("leaflet") library(leaflet) #緯度経度をセット df <-
data.frame (id=1:2, lat=c(33.58974, 33.58904), lng=c(130.42059, 130.3996), pop=c("hakata", "tenjin") ) # 描画 m <- leaflet(df) %>% addTiles() %>% addMarkers(lng=~lng, lat=~lat, popup=~pop) m
10.
#インストール install.packages("leaflet") library(leaflet) #緯度経度をセット df <- data.frame
(id=1:2, lat=c(33.58974, 33.58904), lng=c(130.42059, 130.3996), pop=c("hakata", "tenjin") ) # 描画 m <- leaflet(df) %>% addTiles() %>% addMarkers(lng=~lng, lat=~lat, popup=~pop) m 基本操作 • 数⾏書くだけで動作します マーカーのID 緯度情報 経度情報 ポップアップ 情報 表⽰内容を 指定
11.
応⽤ • popupの中はHTMLの 記述も可能です • 画像やリンクも貼れます ##
popup⽤意 pop <- c('⼭⼝酒造場<br /><img src="img/⼭⼝酒造場.jpg" width=200>', '⼋⼥中央⼤茶園<br /><img src="img/茶畑.jpg" width=200>', '繁桝<br /><img src="img/しげます.jpg" width=200>', '喜多屋<br /><img src="img/喜多屋.jpg" width=200>')
12.
おすすめ機能:クラスター化 • 縮尺によってかたまりで俯瞰したい場合に便利 #クラスター化 df2 <-
data.frame(id=1:100, lng=130+rnorm(1000), lat=33+rnorm(1000)) leaflet(df2) %>% addTiles() %>% addMarkers(~lng, ~lat, label=~paste0(id,"番"), clusterOptions= markerClusterOptions())
13.
おすすめ機能:クラスター化 • 縮尺によってかたまりで俯瞰したい場合に便利 #クラスター化 df2 <-
data.frame(id=1:100, lng=130+rnorm(1000), lat=33+rnorm(1000)) leaflet(df2) %>% addTiles() %>% addMarkers(~lng, ~lat, label=~paste0(id,"番"), clusterOptions= markerClusterOptions())
14.
デモ
15.
その他、できること • %>%を使った重ね書き • 初回表⽰時の位置やズームの設定(setView) •
サークル表⽰(addCircles)、ライン表⽰(addPolylines) • 地図タイルの変更(addTilesのattributionパラメタ) • 判例の表⽰(addLegend) • などなど、カスタマイズも可能
16.
詳細はkazutan先⽣の こちらの資料が詳しいです https://rpubs.com/kazutan/leaflet_slide
17.
注意 • Rのleafletパッケージの場合、⼤量のデータを可視化しようと するとブラウザが耐えられなくなるケースがあります (1万点以上はきつかったような・・) • その場合はQJISなど専⽤ツールでの可視化をおすすめします
18.
続いての話題 ①leafretパッケージ ②緯度経度の取得 ③測地、投影座標系の変換
19.
②緯度、経度の取得 • leafletの使い⽅はなんとなく分かったものの、元データを⼿に ⼊れなければプロットはできない • 緯度経度情報の取得⽅法についていくつか説明します ①地図サービス ②API ③⼀括変換サービス
20.
調査⽅法①: 地図サービスで1つずつ調べる https://mapfan.com/map/spots/SCH,J,2GR?full=true
21.
調査⽅法②: GoogleのAPIを使う 座標を住所に変換する場合は以下が便利 (ただし、2500件/dayのAPI制限あり) >install.packages('ggmap') >library(ggmap) # 住所・緯度経度対応⽤ >ggmap::geocode(ʻ博多駅ʼ,
source=“google”, output=“latlon”) Information from URL : http://maps.googleapis.com/maps/api/geocode/json?address=%E5%8D%9A%E5%A4%9A%E9%A7%85& sensor=false lon lat 1 130.4212 33.59024
22.
調査⽅法③: ⼀括変換サービスを使う 東京⼤学空間情報科学研究センターが提供する「CSVアドレスマッチングサービス」 http://newspat.csis.u-tokyo.ac.jp/geocode-cgi/geocode.cgi?action=start
23.
注意: 測地、投影座標系を揃えること • 緯度経度、と⼀⾔に⾏っても測り⽅によって誤差が⽣じること があります
24.
例:このビルの場合 福岡県福岡市博多区博多駅中央街8番1号 世界測地系: 33.5882078, 130.4190611 ⽇本測地系:
33.5849443, 130.4214012
25.
それぞれをleafletでプロット 測地系の違いだけで数百メートルずれることもある 地図サービスとしては致命的
26.
その他の例: 測地系による同⼀座標の位置の違い 地図側が採⽤している測地系、投影座標系と データの測地系、投影座標系を揃える必要がある
27.
続いての話題 ①leafletパッケージ ②緯度経度の取得 ③測地、投影座標系の変換 • 基礎知識 • パッケージ
28.
③測地、投影座標系の変換 • まずは基礎知識、その後Rのspパッケージのご紹介
29.
測地系とESPGコード: ⾊々な種類がある 測地成果 測地系 楕円体
投影座標系 EPSGコード 測地成果2000 世界測地系 JGD2000 GRS80楕円体 緯度経度 4612 UTM座標系 3097〜3101 平⾯直⾓座標 2443〜2461 WGS84系 WGS84楕円体 緯度経度 4326 UTM座標系 32651〜32656 旧成果 ⽇本測地系TOKYO ベッセル楕円体 緯度経度 4301 UTM座標系 102151〜102156 平⾯直⾓座標系 30161〜30179 ※後述するRの{sp}パッケージで測地系を変換する際は、ESPGコードを使⽤する GISのための測地成果、測地系、楕円体、投影座標系、EPSGコードのまとめ http://d.hatena.ne.jp/tmizu23/20091215/1260868350
30.
測地系 測地系の種類 測地系とは、地球上の位置を経緯度(経度・緯度)及び標⾼ を⽤いる座標によって表すとき、前提とする条件 ・⽇本測地系(TOKYO) → 2002年までは使⽤されていた⽇本の測地基準系 ・世界測地系(JGD2000, WGS84など) →⽇本測地系より新しく、⽇本でも測地基準系を世界測地系 に移⾏している
31.
測地系による違い 国⼟交通省地理院 (3 ⽇本測地系と世界測地系) http://www.gsi.go.jp/LAW/G2000-g2000-h3.htm 東京付近では、⽇本測地系 の経緯度で表されている地 点を、世界測地系の経緯度 で表すと、北⻄⽅向に450m ずれている →
正確な位置をプロットす る際に、測地系は無視でき ないもの
32.
測地系を変換しなかった例 某社のAPIから取得した物件 データの緯度経度を元に Google Map上にプロット 原因は、Google Mapでは世 界測地系を採⽤しているの に対し、元データは⽇本測 地系を元に経度緯度を設定 しているため Google
Maps APIで緯度経度を元にプロットした マーカーの位置がずれる(測地系変換) https://shimz.me/blog/google-map-api/3103
33.
投影座標系 座標系とは、地球上の位置を座標で表すための原点や座標の 単位などの取り決めのこと ・GISで使⽤される主な座標系 - 地理座標系 - UTM座標系 -
平⾯直⾓座標系
34.
地理座標系 地理座標系 http://desktop.arcgis.com/ja/arcmap/10.3/guide-books /map-projections/geographic-coordinate-system.htm 地理座標系とは、経度は⾚ 道を基点(0°)として南北の、 緯度は旧グリニッジ天⽂台 跡を基点として東⻄の、そ れぞれ⾓度を数値で表した 座標系
35.
UTM座標系 コトバンク (ユニバーサル横メルカトル図法) https://kotobank.jp/word/ユニバーサル横メルカトル図法 UTM座標系とは、東⻄⽅向 に⽔平に保たれた円筒の中 に地球をはめ込んで、地球 の中⼼と地表⾯上の点とを 結んだ直線が円筒と交わる 点に印を付けて、円筒を展 開したもの。
36.
平⾯直⾓座標系 国⼟地理院 (わかりやすい平⾯直⾓座標系) http://www.gsi.go.jp/sokuchikijun/jpc.html#10 1/2500地図のような⽐較的 狭い範囲の地図 に適した座 標系 ⽇本国内を⼟地の状況に合 わせて19に分割し、第1 系〜
第19系と番号付けら れる。 ※地図を扱う上では⽬的と する地点がどの系に含まれ るかを知る必要あり
37.
(再掲)測地系とESPGコード: データと地図のEPSGコードを揃える必要がある 測地成果 測地系 楕円体
投影座標系 EPSGコード 測地成果2000 世界測地系 JGD2000 GRS80楕円体 緯度経度 4612 UTM座標系 3097〜3101 平⾯直⾓座標 2443〜2461 WGS84系 WGS84楕円体 緯度経度 4326 UTM座標系 32651〜32656 旧成果 ⽇本測地系TOKYO ベッセル楕円体 緯度経度 4301 UTM座標系 102151〜102156 平⾯直⾓座標系 30161〜30179 ※後述するRの{sp}パッケージで測地系を変換する際は、ESPGコードを使⽤する GISのための測地成果、測地系、楕円体、投影座標系、EPSGコードのまとめ http://d.hatena.ne.jp/tmizu23/20091215/1260868350
38.
③測地、投影座標系の変換 • Rではspパッケージ • 2003年くらいから使われている模様 •
ちなみに近年ではsfというパッケージもあるようです • (今後はこっちが主流?今回は割愛) • Simple featureのデータうまく扱える sfパッケージ参考: http://notchained.hatenablog.com/entry/2017/01/06/213333
39.
{sp}パッケージ • spは、data.frameを拡張した地理情報データのためのデータ形 式と、それを操作する基礎的な関数群を提供するパッケージ • spTransformで投影座標系の変換が可能 https://www.rdocumentation.org/packages/sp/versions/1.2-5
40.
例:先ほどのJPJRビルの例 ## spパッケージで⽇本測地系 ->
世界測地系へ変換 library(sp) # 変換元データの⽤意。 locations <- data.frame(latitude=c(33.5849443), longitude=c(130.4214012)) ##⽇本測地系 # SPデータへの変換と測地系設定 coordinates(locations) <- c("longitude", "latitude") proj4string(locations) <- CRS("+init=epsg:4301") ## 変換前のepsgコード # WGS84への測地系変換。 locations2 <- spTransform(locations, CRS("+init=epsg:4326")) ## 変換後のepsgコード ## ビフォーアフター locations locations2
41.
例:先ほどのJPJRビルの例 ## spパッケージで⽇本測地系 ->
世界測地系へ変換 library(sp) # 変換元データの⽤意。 locations <- data.frame(latitude=c(33.5849443), longitude=c(130.4214012)) ##⽇本測地系 # SPデータへの変換と測地系設定 coordinates(locations) <- c("longitude", "latitude") proj4string(locations) <- CRS("+init=epsg:4301") ## 変換前のepsgコード # WGS84への測地系変換。 locations2 <- spTransform(locations, CRS("+init=epsg:4326")) ## 変換後のepsgコード ## ビフォーアフター locations locations2 > locations SpatialPoints: longitude latitude [1,] 130.4214 33.58494 > locations2 SpatialPoints: longitude latitude [1,] 130.4191 33.58821
42.
正解との⽐較 福岡県福岡市博多区博多駅中央街8番1号 ⽇本測地系: 130.4214012, 33.5849443 世界測地系:
130.4190611, 33.5882078 > locations SpatialPoints: longitude latitude [1,] 130.4214 33.58494 > locations2 SpatialPoints: longitude latitude [1,] 130.4191 33.58821 桁を四捨五⼊して揃えると⼀致。 これで測地系の異なるデータもプロットが可能になる
43.
紹介:もう少し複雑なケース
44.
例:ウイスキーの蒸留所データを 地図上にプロットしたい https://www.mathstat.strath.ac.uk/outreach/nessie/datasets/whiskies.txt スコットランドのストラスクライド⼤学が提供する86種類のウイスキーの フレーバーに関するオープンデータ
45.
問題は、地図にプロットしようとしても そのままではプロットできないという点
46.
こちらもspパッケージでトライ http://www.pu-hiroshima.ac.jp/~ttetsuji/R/[69]sp-class.html library(sp) library(readr) library(rgdal) library(tidyr) library(dplyr) #ウイスキーデータ dat <- readr::read_csv("https://www.mathstat.strath.ac.uk/outreach/nessie/datasets/whiskies.txt") >
dat[,c(2,16:17)] Source: local data frame [86 x 3] Distillery Latitude Longitude (chr) (int) (int) 1 Aberfeldy 286580 749680 ##⚫このままでは使えない 2 Aberlour 326340 842570 3 AnCnoc 352960 839320
47.
変換前のepsgコードの⾒極めが⼤切 # 地理座標系の変換(Ordnance Survey
National Grid reference system (epsg27700) ->epsg4326) class(dat) <- "data.frame" df_sp_whiskeies <- SpatialPointsDataFrame(coords = cbind(dat$Latitude, dat$Longitude), data = dat, proj4string = CRS("+init=epsg:27700")) sp_whiskeies_proj <- spTransform(df_sp_whiskeies, CRS("+init=epsg:4326")) # leafletで表⽰する場合の緯度経度を抽出したデータフレームを作成 df.coords <- sp_whiskeies_proj %>% as.data.frame() %>% dplyr::select(starts_with("coords")) %>% dplyr::rename(lat = coords.x2, lon = coords.x1) glimpse(df.coords) #変換後の座標 > head(df.coords) lon lat 1 -3.850199 56.62519 ##⚫OK 2 -3.229644 57.46739 3 -2.785295 57.44175
48.
蒸溜所の⼀覧のプロットが完成! # leafletで可視化 leaflet() %>% addMarkers(data
= df.coords) %>% addTiles() 1 Aberfeldy 286580 749680 2 Aberlour 326340 842570 3 AnCnoc 352960 839320 1 -3.850199 56.62519 2 -3.229644 57.46739 3 -2.785295 57.44175
49.
ところで、個⼈的な疑問 • 元々のデータのEPSGコードを知る⽅法 • 元々のデータの作者に聞くしかないでしょうか? •
⾃動変換、とか総当たり、とか良い⽅法がありましたらアドバ イスいただけると幸いです
50.
まとめ • 数⾏書くだけで地図上への可視化が可能なleaflet • 旅の思い出をサクッと可視化するのも⾯⽩いかもしれません •
地図への描画の際は測地系や投影座標系を揃えること • Rなら座標取得、変換、地図上への可視化まで⼀通りのパッ ケージが揃っていて便利です • 緯度経度取得: ggmap::geocode • 座標変換:{sp}パッケージ • 今後は{sf}パッケージが便利かも?
51.
Enjoy !
Download