SlideShare a Scribd company logo
1 of 41
Download to read offline
R で GIS とリモー
トセンシング入門
T. Nuimura
R とは
はじめに
rgdal パッケージのインス
トール
Windows 版 R のおすすめ
設定
R の基本操作
R の基本操作
グラフ作成
外部データの入出力
統計解析
統計処理
検定
地理空間データの
解析
rgdal とは
ベクターデータの処理
ラスターデータの処理
ラスター演算
データの可視化 (空間分布)
データの可視化 (その他)
Appendix
R で GIS とリモートセンシング入門
縫村崇行
OSGeo 財団日本法人/名古屋大学
FOSS4G による地理情報解析ハンズオン@JpGU2013
2013/05/21
1 / 41
R で GIS とリモー
トセンシング入門
T. Nuimura
R とは
はじめに
rgdal パッケージのインス
トール
Windows 版 R のおすすめ
設定
R の基本操作
R の基本操作
グラフ作成
外部データの入出力
統計解析
統計処理
検定
地理空間データの
解析
rgdal とは
ベクターデータの処理
ラスターデータの処理
ラスター演算
データの可視化 (空間分布)
データの可視化 (その他)
Appendix
Outline
R とは
はじめに
rgdal パッケージのインストール
Windows 版 R のおすすめ設定
R の基本操作
R の基本操作
グラフ作成
外部データの入出力
統計解析
統計処理
検定
地理空間データの解析
rgdal とは
ベクターデータの処理
ラスターデータの処理
ラスター演算
データの可視化 (空間分布)
データの可視化 (その他)
2 / 41
R で GIS とリモー
トセンシング入門
T. Nuimura
R とは
はじめに
rgdal パッケージのインス
トール
Windows 版 R のおすすめ
設定
R の基本操作
R の基本操作
グラフ作成
外部データの入出力
統計解析
統計処理
検定
地理空間データの
解析
rgdal とは
ベクターデータの処理
ラスターデータの処理
ラスター演算
データの可視化 (空間分布)
データの可視化 (その他)
Appendix
R とは
http://cran.r-project.org/
▶ コマンドラインベースで様々な統計解析が可能
▶ 多くの追加機能 (パッケージ) が開発されている
今回は拡張機能の rgdal パッケージを使用。
3 / 41
R で GIS とリモー
トセンシング入門
T. Nuimura
R とは
はじめに
rgdal パッケージのインス
トール
Windows 版 R のおすすめ
設定
R の基本操作
R の基本操作
グラフ作成
外部データの入出力
統計解析
統計処理
検定
地理空間データの
解析
rgdal とは
ベクターデータの処理
ラスターデータの処理
ラスター演算
データの可視化 (空間分布)
データの可視化 (その他)
Appendix
R の作図例
4 / 41
R で GIS とリモー
トセンシング入門
T. Nuimura
R とは
はじめに
rgdal パッケージのインス
トール
Windows 版 R のおすすめ
設定
R の基本操作
R の基本操作
グラフ作成
外部データの入出力
統計解析
統計処理
検定
地理空間データの
解析
rgdal とは
ベクターデータの処理
ラスターデータの処理
ラスター演算
データの可視化 (空間分布)
データの可視化 (その他)
Appendix
今回使用するデータ Download
▶ 2001–2010 年の月別気温データ (CSV 形式)1
▶ OpenStreetMap (Shapefile 形式に変換済み)
OpenStreetMap (http://www.openstreetmap.org/)
▶ Landsat ETM+の band3 及び band4 (GeoTIFF 形式)2
USGS EarthExplorer (http://earthexplorer.usgs.gov/)
▶ CGIAR 提供の SRTM3 DEM (GeoTIFF 形式)2
CGIAR-CSI (http://srtm.csi.cgiar.org/)
EarthExplorer
CGIAR-CSI1
ダミーデータ
2
300 m グリッドにリサンプリングしてある
5 / 41
R で GIS とリモー
トセンシング入門
T. Nuimura
R とは
はじめに
rgdal パッケージのインス
トール
Windows 版 R のおすすめ
設定
R の基本操作
R の基本操作
グラフ作成
外部データの入出力
統計解析
統計処理
検定
地理空間データの
解析
rgdal とは
ベクターデータの処理
ラスターデータの処理
ラスター演算
データの可視化 (空間分布)
データの可視化 (その他)
Appendix
rgdal パッケージのインストール
R の起動
▶ Windows:プログラムメニューから R を選択
パッケージのインストール
install.packages("rgdal", dependencies=TRUE)
# その後でてくるダウンロードサーバ選択はどこでも OK
# 日本を選ぶとちょっと早いかも
6 / 41
R で GIS とリモー
トセンシング入門
T. Nuimura
R とは
はじめに
rgdal パッケージのインス
トール
Windows 版 R のおすすめ
設定
R の基本操作
R の基本操作
グラフ作成
外部データの入出力
統計解析
統計処理
検定
地理空間データの
解析
rgdal とは
ベクターデータの処理
ラスターデータの処理
ラスター演算
データの可視化 (空間分布)
データの可視化 (その他)
Appendix
Windows 版 R のおすすめ設定
=⇒ 次の起動からは SDI1
モードになり、グラフが別ウィン
ドウで出てくるので見やすい。
1
シングルディスプレイインターフェース
7 / 41
R で GIS とリモー
トセンシング入門
T. Nuimura
R とは
はじめに
rgdal パッケージのインス
トール
Windows 版 R のおすすめ
設定
R の基本操作
R の基本操作
グラフ作成
外部データの入出力
統計解析
統計処理
検定
地理空間データの
解析
rgdal とは
ベクターデータの処理
ラスターデータの処理
ラスター演算
データの可視化 (空間分布)
データの可視化 (その他)
Appendix
R の基本操作
R の終了コマンド
> q()
# ワークスペースの保存についての質問は No で OK
作業ディレクトリの設定 (Windows の場合)
# 例えば C ドライブの hansdon フォルダの場合は
> setwd(“c:/handson”)
# 又は
> setwd(“c:¥¥handson”)
# ダメな例
> setwd(“c:¥handson”)
=⇒ パス中のバックスラッシュ (円マーク) は 2 つにするか、
スラッシュ1 つに置き換える必要がある。
8 / 41
R で GIS とリモー
トセンシング入門
T. Nuimura
R とは
はじめに
rgdal パッケージのインス
トール
Windows 版 R のおすすめ
設定
R の基本操作
R の基本操作
グラフ作成
外部データの入出力
統計解析
統計処理
検定
地理空間データの
解析
rgdal とは
ベクターデータの処理
ラスターデータの処理
ラスター演算
データの可視化 (空間分布)
データの可視化 (その他)
Appendix
数値入力と変数
数値の計算
> 2 + 3
[1] 5
> 2 ˆ 8
[1] 256
変数
> temp.dc <- 10
> temp.dc
[1] 10
> temp.df <- 9 / 5 * temp.dc + 32
> temp.df
[1] 50
9 / 41
R で GIS とリモー
トセンシング入門
T. Nuimura
R とは
はじめに
rgdal パッケージのインス
トール
Windows 版 R のおすすめ
設定
R の基本操作
R の基本操作
グラフ作成
外部データの入出力
統計解析
統計処理
検定
地理空間データの
解析
rgdal とは
ベクターデータの処理
ラスターデータの処理
ラスター演算
データの可視化 (空間分布)
データの可視化 (その他)
Appendix
グラフの基礎 (plot 関数)
1 変数のプロット
> temp <- c(10, 20, 15, 25, 20, 20)
> plot(temp)
1 2 3 4 5 6
10152025
Index
temp
10 / 41
R で GIS とリモー
トセンシング入門
T. Nuimura
R とは
はじめに
rgdal パッケージのインス
トール
Windows 版 R のおすすめ
設定
R の基本操作
R の基本操作
グラフ作成
外部データの入出力
統計解析
統計処理
検定
地理空間データの
解析
rgdal とは
ベクターデータの処理
ラスターデータの処理
ラスター演算
データの可視化 (空間分布)
データの可視化 (その他)
Appendix
グラフの基礎 (plot 関数)
2 変数のプロット
> year <- c(2000, 2004, 2005, 2007, 2010, 2011)
> plot(year, temp)
2000 2002 2004 2006 2008 2010
10152025
year
temp
11 / 41
R で GIS とリモー
トセンシング入門
T. Nuimura
R とは
はじめに
rgdal パッケージのインス
トール
Windows 版 R のおすすめ
設定
R の基本操作
R の基本操作
グラフ作成
外部データの入出力
統計解析
統計処理
検定
地理空間データの
解析
rgdal とは
ベクターデータの処理
ラスターデータの処理
ラスター演算
データの可視化 (空間分布)
データの可視化 (その他)
Appendix
グラフの基礎 (plot 関数)
2 変数のプロット
> year <- c(2000, 2004, 2005, 2007, 2010, 2011)
> plot(year, temp, type=“l”, col=“red”, xlim=c(1990, 2020), ylim=c(0, 30))
1990 1995 2000 2005 2010 2015 2020
051015202530
year
temp
12 / 41
R で GIS とリモー
トセンシング入門
T. Nuimura
R とは
はじめに
rgdal パッケージのインス
トール
Windows 版 R のおすすめ
設定
R の基本操作
R の基本操作
グラフ作成
外部データの入出力
統計解析
統計処理
検定
地理空間データの
解析
rgdal とは
ベクターデータの処理
ラスターデータの処理
ラスター演算
データの可視化 (空間分布)
データの可視化 (その他)
Appendix
グラフの基礎 (histogram 関数)
ヒストグラムの作成
> hist(temp)
Histogram of temp
temp
Frequency
10 15 20 25
0.00.51.01.52.02.53.0
13 / 41
R で GIS とリモー
トセンシング入門
T. Nuimura
R とは
はじめに
rgdal パッケージのインス
トール
Windows 版 R のおすすめ
設定
R の基本操作
R の基本操作
グラフ作成
外部データの入出力
統計解析
統計処理
検定
地理空間データの
解析
rgdal とは
ベクターデータの処理
ラスターデータの処理
ラスター演算
データの可視化 (空間分布)
データの可視化 (その他)
Appendix
グラフの基礎 (histogram 関数)
大量のデータのヒストグラム
> hist(rnorm(10000))
Histogram of rnorm(10000)
rnorm(10000)
Frequency
−4 −2 0 2 4
050010001500
14 / 41
R で GIS とリモー
トセンシング入門
T. Nuimura
R とは
はじめに
rgdal パッケージのインス
トール
Windows 版 R のおすすめ
設定
R の基本操作
R の基本操作
グラフ作成
外部データの入出力
統計解析
統計処理
検定
地理空間データの
解析
rgdal とは
ベクターデータの処理
ラスターデータの処理
ラスター演算
データの可視化 (空間分布)
データの可視化 (その他)
Appendix
グラフの基礎 (histogram 関数)
大量のデータのヒストグラム
> hist(rnorm(10000), col=“lightblue”, breaks=100)
Histogram of rnorm(10000)
rnorm(10000)
Frequency
−2 0 2 4
0100200300400
15 / 41
R で GIS とリモー
トセンシング入門
T. Nuimura
R とは
はじめに
rgdal パッケージのインス
トール
Windows 版 R のおすすめ
設定
R の基本操作
R の基本操作
グラフ作成
外部データの入出力
統計解析
統計処理
検定
地理空間データの
解析
rgdal とは
ベクターデータの処理
ラスターデータの処理
ラスター演算
データの可視化 (空間分布)
データの可視化 (その他)
Appendix
R で取り扱えるデータ
一般的なデータだと
▶ xls:csv に変換しといたほうが簡単
▶ csv:簡単に読み込める
▶ txt:csv 以外の文字(タブ、スペースなど)区切りデータ
▶ dbf:GIS の属性テーブル情報を扱いたいときなど
▶ 画像データ:画像処理も
科学関連のデータでは
▶ GeoTIFF:リモセンデータ
▶ Shapefile:GIS データ
▶ NetCDF:気候データで一般的
16 / 41
R で GIS とリモー
トセンシング入門
T. Nuimura
R とは
はじめに
rgdal パッケージのインス
トール
Windows 版 R のおすすめ
設定
R の基本操作
R の基本操作
グラフ作成
外部データの入出力
統計解析
統計処理
検定
地理空間データの
解析
rgdal とは
ベクターデータの処理
ラスターデータの処理
ラスター演算
データの可視化 (空間分布)
データの可視化 (その他)
Appendix
CSV データ読み込み
データのある場所に移動
# Windows: C ドライブの handson フォルダの場合
> setwd(“C:/handson”)
# Ubuntu: /home/username/handson フォルダの場合
> setwd(“/home/username/handson”)
read.csv 関数
# 月平均気温 (2001–2010) のデータ、
> temp <- read.csv(“temperature.csv”)
17 / 41
R で GIS とリモー
トセンシング入門
T. Nuimura
R とは
はじめに
rgdal パッケージのインス
トール
Windows 版 R のおすすめ
設定
R の基本操作
R の基本操作
グラフ作成
外部データの入出力
統計解析
統計処理
検定
地理空間データの
解析
rgdal とは
ベクターデータの処理
ラスターデータの処理
ラスター演算
データの可視化 (空間分布)
データの可視化 (その他)
Appendix
CSV データ加工
matrix 関数で 2 次元配列に変換
> temp.matrix <- matrix(temp[,2], 10, 12, byrow=T)
# dim 関数で次元数のチェック
> dim(temp.matrix)
[1] 10 12
18 / 41
R で GIS とリモー
トセンシング入門
T. Nuimura
R とは
はじめに
rgdal パッケージのインス
トール
Windows 版 R のおすすめ
設定
R の基本操作
R の基本操作
グラフ作成
外部データの入出力
統計解析
統計処理
検定
地理空間データの
解析
rgdal とは
ベクターデータの処理
ラスターデータの処理
ラスター演算
データの可視化 (空間分布)
データの可視化 (その他)
Appendix
CSV データ出力
2 次元配列の列と行にラベルをつける
# 列ラベルに月
> colnames(temp.matrix) <- 1:12
# 行ラベルに年
> rownames(temp.matrix) <- 2001:2010
2 次元配列を CSV に出力
> write.csv(temp.matrix, “temp_matrix.csv”)
19 / 41
R で GIS とリモー
トセンシング入門
T. Nuimura
R とは
はじめに
rgdal パッケージのインス
トール
Windows 版 R のおすすめ
設定
R の基本操作
R の基本操作
グラフ作成
外部データの入出力
統計解析
統計処理
検定
地理空間データの
解析
rgdal とは
ベクターデータの処理
ラスターデータの処理
ラスター演算
データの可視化 (空間分布)
データの可視化 (その他)
Appendix
2 次元配列の計算
apply 関数で縦・横それぞれの計算
# 横方向、つまり年別の平均
> apply(temp.matrix, 1, mean)
# 縦方向、つまり月別の平均
> apply(temp.matrix, 2, mean)
mean 以外にも、sum、max、min、sd、summary なども。
20 / 41
R で GIS とリモー
トセンシング入門
T. Nuimura
R とは
はじめに
rgdal パッケージのインス
トール
Windows 版 R のおすすめ
設定
R の基本操作
R の基本操作
グラフ作成
外部データの入出力
統計解析
統計処理
検定
地理空間データの
解析
rgdal とは
ベクターデータの処理
ラスターデータの処理
ラスター演算
データの可視化 (空間分布)
データの可視化 (その他)
Appendix
t 検定
t.test 関数
# 2001 年と 2010 年の気温差を検定
> t.test(temp.matrix[1,], temp.matrix[10,])
t = -0.1537, df = 21.996, p-value < 0.8793
# 2001 年と 2010 年では有意な気温差なし
# 2001–2010 の 1 月と 2 月の気温差を検定
> t.test(temp.matrix[,1], temp.matrix[,2])
t = -5.1308, df = 17.532, p-value < 7.588e-05
# 1 月と 2 月では有意な気温差あり
21 / 41
R で GIS とリモー
トセンシング入門
T. Nuimura
R とは
はじめに
rgdal パッケージのインス
トール
Windows 版 R のおすすめ
設定
R の基本操作
R の基本操作
グラフ作成
外部データの入出力
統計解析
統計処理
検定
地理空間データの
解析
rgdal とは
ベクターデータの処理
ラスターデータの処理
ラスター演算
データの可視化 (空間分布)
データの可視化 (その他)
Appendix
無相関検定
cor.test 関数
# 2001 年と 2010 年の気温の相関
> cor.test(temp.matrix[1,], temp.matrix[10,])
t = 23.6361, df = 10, p-value < 4.169e-10
cor 0.9911685
# 相関係数 0.99 の有意な相関
22 / 41
R で GIS とリモー
トセンシング入門
T. Nuimura
R とは
はじめに
rgdal パッケージのインス
トール
Windows 版 R のおすすめ
設定
R の基本操作
R の基本操作
グラフ作成
外部データの入出力
統計解析
統計処理
検定
地理空間データの
解析
rgdal とは
ベクターデータの処理
ラスターデータの処理
ラスター演算
データの可視化 (空間分布)
データの可視化 (その他)
Appendix
地理空間データの解析
GIS やリモートセンシング解析で使用されるデータ
大きく分けて 2 種類 (ベクター、ラスター) に分けられる
▶ ベクター:点、線、面などの地物データ
=⇒ESRI Shape ファイル形式 (*.shp) が一般的
▶ ラスター:連続的なグリッドデータ
=⇒GeoTIFF ファイル形式 (*.tif) が一般的
ベクター ラスター
rgdal パッケージではいずれのファイルも読込み可能
23 / 41
R で GIS とリモー
トセンシング入門
T. Nuimura
R とは
はじめに
rgdal パッケージのインス
トール
Windows 版 R のおすすめ
設定
R の基本操作
R の基本操作
グラフ作成
外部データの入出力
統計解析
統計処理
検定
地理空間データの
解析
rgdal とは
ベクターデータの処理
ラスターデータの処理
ラスター演算
データの可視化 (空間分布)
データの可視化 (その他)
Appendix
rgdal を使ってGIS データ (ラスター) の読み込み
R では基本パッケージでも様々なデータ読み込み関数がある
▶ read.bin:バイナリデータ
▶ read.csv:CSV
▶ read.delim:様々な区切りテキスト (CSV、タブ、空白など)
rgdal パッケージでは、以下の GIS 読み込み関数が使用可
▶ readOGR:ベクターデータ
▶ readGDAL:ラスターデータ
24 / 41
R で GIS とリモー
トセンシング入門
T. Nuimura
R とは
はじめに
rgdal パッケージのインス
トール
Windows 版 R のおすすめ
設定
R の基本操作
R の基本操作
グラフ作成
外部データの入出力
統計解析
統計処理
検定
地理空間データの
解析
rgdal とは
ベクターデータの処理
ラスターデータの処理
ラスター演算
データの可視化 (空間分布)
データの可視化 (その他)
Appendix
rgdal で対応している GIS フォーマット
ほとんどの GIS データに対応している。有名どころだと
readOGR で読めるベクターデータ
▶ ESRI shapefile:ベクターデータのデファクトスタンダード
▶ KML:Google Earth ファイル
▶ GPX:GPS ファイル (Garmin、GPS 付きスマートフォンなど)
readGDAL で読めるラスターデータ
▶ GeoTiff:ラスターデータのデファクトスタンダード
▶ HDF:科学データ配布によく使われる
▶ netCDF:気候データで一般的
25 / 41
R で GIS とリモー
トセンシング入門
T. Nuimura
R とは
はじめに
rgdal パッケージのインス
トール
Windows 版 R のおすすめ
設定
R の基本操作
R の基本操作
グラフ作成
外部データの入出力
統計解析
統計処理
検定
地理空間データの
解析
rgdal とは
ベクターデータの処理
ラスターデータの処理
ラスター演算
データの可視化 (空間分布)
データの可視化 (その他)
Appendix
ベクターデータの読み込み (readOGR)
#rgdal パッケージの読み込み、セッションの最初に毎回
library(rgdal)
nagoya_lines.shp を lines.obj という変数に読み込む場合
#ディレクトリの移動
setwd(“c:/handson”)
#Shapefile ファイルの読み込み
lines.obj <- readOGR(“nagoya_lines.shp”, “nagoya_lines”,
encoding=“SJIS”)
=⇒line.obj という名前の sp クラスの変数が生成される
この sp クラスの変数はベクターデータの位置情報の他に、
様々な属性情報を含んでいる。
26 / 41
R で GIS とリモー
トセンシング入門
T. Nuimura
R とは
はじめに
rgdal パッケージのインス
トール
Windows 版 R のおすすめ
設定
R の基本操作
R の基本操作
グラフ作成
外部データの入出力
統計解析
統計処理
検定
地理空間データの
解析
rgdal とは
ベクターデータの処理
ラスターデータの処理
ラスター演算
データの可視化 (空間分布)
データの可視化 (その他)
Appendix
ベクターデータの読み込み (readOGR)
同様に nagoya_points.shp を points.obj という変数に
読み込む場合
#Shapefile ファイルの読み込み
points.obj <- readOGR(“nagoya_points.shp”, “nagoya_points”,
encoding=“SJIS”)
27 / 41
R で GIS とリモー
トセンシング入門
T. Nuimura
R とは
はじめに
rgdal パッケージのインス
トール
Windows 版 R のおすすめ
設定
R の基本操作
R の基本操作
グラフ作成
外部データの入出力
統計解析
統計処理
検定
地理空間データの
解析
rgdal とは
ベクターデータの処理
ラスターデータの処理
ラスター演算
データの可視化 (空間分布)
データの可視化 (その他)
Appendix
sp クラスの構造 (ベクターデータの場合)
sp クラスデータは主に以下のようなスロットをもつ
▶ data:data.frame 形式で Shapefile の属性テーブルの値
▶ coords | lines | polygons:ベクターのタイプにより異なる
▶ bbox:西、東、南、北端の座標
▶ proj4string:1 つのサブスロットを含む
▶ projargs:座標系情報 (WGS84 など)
28 / 41
R で GIS とリモー
トセンシング入門
T. Nuimura
R とは
はじめに
rgdal パッケージのインス
トール
Windows 版 R のおすすめ
設定
R の基本操作
R の基本操作
グラフ作成
外部データの入出力
統計解析
統計処理
検定
地理空間データの
解析
rgdal とは
ベクターデータの処理
ラスターデータの処理
ラスター演算
データの可視化 (空間分布)
データの可視化 (その他)
Appendix
sp クラスのデータ処理 (ベクターデータの場合)
いくつかの処理例
#tags という名の列に post と記述されている点 (=郵便ポスト) 抽出
post.pts <- points.obj@coords[grep("post", points.obj@data$tags),]
#範囲指定してグレーでラインをプロット
plot(lines.obj, xlim=c(136.95, 136.99), ylim=c(35.13, 35.17), col=“gray”)
#ポイント (郵便ポストの位置) を重ねてプロット
par(new=T)
plot(post.pts, xlim=c(136.95, 136.99), ylim=c(35.13, 35.17), col=“red”)
136.95 136.96 136.97 136.98 136.99
35.1335.1435.1535.1635.17
coords.x1
coords.x2
29 / 41
R で GIS とリモー
トセンシング入門
T. Nuimura
R とは
はじめに
rgdal パッケージのインス
トール
Windows 版 R のおすすめ
設定
R の基本操作
R の基本操作
グラフ作成
外部データの入出力
統計解析
統計処理
検定
地理空間データの
解析
rgdal とは
ベクターデータの処理
ラスターデータの処理
ラスター演算
データの可視化 (空間分布)
データの可視化 (その他)
Appendix
ラスターデータの読み込み (readGDAL)
#rgdal パッケージの読み込み、セッションの最初に毎回
library(rgdal)
GeoTIFF を dem.obj という変数に読み込む場合
#ディレクトリの移動
setwd(“c:/handson”)
#GeoTIFF ファイルの読み込み
dem.obj <- readGDAL(“srtm_dem_300.tif”)
=⇒dem.obj という名前の sp クラスの変数が生成される
この sp クラスの変数はラスターデータのグリッド値の他に、
様々な属性情報を含んでいる。
30 / 41
R で GIS とリモー
トセンシング入門
T. Nuimura
R とは
はじめに
rgdal パッケージのインス
トール
Windows 版 R のおすすめ
設定
R の基本操作
R の基本操作
グラフ作成
外部データの入出力
統計解析
統計処理
検定
地理空間データの
解析
rgdal とは
ベクターデータの処理
ラスターデータの処理
ラスター演算
データの可視化 (空間分布)
データの可視化 (その他)
Appendix
sp クラスの構造 (ラスターデータの場合)
sp クラスデータは以下のようなスロットをもつ
▶ data:data.frame 形式で band1 というラベルのグリッド値
▶ grid:さらに 3 つのサブスロットを含む
▶ cellcentre.offset:左下端のグリッドの中心座標
▶ cellsize:グリッドサイズ (= 解像度)
▶ cells.dim:ラスターデータの列数と行数
▶ bbox:西、東、南、北端の座標
(coords の値と 1/2 グリッドサイズ分ずれていることに注意)
▶ proj4string:1 つのサブスロットを含む
▶ projargs:座標系情報 (WGS84 など)
#確認するには以下のコマンドを使用
str(dem.obj)
31 / 41
R で GIS とリモー
トセンシング入門
T. Nuimura
R とは
はじめに
rgdal パッケージのインス
トール
Windows 版 R のおすすめ
設定
R の基本操作
R の基本操作
グラフ作成
外部データの入出力
統計解析
統計処理
検定
地理空間データの
解析
rgdal とは
ベクターデータの処理
ラスターデータの処理
ラスター演算
データの可視化 (空間分布)
データの可視化 (その他)
Appendix
sp クラスのデータ処理 (ラスターデータの場合)
sp クラスのデータの処理は、"dem.obj@data[,1]” を操作する
ことによって行える。
いくつかの処理例
#NoData を計算から除外 (-9999 を NoData にしている場合)
dem.obj@data[dem.obj@data[,1] == -9999,1] <- NA
#平均値の計算
mean(dem.obj@data[,1], na.rm=T)
#ヒストグラムのプロット
hist(dem.obj@data[,1])
Histogram of rsdata@data[, 1]Frequency
0 2000 4000 6000 8000
020000400006000080000100000140000
32 / 41
R で GIS とリモー
トセンシング入門
T. Nuimura
R とは
はじめに
rgdal パッケージのインス
トール
Windows 版 R のおすすめ
設定
R の基本操作
R の基本操作
グラフ作成
外部データの入出力
統計解析
統計処理
検定
地理空間データの
解析
rgdal とは
ベクターデータの処理
ラスターデータの処理
ラスター演算
データの可視化 (空間分布)
データの可視化 (その他)
Appendix
Landsat による NDVI の計算
NDVI (正規化植生指数)
NDVI =
(IR − R)
(IR + R)
IR: Infrared (赤外バンド)
R:Red (赤色バンド)
Landsat の場合 (R⇒Band3、IR⇒Band4)
NDVI =
(Band4 − Band3)
(Band4 + Band3)
IR: Band4
R:Band3
Band3 Band4 NDVI
33 / 41
R で GIS とリモー
トセンシング入門
T. Nuimura
R とは
はじめに
rgdal パッケージのインス
トール
Windows 版 R のおすすめ
設定
R の基本操作
R の基本操作
グラフ作成
外部データの入出力
統計解析
統計処理
検定
地理空間データの
解析
rgdal とは
ベクターデータの処理
ラスターデータの処理
ラスター演算
データの可視化 (空間分布)
データの可視化 (その他)
Appendix
Landsat による NDVI の計算
#GeoTIFF ファイルの読み込み
band3.obj <- readGDAL(“landsat_band3_300.tif”)
band4.obj <- readGDAL(“landsat_band4_300.tif”)
# 計算結果用の変数を確保 (Band4 でもどっちでも良い)
ndvi.obj <- band3.obj
#ラスター演算 #2 行にわかれてるけど実際は 1 行で
ndvi <- (band4.obj@data[,1] - band3.obj@data[,1]) / (band4.obj@data[,1] +
band3.obj@data[,1])
#sp クラスは band1 というラベル名がある (紛らわしいので注意!)
ndvi.obj@data[,1] <- data.frame(band1=ndvi)
#GeoTIFF ファイルに結果を書き出し
writeGDAL(ndvi.obj, “landsat_ndvi.tif”)
34 / 41
R で GIS とリモー
トセンシング入門
T. Nuimura
R とは
はじめに
rgdal パッケージのインス
トール
Windows 版 R のおすすめ
設定
R の基本操作
R の基本操作
グラフ作成
外部データの入出力
統計解析
統計処理
検定
地理空間データの
解析
rgdal とは
ベクターデータの処理
ラスターデータの処理
ラスター演算
データの可視化 (空間分布)
データの可視化 (その他)
Appendix
データの可視化 (空間分布)
ラスターデータのみ
#DEM データの場合
#terrain.colors(20) が色の設定、scales オプションで軸目盛り表示
spplot(dem.obj, col.regions=terrain.colors(20), scales=list(draw=T))
35 / 41
R で GIS とリモー
トセンシング入門
T. Nuimura
R とは
はじめに
rgdal パッケージのインス
トール
Windows 版 R のおすすめ
設定
R の基本操作
R の基本操作
グラフ作成
外部データの入出力
統計解析
統計処理
検定
地理空間データの
解析
rgdal とは
ベクターデータの処理
ラスターデータの処理
ラスター演算
データの可視化 (空間分布)
データの可視化 (その他)
Appendix
データの可視化 (空間分布)
ラスターデータ + ベクターデータ
#latticeExtra パッケージを追加インストール&読み込み
install.packages(“latticeExtra”)
library(latticeExtra)
#ベクターデータの読み込み
basin <- readOGR(“khumbu_himal_basin.shp”, layer=“khumbu_himal_basin”)
spplot(dem.obj, col.regions=terrain.colors(20), scales=list(draw=T)) +
layer(sp.polygon(basin))
36 / 41
R で GIS とリモー
トセンシング入門
T. Nuimura
R とは
はじめに
rgdal パッケージのインス
トール
Windows 版 R のおすすめ
設定
R の基本操作
R の基本操作
グラフ作成
外部データの入出力
統計解析
統計処理
検定
地理空間データの
解析
rgdal とは
ベクターデータの処理
ラスターデータの処理
ラスター演算
データの可視化 (空間分布)
データの可視化 (その他)
Appendix
データの可視化 (その他)
#plot 関数にて
plot(ndvi.obj@data[,1], dem.obj@data[,1], cex=0.1)
何か変な縦線が 3 本?
=⇒band3 と band4 の無効なデータ (0 や 255 という値) を適
切に扱わなかったのが原因。
37 / 41
R で GIS とリモー
トセンシング入門
T. Nuimura
R とは
はじめに
rgdal パッケージのインス
トール
Windows 版 R のおすすめ
設定
R の基本操作
R の基本操作
グラフ作成
外部データの入出力
統計解析
統計処理
検定
地理空間データの
解析
rgdal とは
ベクターデータの処理
ラスターデータの処理
ラスター演算
データの可視化 (空間分布)
データの可視化 (その他)
Appendix
データの可視化 (その他)
#0 と 255 の値を NA (⇐R での NoData 値) に置換
band3.obj@data[band3.obj@data[,1] == 0 | band3.obj@data[,1] == 255,1] <- NA
band4.obj@data[band4.obj@data[,1] == 0 | band4.obj@data[,1] == 255,1] <- NA
#からの NDVI 再計算
ndvi <- (band4.obj@data[,1] - band3.obj@data[,1]) / (band4.obj@data[,1] +
band3.obj@data[,1])
ndvi.obj@data[,1] <- data.frame(band1=ndvi)
#再び plot
plot(ndvi.obj@data[,1], dem.obj@data[,1], cex=0.1)
38 / 41
R で GIS とリモー
トセンシング入門
T. Nuimura
R とは
はじめに
rgdal パッケージのインス
トール
Windows 版 R のおすすめ
設定
R の基本操作
R の基本操作
グラフ作成
外部データの入出力
統計解析
統計処理
検定
地理空間データの
解析
rgdal とは
ベクターデータの処理
ラスターデータの処理
ラスター演算
データの可視化 (空間分布)
データの可視化 (その他)
Appendix
最後にちょっとだけ (簡単に) 自分の研究紹介
1992–2008 年の間の多時期の DEM
(地形データ) から、標高値の時系列変化を
グリッドごとに計算
=⇒ 氷河の表面高度がどのように
変化しているか (上昇 or 低下) が求められる
39 / 41
R で GIS とリモー
トセンシング入門
T. Nuimura
R とは
はじめに
rgdal パッケージのインス
トール
Windows 版 R のおすすめ
設定
R の基本操作
R の基本操作
グラフ作成
外部データの入出力
統計解析
統計処理
検定
地理空間データの
解析
rgdal とは
ベクターデータの処理
ラスターデータの処理
ラスター演算
データの可視化 (空間分布)
データの可視化 (その他)
Appendix
最後にちょっとだけ (簡単に) 自分の研究紹介
表面高度の変化速度の計算例
#2 重の for ループでグリッドごとに以下の計算を行う
#使用する地形データの年 (実際は 15 時期)
years <- c(1992,2000,2004,2008)
#各年の地形データでの標高値 (固定)
elevation <- c(5029,5025,5020,5020)
#lm 関数で高度変化速度 (m year−1
) の計算
lm(elevation years, data.frame(years, elevation))
#下記の計算結果が表示される
#Coefficients:
#(Intercept) years
#6252.6857 -0.6143
#つまりこの例の場合は y = -0.6143x + 6252.6857 と線形近似された
40 / 41
R で GIS とリモー
トセンシング入門
T. Nuimura
R とは
はじめに
rgdal パッケージのインス
トール
Windows 版 R のおすすめ
設定
R の基本操作
R の基本操作
グラフ作成
外部データの入出力
統計解析
統計処理
検定
地理空間データの
解析
rgdal とは
ベクターデータの処理
ラスターデータの処理
ラスター演算
データの可視化 (空間分布)
データの可視化 (その他)
Appendix
氷河表面の高度変化率の空間分布
色のある場所が氷河域、暖色が低下、寒色が上昇を示す
結果は Nuimura et al., (2012) Journal of Glaciology にあります
こちらの図は実際の論文中の図とは異なります。2
2
論文出版元の著作権的な事情で
41 / 41

More Related Content

Viewers also liked

制作効率化のための素材探しと情報収集術
制作効率化のための素材探しと情報収集術制作効率化のための素材探しと情報収集術
制作効率化のための素材探しと情報収集術kenji goto
 
第一回REST勉強会_鈴木商店の開発環境
第一回REST勉強会_鈴木商店の開発環境第一回REST勉強会_鈴木商店の開発環境
第一回REST勉強会_鈴木商店の開発環境tsuchimon
 
WebRTCを始めよう! HTML5fun 第一回勉強会
WebRTCを始めよう! HTML5fun 第一回勉強会WebRTCを始めよう! HTML5fun 第一回勉強会
WebRTCを始めよう! HTML5fun 第一回勉強会Yusuke Naka
 
CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜
CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜
CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜niwatako
 
Webをつかって何をしたいか見つけ出そう
Webをつかって何をしたいか見つけ出そうWebをつかって何をしたいか見つけ出そう
Webをつかって何をしたいか見つけ出そうYasuhisa Hasegawa
 
WordBench京都 9月号:kintone×WordPressハンズオン
WordBench京都 9月号:kintone×WordPressハンズオンWordBench京都 9月号:kintone×WordPressハンズオン
WordBench京都 9月号:kintone×WordPressハンズオンTakashi Hosoya
 
Webデザイン入門1-HTML5・CSSについて-
Webデザイン入門1-HTML5・CSSについて-Webデザイン入門1-HTML5・CSSについて-
Webデザイン入門1-HTML5・CSSについて-Yossy Taka
 
2013 HTML5カンファレンス  レスポンシブWebデザイン
2013  HTML5カンファレンス   レスポンシブWebデザイン2013  HTML5カンファレンス   レスポンシブWebデザイン
2013 HTML5カンファレンス  レスポンシブWebデザインDaisuke Yamazaki
 
Advanced realm in swift
Advanced realm in swiftAdvanced realm in swift
Advanced realm in swiftYusuke Kita
 
SORACOM Conference "Connected."2016 keynote
SORACOM Conference "Connected."2016 keynoteSORACOM Conference "Connected."2016 keynote
SORACOM Conference "Connected."2016 keynoteSORACOM,INC
 
スタートアップ 立ち上げマニュアル
スタートアップ 立ち上げマニュアルスタートアップ 立ち上げマニュアル
スタートアップ 立ち上げマニュアルTakaya Shinozuka
 
Monocentric and Polycentric Patterns in Spatial Models of Agglomeration
Monocentric and Polycentric Patterns in Spatial Models of AgglomerationMonocentric and Polycentric Patterns in Spatial Models of Agglomeration
Monocentric and Polycentric Patterns in Spatial Models of AgglomerationMinoru Osawa
 
Jjug 20140430 gradle_intro
Jjug 20140430 gradle_introJjug 20140430 gradle_intro
Jjug 20140430 gradle_introNobuhiro Sue
 
Webサイトの分析と改善の方法(後編)
Webサイトの分析と改善の方法(後編)Webサイトの分析と改善の方法(後編)
Webサイトの分析と改善の方法(後編)ナイル株式会社
 
はじめてのWebRTC/ORTC
はじめてのWebRTC/ORTCはじめてのWebRTC/ORTC
はじめてのWebRTC/ORTCYusuke Naka
 
均衡問題とその分析手法
均衡問題とその分析手法均衡問題とその分析手法
均衡問題とその分析手法Minoru Osawa
 
SORACOM Conference "Discovery" | ~IoT の最先端を探しに~
SORACOM Conference "Discovery" | ~IoT の最先端を探しに~SORACOM Conference "Discovery" | ~IoT の最先端を探しに~
SORACOM Conference "Discovery" | ~IoT の最先端を探しに~SORACOM,INC
 
ネット問合せ客の契約率を向上する【営業メール セミナー】
ネット問合せ客の契約率を向上する【営業メール セミナー】 ネット問合せ客の契約率を向上する【営業メール セミナー】
ネット問合せ客の契約率を向上する【営業メール セミナー】 Hideyuki Ishii
 
使いやすいWordPressのためのCSSのつくりかた
使いやすいWordPressのためのCSSのつくりかた使いやすいWordPressのためのCSSのつくりかた
使いやすいWordPressのためのCSSのつくりかたHiroshi Urabe
 

Viewers also liked (20)

制作効率化のための素材探しと情報収集術
制作効率化のための素材探しと情報収集術制作効率化のための素材探しと情報収集術
制作効率化のための素材探しと情報収集術
 
第一回REST勉強会_鈴木商店の開発環境
第一回REST勉強会_鈴木商店の開発環境第一回REST勉強会_鈴木商店の開発環境
第一回REST勉強会_鈴木商店の開発環境
 
WebRTCを始めよう! HTML5fun 第一回勉強会
WebRTCを始めよう! HTML5fun 第一回勉強会WebRTCを始めよう! HTML5fun 第一回勉強会
WebRTCを始めよう! HTML5fun 第一回勉強会
 
CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜
CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜
CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜
 
Webをつかって何をしたいか見つけ出そう
Webをつかって何をしたいか見つけ出そうWebをつかって何をしたいか見つけ出そう
Webをつかって何をしたいか見つけ出そう
 
WordBench京都 9月号:kintone×WordPressハンズオン
WordBench京都 9月号:kintone×WordPressハンズオンWordBench京都 9月号:kintone×WordPressハンズオン
WordBench京都 9月号:kintone×WordPressハンズオン
 
Webデザイン入門1-HTML5・CSSについて-
Webデザイン入門1-HTML5・CSSについて-Webデザイン入門1-HTML5・CSSについて-
Webデザイン入門1-HTML5・CSSについて-
 
2013 HTML5カンファレンス  レスポンシブWebデザイン
2013  HTML5カンファレンス   レスポンシブWebデザイン2013  HTML5カンファレンス   レスポンシブWebデザイン
2013 HTML5カンファレンス  レスポンシブWebデザイン
 
Advanced realm in swift
Advanced realm in swiftAdvanced realm in swift
Advanced realm in swift
 
SORACOM Conference "Connected."2016 keynote
SORACOM Conference "Connected."2016 keynoteSORACOM Conference "Connected."2016 keynote
SORACOM Conference "Connected."2016 keynote
 
スタートアップ 立ち上げマニュアル
スタートアップ 立ち上げマニュアルスタートアップ 立ち上げマニュアル
スタートアップ 立ち上げマニュアル
 
Monocentric and Polycentric Patterns in Spatial Models of Agglomeration
Monocentric and Polycentric Patterns in Spatial Models of AgglomerationMonocentric and Polycentric Patterns in Spatial Models of Agglomeration
Monocentric and Polycentric Patterns in Spatial Models of Agglomeration
 
Jjug 20140430 gradle_intro
Jjug 20140430 gradle_introJjug 20140430 gradle_intro
Jjug 20140430 gradle_intro
 
Webサイトの分析と改善の方法(後編)
Webサイトの分析と改善の方法(後編)Webサイトの分析と改善の方法(後編)
Webサイトの分析と改善の方法(後編)
 
はじめてのWebRTC/ORTC
はじめてのWebRTC/ORTCはじめてのWebRTC/ORTC
はじめてのWebRTC/ORTC
 
均衡問題とその分析手法
均衡問題とその分析手法均衡問題とその分析手法
均衡問題とその分析手法
 
SORACOM Conference "Discovery" | ~IoT の最先端を探しに~
SORACOM Conference "Discovery" | ~IoT の最先端を探しに~SORACOM Conference "Discovery" | ~IoT の最先端を探しに~
SORACOM Conference "Discovery" | ~IoT の最先端を探しに~
 
分析サンプル_若年世代の仕事との向き合い方に関する調査
分析サンプル_若年世代の仕事との向き合い方に関する調査分析サンプル_若年世代の仕事との向き合い方に関する調査
分析サンプル_若年世代の仕事との向き合い方に関する調査
 
ネット問合せ客の契約率を向上する【営業メール セミナー】
ネット問合せ客の契約率を向上する【営業メール セミナー】 ネット問合せ客の契約率を向上する【営業メール セミナー】
ネット問合せ客の契約率を向上する【営業メール セミナー】
 
使いやすいWordPressのためのCSSのつくりかた
使いやすいWordPressのためのCSSのつくりかた使いやすいWordPressのためのCSSのつくりかた
使いやすいWordPressのためのCSSのつくりかた
 

Similar to 130521 jp gu2013_handson2_presentation

第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章Tomonobu_Hirano
 
第一回Data mining勉強会 -第二章 - 原案
第一回Data mining勉強会 -第二章 - 原案第一回Data mining勉強会 -第二章 - 原案
第一回Data mining勉強会 -第二章 - 原案yushin_hirano
 
10min r study_tokyor25
10min r study_tokyor2510min r study_tokyor25
10min r study_tokyor25Nobuaki Oshiro
 
10min r study_tokyor25
10min r study_tokyor2510min r study_tokyor25
10min r study_tokyor25Nobuaki Oshiro
 
120620 chred r_presentation2
120620 chred r_presentation2120620 chred r_presentation2
120620 chred r_presentation2Takayuki Nuimura
 
Ⅲ. 資料編 2017
Ⅲ. 資料編 2017Ⅲ. 資料編 2017
Ⅲ. 資料編 2017wada, kazumi
 
R入門とgoogle map +α
R入門とgoogle map +αR入門とgoogle map +α
R入門とgoogle map +αkobexr
 
Tokyor60 r data_science_part1
Tokyor60 r data_science_part1Tokyor60 r data_science_part1
Tokyor60 r data_science_part1Yohei Sato
 
Rによるデータ分析手順入門
Rによるデータ分析手順入門Rによるデータ分析手順入門
Rによるデータ分析手順入門Michitaro Okano
 
統計解析環境Rによる統計処理の基本―検定と視覚化―
統計解析環境Rによる統計処理の基本―検定と視覚化―統計解析環境Rによる統計処理の基本―検定と視覚化―
統計解析環境Rによる統計処理の基本―検定と視覚化―SAKAUE, Tatsuya
 
データの不備を統計的に見抜く (Gelman’s secret weapon)
データの不備を統計的に見抜く (Gelman’s secret weapon)データの不備を統計的に見抜く (Gelman’s secret weapon)
データの不備を統計的に見抜く (Gelman’s secret weapon)hoxo_m
 
[DLHacks]PyTorch, PixyzによるGenerative Query Networkの実装
[DLHacks]PyTorch, PixyzによるGenerative Query Networkの実装 [DLHacks]PyTorch, PixyzによるGenerative Query Networkの実装
[DLHacks]PyTorch, PixyzによるGenerative Query Networkの実装 Deep Learning JP
 
データサイエンスワールドからC++を眺めてみる
データサイエンスワールドからC++を眺めてみるデータサイエンスワールドからC++を眺めてみる
データサイエンスワールドからC++を眺めてみるShintaro Fukushima
 
第一回ゆるふわーる
第一回ゆるふわーる第一回ゆるふわーる
第一回ゆるふわーるSachiko Hirata
 
2014年日本生態学会広島大会・自由集会「仕事でつかえる!FOSS4G」発表スライド
2014年日本生態学会広島大会・自由集会「仕事でつかえる!FOSS4G」発表スライド2014年日本生態学会広島大会・自由集会「仕事でつかえる!FOSS4G」発表スライド
2014年日本生態学会広島大会・自由集会「仕事でつかえる!FOSS4G」発表スライドMizutani Takayuki
 

Similar to 130521 jp gu2013_handson2_presentation (20)

第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章
 
第一回Data mining勉強会 -第二章 - 原案
第一回Data mining勉強会 -第二章 - 原案第一回Data mining勉強会 -第二章 - 原案
第一回Data mining勉強会 -第二章 - 原案
 
10min r study_tokyor25
10min r study_tokyor2510min r study_tokyor25
10min r study_tokyor25
 
10min r study_tokyor25
10min r study_tokyor2510min r study_tokyor25
10min r study_tokyor25
 
HiRoshimaR3_IntroR
HiRoshimaR3_IntroRHiRoshimaR3_IntroR
HiRoshimaR3_IntroR
 
120620 chred r_presentation2
120620 chred r_presentation2120620 chred r_presentation2
120620 chred r_presentation2
 
Ⅲ. 資料編 2017
Ⅲ. 資料編 2017Ⅲ. 資料編 2017
Ⅲ. 資料編 2017
 
Rを用いたGIS
Rを用いたGISRを用いたGIS
Rを用いたGIS
 
R入門とgoogle map +α
R入門とgoogle map +αR入門とgoogle map +α
R入門とgoogle map +α
 
Tokyor60 r data_science_part1
Tokyor60 r data_science_part1Tokyor60 r data_science_part1
Tokyor60 r data_science_part1
 
Rによるデータ分析手順入門
Rによるデータ分析手順入門Rによるデータ分析手順入門
Rによるデータ分析手順入門
 
R_note_01_ver1.1
R_note_01_ver1.1 R_note_01_ver1.1
R_note_01_ver1.1
 
統計解析環境Rによる統計処理の基本―検定と視覚化―
統計解析環境Rによる統計処理の基本―検定と視覚化―統計解析環境Rによる統計処理の基本―検定と視覚化―
統計解析環境Rによる統計処理の基本―検定と視覚化―
 
Hiroshimar4_Rintro
Hiroshimar4_RintroHiroshimar4_Rintro
Hiroshimar4_Rintro
 
データの不備を統計的に見抜く (Gelman’s secret weapon)
データの不備を統計的に見抜く (Gelman’s secret weapon)データの不備を統計的に見抜く (Gelman’s secret weapon)
データの不備を統計的に見抜く (Gelman’s secret weapon)
 
[DLHacks]PyTorch, PixyzによるGenerative Query Networkの実装
[DLHacks]PyTorch, PixyzによるGenerative Query Networkの実装 [DLHacks]PyTorch, PixyzによるGenerative Query Networkの実装
[DLHacks]PyTorch, PixyzによるGenerative Query Networkの実装
 
はじめての「R」
はじめての「R」はじめての「R」
はじめての「R」
 
データサイエンスワールドからC++を眺めてみる
データサイエンスワールドからC++を眺めてみるデータサイエンスワールドからC++を眺めてみる
データサイエンスワールドからC++を眺めてみる
 
第一回ゆるふわーる
第一回ゆるふわーる第一回ゆるふわーる
第一回ゆるふわーる
 
2014年日本生態学会広島大会・自由集会「仕事でつかえる!FOSS4G」発表スライド
2014年日本生態学会広島大会・自由集会「仕事でつかえる!FOSS4G」発表スライド2014年日本生態学会広島大会・自由集会「仕事でつかえる!FOSS4G」発表スライド
2014年日本生態学会広島大会・自由集会「仕事でつかえる!FOSS4G」発表スライド
 

More from Takayuki Nuimura

161104 foss4 g_tokyo_qgis_handson_presentation
161104 foss4 g_tokyo_qgis_handson_presentation161104 foss4 g_tokyo_qgis_handson_presentation
161104 foss4 g_tokyo_qgis_handson_presentationTakayuki Nuimura
 
オープンサイエンスの雪氷学への応用と展望 雪氷研究大会2016 特別セッションの紹介
オープンサイエンスの雪氷学への応用と展望 雪氷研究大会2016 特別セッションの紹介オープンサイエンスの雪氷学への応用と展望 雪氷研究大会2016 特別セッションの紹介
オープンサイエンスの雪氷学への応用と展望 雪氷研究大会2016 特別セッションの紹介Takayuki Nuimura
 
151012 foss4 g_tokyo_grass7_presentation
151012 foss4 g_tokyo_grass7_presentation151012 foss4 g_tokyo_grass7_presentation
151012 foss4 g_tokyo_grass7_presentationTakayuki Nuimura
 
151009 foss4 g_tokyo_grass7_handson_presentation
151009 foss4 g_tokyo_grass7_handson_presentation151009 foss4 g_tokyo_grass7_handson_presentation
151009 foss4 g_tokyo_grass7_handson_presentationTakayuki Nuimura
 
150828 rihn gis_workshop_handson_presentation
150828 rihn gis_workshop_handson_presentation150828 rihn gis_workshop_handson_presentation
150828 rihn gis_workshop_handson_presentationTakayuki Nuimura
 
150810 ilts workshop_handson_presentation
150810 ilts workshop_handson_presentation150810 ilts workshop_handson_presentation
150810 ilts workshop_handson_presentationTakayuki Nuimura
 
141031 qgisr handson_presentation
141031 qgisr handson_presentation141031 qgisr handson_presentation
141031 qgisr handson_presentationTakayuki Nuimura
 
131107 foss4 g_osaka_grass7_presentation
131107 foss4 g_osaka_grass7_presentation131107 foss4 g_osaka_grass7_presentation
131107 foss4 g_osaka_grass7_presentationTakayuki Nuimura
 
131101 foss4 g_tokyo_grass_shell_presentation
131101 foss4 g_tokyo_grass_shell_presentation131101 foss4 g_tokyo_grass_shell_presentation
131101 foss4 g_tokyo_grass_shell_presentationTakayuki Nuimura
 
131031 foss4 g_tokyo_grass_handson_presentation
131031 foss4 g_tokyo_grass_handson_presentation131031 foss4 g_tokyo_grass_handson_presentation
131031 foss4 g_tokyo_grass_handson_presentationTakayuki Nuimura
 
130727 nagoyar presentation
130727 nagoyar presentation130727 nagoyar presentation
130727 nagoyar presentationTakayuki Nuimura
 
130622 osc nagoya_presentation
130622 osc nagoya_presentation130622 osc nagoya_presentation
130622 osc nagoya_presentationTakayuki Nuimura
 
130612 ocu lecture_presentation
130612 ocu lecture_presentation130612 ocu lecture_presentation
130612 ocu lecture_presentationTakayuki Nuimura
 
130521 jp gu2013_handson1_presentation
130521 jp gu2013_handson1_presentation130521 jp gu2013_handson1_presentation
130521 jp gu2013_handson1_presentationTakayuki Nuimura
 
130113 os mworkshop_presentation
130113 os mworkshop_presentation130113 os mworkshop_presentation
130113 os mworkshop_presentationTakayuki Nuimura
 
121215 foss4 g_nagoya_qgis_handson
121215 foss4 g_nagoya_qgis_handson121215 foss4 g_nagoya_qgis_handson
121215 foss4 g_nagoya_qgis_handsonTakayuki Nuimura
 
121105 foss4 g_tokyo_qgis_handson
121105 foss4 g_tokyo_qgis_handson121105 foss4 g_tokyo_qgis_handson
121105 foss4 g_tokyo_qgis_handsonTakayuki Nuimura
 
2012 nov foss4g_presentation
2012 nov foss4g_presentation2012 nov foss4g_presentation
2012 nov foss4g_presentationTakayuki Nuimura
 
120727 gms2012nagoya presentation
120727 gms2012nagoya presentation120727 gms2012nagoya presentation
120727 gms2012nagoya presentationTakayuki Nuimura
 

More from Takayuki Nuimura (20)

161104 foss4 g_tokyo_qgis_handson_presentation
161104 foss4 g_tokyo_qgis_handson_presentation161104 foss4 g_tokyo_qgis_handson_presentation
161104 foss4 g_tokyo_qgis_handson_presentation
 
オープンサイエンスの雪氷学への応用と展望 雪氷研究大会2016 特別セッションの紹介
オープンサイエンスの雪氷学への応用と展望 雪氷研究大会2016 特別セッションの紹介オープンサイエンスの雪氷学への応用と展望 雪氷研究大会2016 特別セッションの紹介
オープンサイエンスの雪氷学への応用と展望 雪氷研究大会2016 特別セッションの紹介
 
151012 foss4 g_tokyo_grass7_presentation
151012 foss4 g_tokyo_grass7_presentation151012 foss4 g_tokyo_grass7_presentation
151012 foss4 g_tokyo_grass7_presentation
 
151009 foss4 g_tokyo_grass7_handson_presentation
151009 foss4 g_tokyo_grass7_handson_presentation151009 foss4 g_tokyo_grass7_handson_presentation
151009 foss4 g_tokyo_grass7_handson_presentation
 
150828 rihn gis_workshop_handson_presentation
150828 rihn gis_workshop_handson_presentation150828 rihn gis_workshop_handson_presentation
150828 rihn gis_workshop_handson_presentation
 
150810 ilts workshop_handson_presentation
150810 ilts workshop_handson_presentation150810 ilts workshop_handson_presentation
150810 ilts workshop_handson_presentation
 
141031 qgisr handson_presentation
141031 qgisr handson_presentation141031 qgisr handson_presentation
141031 qgisr handson_presentation
 
131107 foss4 g_osaka_grass7_presentation
131107 foss4 g_osaka_grass7_presentation131107 foss4 g_osaka_grass7_presentation
131107 foss4 g_osaka_grass7_presentation
 
131101 foss4 g_tokyo_grass_shell_presentation
131101 foss4 g_tokyo_grass_shell_presentation131101 foss4 g_tokyo_grass_shell_presentation
131101 foss4 g_tokyo_grass_shell_presentation
 
131031 foss4 g_tokyo_grass_handson_presentation
131031 foss4 g_tokyo_grass_handson_presentation131031 foss4 g_tokyo_grass_handson_presentation
131031 foss4 g_tokyo_grass_handson_presentation
 
130727 nagoyar presentation
130727 nagoyar presentation130727 nagoyar presentation
130727 nagoyar presentation
 
130622 osc nagoya_presentation
130622 osc nagoya_presentation130622 osc nagoya_presentation
130622 osc nagoya_presentation
 
130612 ocu lecture_presentation
130612 ocu lecture_presentation130612 ocu lecture_presentation
130612 ocu lecture_presentation
 
130521 jp gu2013_handson1_presentation
130521 jp gu2013_handson1_presentation130521 jp gu2013_handson1_presentation
130521 jp gu2013_handson1_presentation
 
130113 os mworkshop_presentation
130113 os mworkshop_presentation130113 os mworkshop_presentation
130113 os mworkshop_presentation
 
121215 foss4 g_nagoya_qgis_handson
121215 foss4 g_nagoya_qgis_handson121215 foss4 g_nagoya_qgis_handson
121215 foss4 g_nagoya_qgis_handson
 
121105 foss4 g_tokyo_qgis_handson
121105 foss4 g_tokyo_qgis_handson121105 foss4 g_tokyo_qgis_handson
121105 foss4 g_tokyo_qgis_handson
 
2012 nov foss4g_presentation
2012 nov foss4g_presentation2012 nov foss4g_presentation
2012 nov foss4g_presentation
 
121012 gisa qgis_handson
121012 gisa qgis_handson121012 gisa qgis_handson
121012 gisa qgis_handson
 
120727 gms2012nagoya presentation
120727 gms2012nagoya presentation120727 gms2012nagoya presentation
120727 gms2012nagoya presentation
 

Recently uploaded

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 

Recently uploaded (8)

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 

130521 jp gu2013_handson2_presentation

  • 1. R で GIS とリモー トセンシング入門 T. Nuimura R とは はじめに rgdal パッケージのインス トール Windows 版 R のおすすめ 設定 R の基本操作 R の基本操作 グラフ作成 外部データの入出力 統計解析 統計処理 検定 地理空間データの 解析 rgdal とは ベクターデータの処理 ラスターデータの処理 ラスター演算 データの可視化 (空間分布) データの可視化 (その他) Appendix R で GIS とリモートセンシング入門 縫村崇行 OSGeo 財団日本法人/名古屋大学 FOSS4G による地理情報解析ハンズオン@JpGU2013 2013/05/21 1 / 41
  • 2. R で GIS とリモー トセンシング入門 T. Nuimura R とは はじめに rgdal パッケージのインス トール Windows 版 R のおすすめ 設定 R の基本操作 R の基本操作 グラフ作成 外部データの入出力 統計解析 統計処理 検定 地理空間データの 解析 rgdal とは ベクターデータの処理 ラスターデータの処理 ラスター演算 データの可視化 (空間分布) データの可視化 (その他) Appendix Outline R とは はじめに rgdal パッケージのインストール Windows 版 R のおすすめ設定 R の基本操作 R の基本操作 グラフ作成 外部データの入出力 統計解析 統計処理 検定 地理空間データの解析 rgdal とは ベクターデータの処理 ラスターデータの処理 ラスター演算 データの可視化 (空間分布) データの可視化 (その他) 2 / 41
  • 3. R で GIS とリモー トセンシング入門 T. Nuimura R とは はじめに rgdal パッケージのインス トール Windows 版 R のおすすめ 設定 R の基本操作 R の基本操作 グラフ作成 外部データの入出力 統計解析 統計処理 検定 地理空間データの 解析 rgdal とは ベクターデータの処理 ラスターデータの処理 ラスター演算 データの可視化 (空間分布) データの可視化 (その他) Appendix R とは http://cran.r-project.org/ ▶ コマンドラインベースで様々な統計解析が可能 ▶ 多くの追加機能 (パッケージ) が開発されている 今回は拡張機能の rgdal パッケージを使用。 3 / 41
  • 4. R で GIS とリモー トセンシング入門 T. Nuimura R とは はじめに rgdal パッケージのインス トール Windows 版 R のおすすめ 設定 R の基本操作 R の基本操作 グラフ作成 外部データの入出力 統計解析 統計処理 検定 地理空間データの 解析 rgdal とは ベクターデータの処理 ラスターデータの処理 ラスター演算 データの可視化 (空間分布) データの可視化 (その他) Appendix R の作図例 4 / 41
  • 5. R で GIS とリモー トセンシング入門 T. Nuimura R とは はじめに rgdal パッケージのインス トール Windows 版 R のおすすめ 設定 R の基本操作 R の基本操作 グラフ作成 外部データの入出力 統計解析 統計処理 検定 地理空間データの 解析 rgdal とは ベクターデータの処理 ラスターデータの処理 ラスター演算 データの可視化 (空間分布) データの可視化 (その他) Appendix 今回使用するデータ Download ▶ 2001–2010 年の月別気温データ (CSV 形式)1 ▶ OpenStreetMap (Shapefile 形式に変換済み) OpenStreetMap (http://www.openstreetmap.org/) ▶ Landsat ETM+の band3 及び band4 (GeoTIFF 形式)2 USGS EarthExplorer (http://earthexplorer.usgs.gov/) ▶ CGIAR 提供の SRTM3 DEM (GeoTIFF 形式)2 CGIAR-CSI (http://srtm.csi.cgiar.org/) EarthExplorer CGIAR-CSI1 ダミーデータ 2 300 m グリッドにリサンプリングしてある 5 / 41
  • 6. R で GIS とリモー トセンシング入門 T. Nuimura R とは はじめに rgdal パッケージのインス トール Windows 版 R のおすすめ 設定 R の基本操作 R の基本操作 グラフ作成 外部データの入出力 統計解析 統計処理 検定 地理空間データの 解析 rgdal とは ベクターデータの処理 ラスターデータの処理 ラスター演算 データの可視化 (空間分布) データの可視化 (その他) Appendix rgdal パッケージのインストール R の起動 ▶ Windows:プログラムメニューから R を選択 パッケージのインストール install.packages("rgdal", dependencies=TRUE) # その後でてくるダウンロードサーバ選択はどこでも OK # 日本を選ぶとちょっと早いかも 6 / 41
  • 7. R で GIS とリモー トセンシング入門 T. Nuimura R とは はじめに rgdal パッケージのインス トール Windows 版 R のおすすめ 設定 R の基本操作 R の基本操作 グラフ作成 外部データの入出力 統計解析 統計処理 検定 地理空間データの 解析 rgdal とは ベクターデータの処理 ラスターデータの処理 ラスター演算 データの可視化 (空間分布) データの可視化 (その他) Appendix Windows 版 R のおすすめ設定 =⇒ 次の起動からは SDI1 モードになり、グラフが別ウィン ドウで出てくるので見やすい。 1 シングルディスプレイインターフェース 7 / 41
  • 8. R で GIS とリモー トセンシング入門 T. Nuimura R とは はじめに rgdal パッケージのインス トール Windows 版 R のおすすめ 設定 R の基本操作 R の基本操作 グラフ作成 外部データの入出力 統計解析 統計処理 検定 地理空間データの 解析 rgdal とは ベクターデータの処理 ラスターデータの処理 ラスター演算 データの可視化 (空間分布) データの可視化 (その他) Appendix R の基本操作 R の終了コマンド > q() # ワークスペースの保存についての質問は No で OK 作業ディレクトリの設定 (Windows の場合) # 例えば C ドライブの hansdon フォルダの場合は > setwd(“c:/handson”) # 又は > setwd(“c:¥¥handson”) # ダメな例 > setwd(“c:¥handson”) =⇒ パス中のバックスラッシュ (円マーク) は 2 つにするか、 スラッシュ1 つに置き換える必要がある。 8 / 41
  • 9. R で GIS とリモー トセンシング入門 T. Nuimura R とは はじめに rgdal パッケージのインス トール Windows 版 R のおすすめ 設定 R の基本操作 R の基本操作 グラフ作成 外部データの入出力 統計解析 統計処理 検定 地理空間データの 解析 rgdal とは ベクターデータの処理 ラスターデータの処理 ラスター演算 データの可視化 (空間分布) データの可視化 (その他) Appendix 数値入力と変数 数値の計算 > 2 + 3 [1] 5 > 2 ˆ 8 [1] 256 変数 > temp.dc <- 10 > temp.dc [1] 10 > temp.df <- 9 / 5 * temp.dc + 32 > temp.df [1] 50 9 / 41
  • 10. R で GIS とリモー トセンシング入門 T. Nuimura R とは はじめに rgdal パッケージのインス トール Windows 版 R のおすすめ 設定 R の基本操作 R の基本操作 グラフ作成 外部データの入出力 統計解析 統計処理 検定 地理空間データの 解析 rgdal とは ベクターデータの処理 ラスターデータの処理 ラスター演算 データの可視化 (空間分布) データの可視化 (その他) Appendix グラフの基礎 (plot 関数) 1 変数のプロット > temp <- c(10, 20, 15, 25, 20, 20) > plot(temp) 1 2 3 4 5 6 10152025 Index temp 10 / 41
  • 11. R で GIS とリモー トセンシング入門 T. Nuimura R とは はじめに rgdal パッケージのインス トール Windows 版 R のおすすめ 設定 R の基本操作 R の基本操作 グラフ作成 外部データの入出力 統計解析 統計処理 検定 地理空間データの 解析 rgdal とは ベクターデータの処理 ラスターデータの処理 ラスター演算 データの可視化 (空間分布) データの可視化 (その他) Appendix グラフの基礎 (plot 関数) 2 変数のプロット > year <- c(2000, 2004, 2005, 2007, 2010, 2011) > plot(year, temp) 2000 2002 2004 2006 2008 2010 10152025 year temp 11 / 41
  • 12. R で GIS とリモー トセンシング入門 T. Nuimura R とは はじめに rgdal パッケージのインス トール Windows 版 R のおすすめ 設定 R の基本操作 R の基本操作 グラフ作成 外部データの入出力 統計解析 統計処理 検定 地理空間データの 解析 rgdal とは ベクターデータの処理 ラスターデータの処理 ラスター演算 データの可視化 (空間分布) データの可視化 (その他) Appendix グラフの基礎 (plot 関数) 2 変数のプロット > year <- c(2000, 2004, 2005, 2007, 2010, 2011) > plot(year, temp, type=“l”, col=“red”, xlim=c(1990, 2020), ylim=c(0, 30)) 1990 1995 2000 2005 2010 2015 2020 051015202530 year temp 12 / 41
  • 13. R で GIS とリモー トセンシング入門 T. Nuimura R とは はじめに rgdal パッケージのインス トール Windows 版 R のおすすめ 設定 R の基本操作 R の基本操作 グラフ作成 外部データの入出力 統計解析 統計処理 検定 地理空間データの 解析 rgdal とは ベクターデータの処理 ラスターデータの処理 ラスター演算 データの可視化 (空間分布) データの可視化 (その他) Appendix グラフの基礎 (histogram 関数) ヒストグラムの作成 > hist(temp) Histogram of temp temp Frequency 10 15 20 25 0.00.51.01.52.02.53.0 13 / 41
  • 14. R で GIS とリモー トセンシング入門 T. Nuimura R とは はじめに rgdal パッケージのインス トール Windows 版 R のおすすめ 設定 R の基本操作 R の基本操作 グラフ作成 外部データの入出力 統計解析 統計処理 検定 地理空間データの 解析 rgdal とは ベクターデータの処理 ラスターデータの処理 ラスター演算 データの可視化 (空間分布) データの可視化 (その他) Appendix グラフの基礎 (histogram 関数) 大量のデータのヒストグラム > hist(rnorm(10000)) Histogram of rnorm(10000) rnorm(10000) Frequency −4 −2 0 2 4 050010001500 14 / 41
  • 15. R で GIS とリモー トセンシング入門 T. Nuimura R とは はじめに rgdal パッケージのインス トール Windows 版 R のおすすめ 設定 R の基本操作 R の基本操作 グラフ作成 外部データの入出力 統計解析 統計処理 検定 地理空間データの 解析 rgdal とは ベクターデータの処理 ラスターデータの処理 ラスター演算 データの可視化 (空間分布) データの可視化 (その他) Appendix グラフの基礎 (histogram 関数) 大量のデータのヒストグラム > hist(rnorm(10000), col=“lightblue”, breaks=100) Histogram of rnorm(10000) rnorm(10000) Frequency −2 0 2 4 0100200300400 15 / 41
  • 16. R で GIS とリモー トセンシング入門 T. Nuimura R とは はじめに rgdal パッケージのインス トール Windows 版 R のおすすめ 設定 R の基本操作 R の基本操作 グラフ作成 外部データの入出力 統計解析 統計処理 検定 地理空間データの 解析 rgdal とは ベクターデータの処理 ラスターデータの処理 ラスター演算 データの可視化 (空間分布) データの可視化 (その他) Appendix R で取り扱えるデータ 一般的なデータだと ▶ xls:csv に変換しといたほうが簡単 ▶ csv:簡単に読み込める ▶ txt:csv 以外の文字(タブ、スペースなど)区切りデータ ▶ dbf:GIS の属性テーブル情報を扱いたいときなど ▶ 画像データ:画像処理も 科学関連のデータでは ▶ GeoTIFF:リモセンデータ ▶ Shapefile:GIS データ ▶ NetCDF:気候データで一般的 16 / 41
  • 17. R で GIS とリモー トセンシング入門 T. Nuimura R とは はじめに rgdal パッケージのインス トール Windows 版 R のおすすめ 設定 R の基本操作 R の基本操作 グラフ作成 外部データの入出力 統計解析 統計処理 検定 地理空間データの 解析 rgdal とは ベクターデータの処理 ラスターデータの処理 ラスター演算 データの可視化 (空間分布) データの可視化 (その他) Appendix CSV データ読み込み データのある場所に移動 # Windows: C ドライブの handson フォルダの場合 > setwd(“C:/handson”) # Ubuntu: /home/username/handson フォルダの場合 > setwd(“/home/username/handson”) read.csv 関数 # 月平均気温 (2001–2010) のデータ、 > temp <- read.csv(“temperature.csv”) 17 / 41
  • 18. R で GIS とリモー トセンシング入門 T. Nuimura R とは はじめに rgdal パッケージのインス トール Windows 版 R のおすすめ 設定 R の基本操作 R の基本操作 グラフ作成 外部データの入出力 統計解析 統計処理 検定 地理空間データの 解析 rgdal とは ベクターデータの処理 ラスターデータの処理 ラスター演算 データの可視化 (空間分布) データの可視化 (その他) Appendix CSV データ加工 matrix 関数で 2 次元配列に変換 > temp.matrix <- matrix(temp[,2], 10, 12, byrow=T) # dim 関数で次元数のチェック > dim(temp.matrix) [1] 10 12 18 / 41
  • 19. R で GIS とリモー トセンシング入門 T. Nuimura R とは はじめに rgdal パッケージのインス トール Windows 版 R のおすすめ 設定 R の基本操作 R の基本操作 グラフ作成 外部データの入出力 統計解析 統計処理 検定 地理空間データの 解析 rgdal とは ベクターデータの処理 ラスターデータの処理 ラスター演算 データの可視化 (空間分布) データの可視化 (その他) Appendix CSV データ出力 2 次元配列の列と行にラベルをつける # 列ラベルに月 > colnames(temp.matrix) <- 1:12 # 行ラベルに年 > rownames(temp.matrix) <- 2001:2010 2 次元配列を CSV に出力 > write.csv(temp.matrix, “temp_matrix.csv”) 19 / 41
  • 20. R で GIS とリモー トセンシング入門 T. Nuimura R とは はじめに rgdal パッケージのインス トール Windows 版 R のおすすめ 設定 R の基本操作 R の基本操作 グラフ作成 外部データの入出力 統計解析 統計処理 検定 地理空間データの 解析 rgdal とは ベクターデータの処理 ラスターデータの処理 ラスター演算 データの可視化 (空間分布) データの可視化 (その他) Appendix 2 次元配列の計算 apply 関数で縦・横それぞれの計算 # 横方向、つまり年別の平均 > apply(temp.matrix, 1, mean) # 縦方向、つまり月別の平均 > apply(temp.matrix, 2, mean) mean 以外にも、sum、max、min、sd、summary なども。 20 / 41
  • 21. R で GIS とリモー トセンシング入門 T. Nuimura R とは はじめに rgdal パッケージのインス トール Windows 版 R のおすすめ 設定 R の基本操作 R の基本操作 グラフ作成 外部データの入出力 統計解析 統計処理 検定 地理空間データの 解析 rgdal とは ベクターデータの処理 ラスターデータの処理 ラスター演算 データの可視化 (空間分布) データの可視化 (その他) Appendix t 検定 t.test 関数 # 2001 年と 2010 年の気温差を検定 > t.test(temp.matrix[1,], temp.matrix[10,]) t = -0.1537, df = 21.996, p-value < 0.8793 # 2001 年と 2010 年では有意な気温差なし # 2001–2010 の 1 月と 2 月の気温差を検定 > t.test(temp.matrix[,1], temp.matrix[,2]) t = -5.1308, df = 17.532, p-value < 7.588e-05 # 1 月と 2 月では有意な気温差あり 21 / 41
  • 22. R で GIS とリモー トセンシング入門 T. Nuimura R とは はじめに rgdal パッケージのインス トール Windows 版 R のおすすめ 設定 R の基本操作 R の基本操作 グラフ作成 外部データの入出力 統計解析 統計処理 検定 地理空間データの 解析 rgdal とは ベクターデータの処理 ラスターデータの処理 ラスター演算 データの可視化 (空間分布) データの可視化 (その他) Appendix 無相関検定 cor.test 関数 # 2001 年と 2010 年の気温の相関 > cor.test(temp.matrix[1,], temp.matrix[10,]) t = 23.6361, df = 10, p-value < 4.169e-10 cor 0.9911685 # 相関係数 0.99 の有意な相関 22 / 41
  • 23. R で GIS とリモー トセンシング入門 T. Nuimura R とは はじめに rgdal パッケージのインス トール Windows 版 R のおすすめ 設定 R の基本操作 R の基本操作 グラフ作成 外部データの入出力 統計解析 統計処理 検定 地理空間データの 解析 rgdal とは ベクターデータの処理 ラスターデータの処理 ラスター演算 データの可視化 (空間分布) データの可視化 (その他) Appendix 地理空間データの解析 GIS やリモートセンシング解析で使用されるデータ 大きく分けて 2 種類 (ベクター、ラスター) に分けられる ▶ ベクター:点、線、面などの地物データ =⇒ESRI Shape ファイル形式 (*.shp) が一般的 ▶ ラスター:連続的なグリッドデータ =⇒GeoTIFF ファイル形式 (*.tif) が一般的 ベクター ラスター rgdal パッケージではいずれのファイルも読込み可能 23 / 41
  • 24. R で GIS とリモー トセンシング入門 T. Nuimura R とは はじめに rgdal パッケージのインス トール Windows 版 R のおすすめ 設定 R の基本操作 R の基本操作 グラフ作成 外部データの入出力 統計解析 統計処理 検定 地理空間データの 解析 rgdal とは ベクターデータの処理 ラスターデータの処理 ラスター演算 データの可視化 (空間分布) データの可視化 (その他) Appendix rgdal を使ってGIS データ (ラスター) の読み込み R では基本パッケージでも様々なデータ読み込み関数がある ▶ read.bin:バイナリデータ ▶ read.csv:CSV ▶ read.delim:様々な区切りテキスト (CSV、タブ、空白など) rgdal パッケージでは、以下の GIS 読み込み関数が使用可 ▶ readOGR:ベクターデータ ▶ readGDAL:ラスターデータ 24 / 41
  • 25. R で GIS とリモー トセンシング入門 T. Nuimura R とは はじめに rgdal パッケージのインス トール Windows 版 R のおすすめ 設定 R の基本操作 R の基本操作 グラフ作成 外部データの入出力 統計解析 統計処理 検定 地理空間データの 解析 rgdal とは ベクターデータの処理 ラスターデータの処理 ラスター演算 データの可視化 (空間分布) データの可視化 (その他) Appendix rgdal で対応している GIS フォーマット ほとんどの GIS データに対応している。有名どころだと readOGR で読めるベクターデータ ▶ ESRI shapefile:ベクターデータのデファクトスタンダード ▶ KML:Google Earth ファイル ▶ GPX:GPS ファイル (Garmin、GPS 付きスマートフォンなど) readGDAL で読めるラスターデータ ▶ GeoTiff:ラスターデータのデファクトスタンダード ▶ HDF:科学データ配布によく使われる ▶ netCDF:気候データで一般的 25 / 41
  • 26. R で GIS とリモー トセンシング入門 T. Nuimura R とは はじめに rgdal パッケージのインス トール Windows 版 R のおすすめ 設定 R の基本操作 R の基本操作 グラフ作成 外部データの入出力 統計解析 統計処理 検定 地理空間データの 解析 rgdal とは ベクターデータの処理 ラスターデータの処理 ラスター演算 データの可視化 (空間分布) データの可視化 (その他) Appendix ベクターデータの読み込み (readOGR) #rgdal パッケージの読み込み、セッションの最初に毎回 library(rgdal) nagoya_lines.shp を lines.obj という変数に読み込む場合 #ディレクトリの移動 setwd(“c:/handson”) #Shapefile ファイルの読み込み lines.obj <- readOGR(“nagoya_lines.shp”, “nagoya_lines”, encoding=“SJIS”) =⇒line.obj という名前の sp クラスの変数が生成される この sp クラスの変数はベクターデータの位置情報の他に、 様々な属性情報を含んでいる。 26 / 41
  • 27. R で GIS とリモー トセンシング入門 T. Nuimura R とは はじめに rgdal パッケージのインス トール Windows 版 R のおすすめ 設定 R の基本操作 R の基本操作 グラフ作成 外部データの入出力 統計解析 統計処理 検定 地理空間データの 解析 rgdal とは ベクターデータの処理 ラスターデータの処理 ラスター演算 データの可視化 (空間分布) データの可視化 (その他) Appendix ベクターデータの読み込み (readOGR) 同様に nagoya_points.shp を points.obj という変数に 読み込む場合 #Shapefile ファイルの読み込み points.obj <- readOGR(“nagoya_points.shp”, “nagoya_points”, encoding=“SJIS”) 27 / 41
  • 28. R で GIS とリモー トセンシング入門 T. Nuimura R とは はじめに rgdal パッケージのインス トール Windows 版 R のおすすめ 設定 R の基本操作 R の基本操作 グラフ作成 外部データの入出力 統計解析 統計処理 検定 地理空間データの 解析 rgdal とは ベクターデータの処理 ラスターデータの処理 ラスター演算 データの可視化 (空間分布) データの可視化 (その他) Appendix sp クラスの構造 (ベクターデータの場合) sp クラスデータは主に以下のようなスロットをもつ ▶ data:data.frame 形式で Shapefile の属性テーブルの値 ▶ coords | lines | polygons:ベクターのタイプにより異なる ▶ bbox:西、東、南、北端の座標 ▶ proj4string:1 つのサブスロットを含む ▶ projargs:座標系情報 (WGS84 など) 28 / 41
  • 29. R で GIS とリモー トセンシング入門 T. Nuimura R とは はじめに rgdal パッケージのインス トール Windows 版 R のおすすめ 設定 R の基本操作 R の基本操作 グラフ作成 外部データの入出力 統計解析 統計処理 検定 地理空間データの 解析 rgdal とは ベクターデータの処理 ラスターデータの処理 ラスター演算 データの可視化 (空間分布) データの可視化 (その他) Appendix sp クラスのデータ処理 (ベクターデータの場合) いくつかの処理例 #tags という名の列に post と記述されている点 (=郵便ポスト) 抽出 post.pts <- points.obj@coords[grep("post", points.obj@data$tags),] #範囲指定してグレーでラインをプロット plot(lines.obj, xlim=c(136.95, 136.99), ylim=c(35.13, 35.17), col=“gray”) #ポイント (郵便ポストの位置) を重ねてプロット par(new=T) plot(post.pts, xlim=c(136.95, 136.99), ylim=c(35.13, 35.17), col=“red”) 136.95 136.96 136.97 136.98 136.99 35.1335.1435.1535.1635.17 coords.x1 coords.x2 29 / 41
  • 30. R で GIS とリモー トセンシング入門 T. Nuimura R とは はじめに rgdal パッケージのインス トール Windows 版 R のおすすめ 設定 R の基本操作 R の基本操作 グラフ作成 外部データの入出力 統計解析 統計処理 検定 地理空間データの 解析 rgdal とは ベクターデータの処理 ラスターデータの処理 ラスター演算 データの可視化 (空間分布) データの可視化 (その他) Appendix ラスターデータの読み込み (readGDAL) #rgdal パッケージの読み込み、セッションの最初に毎回 library(rgdal) GeoTIFF を dem.obj という変数に読み込む場合 #ディレクトリの移動 setwd(“c:/handson”) #GeoTIFF ファイルの読み込み dem.obj <- readGDAL(“srtm_dem_300.tif”) =⇒dem.obj という名前の sp クラスの変数が生成される この sp クラスの変数はラスターデータのグリッド値の他に、 様々な属性情報を含んでいる。 30 / 41
  • 31. R で GIS とリモー トセンシング入門 T. Nuimura R とは はじめに rgdal パッケージのインス トール Windows 版 R のおすすめ 設定 R の基本操作 R の基本操作 グラフ作成 外部データの入出力 統計解析 統計処理 検定 地理空間データの 解析 rgdal とは ベクターデータの処理 ラスターデータの処理 ラスター演算 データの可視化 (空間分布) データの可視化 (その他) Appendix sp クラスの構造 (ラスターデータの場合) sp クラスデータは以下のようなスロットをもつ ▶ data:data.frame 形式で band1 というラベルのグリッド値 ▶ grid:さらに 3 つのサブスロットを含む ▶ cellcentre.offset:左下端のグリッドの中心座標 ▶ cellsize:グリッドサイズ (= 解像度) ▶ cells.dim:ラスターデータの列数と行数 ▶ bbox:西、東、南、北端の座標 (coords の値と 1/2 グリッドサイズ分ずれていることに注意) ▶ proj4string:1 つのサブスロットを含む ▶ projargs:座標系情報 (WGS84 など) #確認するには以下のコマンドを使用 str(dem.obj) 31 / 41
  • 32. R で GIS とリモー トセンシング入門 T. Nuimura R とは はじめに rgdal パッケージのインス トール Windows 版 R のおすすめ 設定 R の基本操作 R の基本操作 グラフ作成 外部データの入出力 統計解析 統計処理 検定 地理空間データの 解析 rgdal とは ベクターデータの処理 ラスターデータの処理 ラスター演算 データの可視化 (空間分布) データの可視化 (その他) Appendix sp クラスのデータ処理 (ラスターデータの場合) sp クラスのデータの処理は、"dem.obj@data[,1]” を操作する ことによって行える。 いくつかの処理例 #NoData を計算から除外 (-9999 を NoData にしている場合) dem.obj@data[dem.obj@data[,1] == -9999,1] <- NA #平均値の計算 mean(dem.obj@data[,1], na.rm=T) #ヒストグラムのプロット hist(dem.obj@data[,1]) Histogram of rsdata@data[, 1]Frequency 0 2000 4000 6000 8000 020000400006000080000100000140000 32 / 41
  • 33. R で GIS とリモー トセンシング入門 T. Nuimura R とは はじめに rgdal パッケージのインス トール Windows 版 R のおすすめ 設定 R の基本操作 R の基本操作 グラフ作成 外部データの入出力 統計解析 統計処理 検定 地理空間データの 解析 rgdal とは ベクターデータの処理 ラスターデータの処理 ラスター演算 データの可視化 (空間分布) データの可視化 (その他) Appendix Landsat による NDVI の計算 NDVI (正規化植生指数) NDVI = (IR − R) (IR + R) IR: Infrared (赤外バンド) R:Red (赤色バンド) Landsat の場合 (R⇒Band3、IR⇒Band4) NDVI = (Band4 − Band3) (Band4 + Band3) IR: Band4 R:Band3 Band3 Band4 NDVI 33 / 41
  • 34. R で GIS とリモー トセンシング入門 T. Nuimura R とは はじめに rgdal パッケージのインス トール Windows 版 R のおすすめ 設定 R の基本操作 R の基本操作 グラフ作成 外部データの入出力 統計解析 統計処理 検定 地理空間データの 解析 rgdal とは ベクターデータの処理 ラスターデータの処理 ラスター演算 データの可視化 (空間分布) データの可視化 (その他) Appendix Landsat による NDVI の計算 #GeoTIFF ファイルの読み込み band3.obj <- readGDAL(“landsat_band3_300.tif”) band4.obj <- readGDAL(“landsat_band4_300.tif”) # 計算結果用の変数を確保 (Band4 でもどっちでも良い) ndvi.obj <- band3.obj #ラスター演算 #2 行にわかれてるけど実際は 1 行で ndvi <- (band4.obj@data[,1] - band3.obj@data[,1]) / (band4.obj@data[,1] + band3.obj@data[,1]) #sp クラスは band1 というラベル名がある (紛らわしいので注意!) ndvi.obj@data[,1] <- data.frame(band1=ndvi) #GeoTIFF ファイルに結果を書き出し writeGDAL(ndvi.obj, “landsat_ndvi.tif”) 34 / 41
  • 35. R で GIS とリモー トセンシング入門 T. Nuimura R とは はじめに rgdal パッケージのインス トール Windows 版 R のおすすめ 設定 R の基本操作 R の基本操作 グラフ作成 外部データの入出力 統計解析 統計処理 検定 地理空間データの 解析 rgdal とは ベクターデータの処理 ラスターデータの処理 ラスター演算 データの可視化 (空間分布) データの可視化 (その他) Appendix データの可視化 (空間分布) ラスターデータのみ #DEM データの場合 #terrain.colors(20) が色の設定、scales オプションで軸目盛り表示 spplot(dem.obj, col.regions=terrain.colors(20), scales=list(draw=T)) 35 / 41
  • 36. R で GIS とリモー トセンシング入門 T. Nuimura R とは はじめに rgdal パッケージのインス トール Windows 版 R のおすすめ 設定 R の基本操作 R の基本操作 グラフ作成 外部データの入出力 統計解析 統計処理 検定 地理空間データの 解析 rgdal とは ベクターデータの処理 ラスターデータの処理 ラスター演算 データの可視化 (空間分布) データの可視化 (その他) Appendix データの可視化 (空間分布) ラスターデータ + ベクターデータ #latticeExtra パッケージを追加インストール&読み込み install.packages(“latticeExtra”) library(latticeExtra) #ベクターデータの読み込み basin <- readOGR(“khumbu_himal_basin.shp”, layer=“khumbu_himal_basin”) spplot(dem.obj, col.regions=terrain.colors(20), scales=list(draw=T)) + layer(sp.polygon(basin)) 36 / 41
  • 37. R で GIS とリモー トセンシング入門 T. Nuimura R とは はじめに rgdal パッケージのインス トール Windows 版 R のおすすめ 設定 R の基本操作 R の基本操作 グラフ作成 外部データの入出力 統計解析 統計処理 検定 地理空間データの 解析 rgdal とは ベクターデータの処理 ラスターデータの処理 ラスター演算 データの可視化 (空間分布) データの可視化 (その他) Appendix データの可視化 (その他) #plot 関数にて plot(ndvi.obj@data[,1], dem.obj@data[,1], cex=0.1) 何か変な縦線が 3 本? =⇒band3 と band4 の無効なデータ (0 や 255 という値) を適 切に扱わなかったのが原因。 37 / 41
  • 38. R で GIS とリモー トセンシング入門 T. Nuimura R とは はじめに rgdal パッケージのインス トール Windows 版 R のおすすめ 設定 R の基本操作 R の基本操作 グラフ作成 外部データの入出力 統計解析 統計処理 検定 地理空間データの 解析 rgdal とは ベクターデータの処理 ラスターデータの処理 ラスター演算 データの可視化 (空間分布) データの可視化 (その他) Appendix データの可視化 (その他) #0 と 255 の値を NA (⇐R での NoData 値) に置換 band3.obj@data[band3.obj@data[,1] == 0 | band3.obj@data[,1] == 255,1] <- NA band4.obj@data[band4.obj@data[,1] == 0 | band4.obj@data[,1] == 255,1] <- NA #からの NDVI 再計算 ndvi <- (band4.obj@data[,1] - band3.obj@data[,1]) / (band4.obj@data[,1] + band3.obj@data[,1]) ndvi.obj@data[,1] <- data.frame(band1=ndvi) #再び plot plot(ndvi.obj@data[,1], dem.obj@data[,1], cex=0.1) 38 / 41
  • 39. R で GIS とリモー トセンシング入門 T. Nuimura R とは はじめに rgdal パッケージのインス トール Windows 版 R のおすすめ 設定 R の基本操作 R の基本操作 グラフ作成 外部データの入出力 統計解析 統計処理 検定 地理空間データの 解析 rgdal とは ベクターデータの処理 ラスターデータの処理 ラスター演算 データの可視化 (空間分布) データの可視化 (その他) Appendix 最後にちょっとだけ (簡単に) 自分の研究紹介 1992–2008 年の間の多時期の DEM (地形データ) から、標高値の時系列変化を グリッドごとに計算 =⇒ 氷河の表面高度がどのように 変化しているか (上昇 or 低下) が求められる 39 / 41
  • 40. R で GIS とリモー トセンシング入門 T. Nuimura R とは はじめに rgdal パッケージのインス トール Windows 版 R のおすすめ 設定 R の基本操作 R の基本操作 グラフ作成 外部データの入出力 統計解析 統計処理 検定 地理空間データの 解析 rgdal とは ベクターデータの処理 ラスターデータの処理 ラスター演算 データの可視化 (空間分布) データの可視化 (その他) Appendix 最後にちょっとだけ (簡単に) 自分の研究紹介 表面高度の変化速度の計算例 #2 重の for ループでグリッドごとに以下の計算を行う #使用する地形データの年 (実際は 15 時期) years <- c(1992,2000,2004,2008) #各年の地形データでの標高値 (固定) elevation <- c(5029,5025,5020,5020) #lm 関数で高度変化速度 (m year−1 ) の計算 lm(elevation years, data.frame(years, elevation)) #下記の計算結果が表示される #Coefficients: #(Intercept) years #6252.6857 -0.6143 #つまりこの例の場合は y = -0.6143x + 6252.6857 と線形近似された 40 / 41
  • 41. R で GIS とリモー トセンシング入門 T. Nuimura R とは はじめに rgdal パッケージのインス トール Windows 版 R のおすすめ 設定 R の基本操作 R の基本操作 グラフ作成 外部データの入出力 統計解析 統計処理 検定 地理空間データの 解析 rgdal とは ベクターデータの処理 ラスターデータの処理 ラスター演算 データの可視化 (空間分布) データの可視化 (その他) Appendix 氷河表面の高度変化率の空間分布 色のある場所が氷河域、暖色が低下、寒色が上昇を示す 結果は Nuimura et al., (2012) Journal of Glaciology にあります こちらの図は実際の論文中の図とは異なります。2 2 論文出版元の著作権的な事情で 41 / 41