RでGIS

 ここでは、Rによって実現できるGIS(地理情報システム)というよりはGISc(i)(地理空間情報科学)またはGeoComputation?(新計量地理学)の各手法をメモっていく。単なる地図表示は別のページを見てください。

地図パッケージ

ベクトル型

ベクトル/ラスター型

  • rgdal(GDAL(Geospatial Data Abstraction Library, 地理空間データ抽象ライブラリ)のバインディング)パッケージ中のオブジェクト一覧?

空間データ

シェープファイル & KML & E00

  • ポータルサイト
  • ヨーロッパ
    • EEA(欧州環境庁) Data Service EEA(ヨーロッパ) 水系(独自形式)、土地利用100m or 200m(Corine land cove 1990/2000: シェープファイル及び画像) 要登録
    • Corine land cover2000 ヨーロッパ土地被覆データ2000年(シェープファイル形式)・・・対話型 要登録
  • フランス
    • フランス国土地理院・・・フリーのフランスおよび海外県のシェープファイル(GeoFLAR Departements)およびDEM( BD ALTIR 1000m France continentale)を提供
    • パリ市
  • オーストラリア
    • GeoScience Australia 各種スケール(1:100,000 - 1:5,000,000)。シェープファイル、ESRIパーソナルデータベース、MapInfo?, PDF  行政界、DEM、地形、環境、地質、地球物理、地球化学、地質年代学、表土、経緯線網(グリッド)、ハザード(Geohazards)、測地、原住民生活権保護局(National Native Title Tribunal)

変換ツール

  • 数値地図のデータ形式がXML(JPGIS)形式に変更されたためか、数値地図を直接シェープファイルを変換する無料ツールはない模様。
  • 国土地理院から基盤地図情報とそれをシェープファイルに変換するコンバートソフトをダウンロードできます(2009/3/27現在).

ラスター

USGS EarthExplorer

地球環境データセット 各種グリッドデータの概要と処理方法

  • 地形・行政界
    • 標高・地形
    • 行政界
    • 社会経済
    • 水資源
  • ウエブサービスによるもの
  • リモセン画像
  • 主題図(派生データ)

DEM(数値標高モデル)

国土地理院火山地形分類データファイル

NOAAの夜間照明(画像)TIFF 形式

LANDSAT

  • landsat@CRAN

属性データ

 GISで利用可能なRパッケージ内データ


lattice パッケージを使った地図表示

http://dsarkar.fhcrc.org/lattice/book/figures.html に多数の例あり(chp.6 fig.6.5,6.11, chp 13など)

latticeExtra パッケージを使った地図表示

GPS

シェープファイルの新規作成

  • [R-sig-Geo] How to create a SpatialPolygonsDataFrame object
  • 座標値を含むCSVファイルよりポイントシェープファイルの作成
    library(maptools)
    d<-read.csv(ファイル名)
    coordinates(d)<-c("X座標属性名","Y座標属性名")
    writeShapePoints(d,"シェープファイル出力ファイル")
    

地図投影変換

rgdal

proj4(PROJ.4 地図投影変換ライブラリ簡易インターフェース)パッケージ中のオブジェクト一覧?

 投影法のパラメータが検索できるサイト

等値線図

シェープファイルへの変換

 ContourLines2SLDF(maptools) 関数で変換して、writeOGR(rgdal ) 関数か、writeSpatialShape?()関数でシェープに出力

総描

幾何図形の簡略化

  • gSimplify@rgeos

ラインの簡略化(単純化)

  • maptools パッケージの thinnedSpatialPoly? 関数 --- ポリゴンのラインの簡略化
  • PBSmapping パッケージの thinPolys 関数 --- ポリゴンのラインの簡略化
  • shapefiles パッケージの dp 関数 --- ラインの簡略化
  • Alpha Shapes to Polygons

ラベル配置

住所照合

  • gooJSON の gooadd & goomap 関数
    #位置(地理座標(緯度)を求める)
    uci.add <- gooadd(address=list("千代田区内幸町"))
    goomap(uci.add, key="Google Key")
    goomap(paste(140,40,sep=","), key="Google Key")
#住所(地理座標(緯度)より求める)

空間検索

rgeos

 GEOS パッケージを利用しているので、主要機能をカバーしている

重心

ポリゴンの面積

  • splancs パッケージ areapl 関数
  • gpclib パッケージ area.poly 関数(hole のあるポリゴン対応)
  • PBSMappingパッケージの calcArea 関数

最近接点

K-NN

  • spdepパッケージのknearneigh関数

任意のポイントに近接するラインとの距離と交点

  • dist2Line@geosphere ラインの特定は要プログラミング

近接するポリゴン情報取得・・・Dorling のカルトグラムやポリゴンの単純化に有用

ポイント・イン・ポリゴン

  • sp パッケージ point.in.polygon 関数
  • splancsパッケージ inpip , inout 関数
  • splancsパッケージ point.in.polygon 関数

任意のポリゴンに隣接するポリゴン数

  • spdepパッケージ

空間インデックス

  • SearchTrees Spatial Search Trees 4分木(quad tree)
  • gstat パッケージの predict.gstat 関数が内部で4分木(quad tree)を利用している

空間解析

ポリゴン・オーバーレイ解析

  • rgeos  gpclib の代替として、GEOS パッケージを利用して、ジオメトリのトポロジーを扱う
     Maptools の一部の関数でも利用できる。  libray(stringr) と、"stringr"パッケージを明示的にインストールする必要がある?
  •  CRAN の gpclib パッケージ。gpclib(R用汎用ポリゴン・クリッピング・ライブラリ)パッケージ中のオブジェクト一覧?Rmapを使った地図表示を参照)。
  • spgpc
  • PostGIS(RODBC経由)
  • PBSMappingパッケージの joinPolys 関数

ポリゴンの三角形分割

  • deldir
  • gpclib

凸包

  • CRAN の tripack パッケージ
  • PBSMappingパッケージの calcConvexHull? 関数

TIN

 CRAN の tripack パッケージを利用(tripack(不規則な間隔の空間データの三角形網の生成)パッケージ中のオブジェクト一覧?, deldir(ドロネイ三角形網およびディリクレ(ボロノイ)分割)パッケージ中のオブジェクト一覧?)。delaunay@spatstat(deldir を利用)。geometry パッケージ は最遠ボロノイおよび最遠ドロネイもサポート

  • deldir
  • misc3d(雑多な3Dプロット)パッケージ中のオブジェクト一覧?

ボロノイ

  • PBSMappingパッケージの calcVoronoi 関数
  • voronoi パッケージ(deldir 利用)

空間サンプリング(標本化)

  • sp パッケージの spsample 関数.ライン、ポリゴンおよびグリッドを対象とした乱塊法、階層化等.
  • splancs パッケージ.spsample より高度な手法をサポートする関数あり.
  • PSURVEY.DESIGN  EPAが開発。近くCRANからも入手可能。
  • Grid size calculator

空間内挿・サーフェス(平滑化)

ローパスフィルター

スプライン

  • akima
  • fields   薄板スプライン(Tps関数)
  • MBA(CRAN)  マルチレベルBスプライン MBA パッケージ(マルチレベル B スプライン近似 )パッケージ中のオブジェクト一覧?

カーネル密度推定法

属性なし

  • MASS パッケージの kde2d 関数
  • kde3d 3次元カーネル密度推定計算 in misc3d パッケージ
  • density 関数
  • sm パッケージ

属性あり

Kriging

シェープファイルへの変換方法

Unexpected parameter problem using rsaga.geoprocessor()

Kernel Density With Lines psp@spatstat

クリギング

傾向面

グローバル

  • spatial パッケージ surf.ls 関数

ローカル

  • stats パッケージ loess 関数
    • ヴェナブルズ他『S-PLUS による統計解析』、シュプリンガー・フェアラーク, 517-519 に使用例あり。

Pycnophylactic Interpolation(密度保持?内挿)

intamap: procedures for automated interpolation

カルトグラム

連続型面カルトグラム

library(spdep)
library(cart)
example(columbus)
cartc<-cartogram(columbus["CRIME"])
cartcj <- SpatialPolygonsDataFrame(cartc, columbus@data, match.ID = TRUE)
plot(cartcj)

非連続型面カルトグラム

Dorling の円カルトグラム

隣接するポリゴンが共有する辺の長さを求める必要があり、rgeos を使って工夫すればできるかもしれない。[[OpenJump:http://www.openjump.org]]のプラナーグラフを使えば、この辺の長さが求められる。

または、他のサイトに例のある Forced Based Direction Algorithm を使うと、実現が容易かもしれない。

MDS(多次元尺度構成法)による距離行列(時間距離(時間地図)、費用距離など)のカルトグラム

  • stats パッケージの cmdscale(古典的 (計量) 多次元尺度構成法)

 利用例

data(eurodist) #ヨーロッパの主要都市間の距離行列
loc<-cmdscale(eurodist) #MDS の計算
plot(loc) #座標のプロット
text(loc,names(eurodist),col="red") #都市名の表示
eurodist_mds.png

図 ヨーロッパの主要都市間の距離行列からの各都市の位置の復元

SOM を使ったカルトグラム

tree map の利用(実際の位置の表示ではない)

Comparing regions: maps, cartograms and tree maps

フローデータ分析

人口移動分析

アクセシビリティ(近接性) [#icde6ace]

フードチェーン

Look Familiar? Mapping in R

ネットワーク解析

最短経路探索

指定ノード

全ノードの最短経路探索

  • CRAN の e1071 パッケージ内の allShortestPaths および extractPath 両関数  ただし、数千ノードまで。Dijkstraではなく、Floydのアルゴリズムを利用。

位相構造をもたないシェープファイルでも、OpenJUMP*3やこれの旧バージョンベースのフィールドワークGISステーションで、ノードやエッジを生成できる。

shp2graph

関連リンク

文献

立地配分問題

巡回セールスマン問題

河川ネットワーク igraph

スタイナー木

ポイント・パターン分析

Point pattern analysis packages on CRAN

2次元

1次元(道路上の点分布(インターチェンジ)など)

  • lpp 関数@spatstat

セントログラフィ

  • aspace(セントログラフィ統計量を推定する関数コレクション) パッケージ中のオブジェクト一覧?

Spatial Scan Statistics

 CRAN で入手できるDClusterでサポート。プレリリース版が公開。ここに紹介あり。DCluster(疾病の空間クラスター検出用関数)パッケージ中のオブジェクト一覧?

GAM(Geograpgical Analysis Machine)

 DCluster の opgam 関数でサポート。GAM/K は GAM 結果にカーネル密度推定をおこなう。

地球統計(Geostatistics)

Geostatistics packages on CRAN

simProto

 GUIベースの地球統計を使った分析をおこなえる Web サイト(FLASH + PHP を利用)。コマンド入力も可。空間データ(画像を含む)の読込みができる。

A Practical Guide to Geostatistical Mapping 地球統計の講義ノート。要登録。

RGeoS rgeos とは別物。

IntR – Interactive GUI for performing geostatistical analysis in R

地形解析

Map Algebra or Cartographic Model

  • geovec@r-forge ベクター図形用。raster パッケージより分離
  • spsextante - Sextante の R 用インターフェース - R を Sextante 地理情報システム 接続することで地理情報分析ツール一式を提供するもので、spgrass6 および RSAGA と機能的に似通っているものである. - 開発中

自動地形分類

地形シミュレーション

DEMsim

R/ILWIS SCRIPTS FOR GEOSTATISTICAL SIMULATIONS

費用距離

  • raster
  • gdistance

平均地形曲率推定 Using R and r.mapcalc (GRASS) to Estimate Mean Topographic Curvature

地形表示用カラースキームパッケージ

Google Earth

Natural Hazard

空間的自己相関

 CRAN の spdep パッケージを利用。spdep(空間従属性)パッケージ中のオブジェクト一覧?

空間ウェイト・マトリックス

cshapes: CShapes データセット及びユーティリティー

cshapes(CShapes データセット及びユーティリティー)パッケージ中のオブジェクト一覧?

グローバル空間的自己相関

Moran のI統計量

  • spdepの moran(統計量のみ) および moran.test(検定付き) 
  • autocorrelation@raster

 式

4$I = \frac{\Bigsum_{i=\1}^{n} \Bigsum_{j=\1}^{n}w_{ij}(x_i - \bar{x})(x_j - \bar{x})}{W\Bigsum_{i=\1}^{n}(x_i - \bar{x})}

 ここで

4$W = \Bigsum_{i=\1}^{n} \Bigsum_{j=\1}^{n}w_{ij}

Geary のc統計量

  • spdep の geary(統計量のみ) および geary.test(検定付き)
  • autocorrelation@raster

グローバル G統計量

spdep の globalG.test

Join 統計量

 spdepのjoincount(統計量のみ) および joincount.test(検定付き)

ローカル

Local Moran 統計量

  • spdep の localmoran
  • autocorrelation@raster

Local Geary 統計量

G and G* 統計量

 spdep のlocalG

Classification Trees and Spatial Autocorrelation

空間自己回帰

SAR(同時自己回帰)

 spdep のerrorsarlm

CAR(条件付自己回帰)

SNA パッケージの自己相関分析関数

 社会ネットワーク分析への応用

利用例

空間コレログラム

 spdep の sp.correlogram

空間主成分分析

Hot Spot

空間スキャン統計量

空間的相互作用モデル

 集計型の主な手法はGLM(一般化線形モデル)で処理可能。他にはニューラルネットを用いるものや遺伝的アルゴリズムを用いるものがある。  非集約型は?

古典的重力モデル

対数線形

lm

エントロピー最大化モデル

 GLMを利用

無制約型(ポアソン型)

発地制約型

着地制約型

二重制約型

競合着地型

ニューラルネット

nnet

ライリー・コンバース・モデル

ハフ・モデル

GWR(Geographically Weighted Regression, 地理的加重回帰)

spgwr at CRAN

spgwr(地理的加重回帰)パッケージ中のオブジェクト一覧?

gwrr Geographically weighted regression with penalties and diagnostic tools

gwr

GWmodel: Geographically weighted models

MGWR 混合地理的加重回帰

BayesX: R Utilities Accompanying the Software Package BayesX

地理的加重判別分析

 multinom in nnet パッケージ

gwrr: Fits geographically weighted regression models with diagnostic tools

GWR 関連リンク

WSAF(加重空間適応フィルタ)

ベイズ

空間フィルタリング

  • spdep の SpatialFilter? 関数

参考

空間的拡散

空間データマイニング

空間データベースとの接続

 RODBC 経由

PostgreSQL/PostGIS

RとPostGIS

  • RODBC 経由
  • Rdbi/RdbiPgSQL

MySQLの空間エクステンション

 RMySQLパッケージ。  MySQLは4.x より空間データをサポートしているが、現状では空間データの格納のみで空間検索や空間解析のあるPostGISとの機能の差は大きい

SQLITE の空間DBエンジン

WebGIS

ESDA(探索的空間分析)

  • GeoXp  分析結果(モランプロット、バリオグラムクラウド、ローレンツ曲線、ジニ、カーネル密度推定等)と地図データとの相互リンクが可能。主成分分析等による次元縮約テクニックの機能も持つ。GeoXp (対話型探索的空間データ分析)パッケージ中のオブジェクト一覧?
  • rgr: The GSC Applied Geochemistry EDA Package

SMALL AREA ESTIMATION

  • 経験ベイズ
    • empbaysmooth in DCluster

時間地理学

時空間分析

空間的マイクロシミュレーション

リモセン

GISソフトウェアとの接続・統合

 R(D)COM や RServe およびその他のソフトを利用したものを以下に挙げる。

ArcGISのVBAよりR(D)COM経由でRの各空間分析パッケージを使用する

 VBAによるArcGISプログラミングガイドなどを参考にして、S+ArcViewのようなものができるかも?

 ArcGIS で R

Grass GIS

RPyGeo?: Python 経由で、R で、ArcGIS のジオプロセッシング

SDAM 空間データ分析マシン

 GeoComputaion?用。R(D)COM と JCOMを使ってGeoTools?(Java 用GISエンジン)と統合。テレビ東京の情報番組で使われた(ただしRを利用していないカルトグラムの機能だが)。  現在新バージョンを開発中。

歴史統計GeoWeb?

 Ajax + PHP + R

Q(uantum) GIS との連動

QGIS は Python をサポートしているので、この機能を使って R(Rpy を利用) とリンケージを図っている。 最近活動が活発になっているようだ。

  • BridgeToR - Quantum GIS Wiki QGIS-R Binding Team による QGIS と R リンケージに関する情報サイト
  • R-QGis Data Transfer QGIS と R 間のデータのやりとりに関する情報
  • Qgis Basic Stats Plugin R を使って QGIS に基本統計分析機能(要約・ヒストグラム・散布図・線形モデル)を追加する QGIS プラグイン。Rpy を利用。
  • manageR R を使って QGIS に統計分析機能を追加する QGIS プラグイン。Rpy, NumPy? を使用。
  • Arlat - RapLoa Analysis Tool  空間疫学関係の分析システム。Rpy(Python) を利用して QGIS との統合を実現する。当初は OpenEV + RServe でシステムを開発。

DIVA GIS(国際ポテトセンター)

 Eclipse のRCPを利用したオープンソース GIS、uDig のプラグイン。空間分析に R を利用している

地理空間情報ウェブサービスとの連携

R で GeoWeb

地図画像

  • WMS(Web Mapping Service)  rogr, RCURL

空間データ取得

  • WFS  rogr, RCURL
  • Web Maps 点、線、面を HTML に表示

分散型ジオプロセッシング

空間パネルモデル

空間分析のための並列計算

FlowViz?

Mapping Tips

Open Data Hack

Google Earth/KML による可視化

順位・規模の法則、ランク・サイズルール

アニメーション

フィールドワーク

  • [[Displaying spatial sensor data from Arduino with R on Google Maps:Displaying spatial sensor data from Arduino with R on Google Maps]]

書籍(オンラインも含む)

  1. Springer より、R を使った空間統計の本(Bivand, R. S.(sp, spdep, maptools, spgwr), Pebesma, E.J.(gstat) and Gomez-Rubio, V.(2008):Applied Spatial Data Analysis with R サポートサイト((IE7 or Firefox. IE6 では正しく表示されない。)) )が2008/09出版。
  2. Crawley, M. J. :The R Book--The R Book24章が空間統計(Spatial Statistics)で、点過程、クリギング等が扱われている。
  3. Spatial Statistical Data Analysis for GIS Users, ESRI PRESS, 2011. DVD(本文+スクリプト+データ)のみの販売。R+SPDEP+SPLANCS も利用.
  4. 古谷知之著『Rによる空間データの統計分析』,朝倉書店,2011.
  5. Displaying time series, spatial and space-time data with R: stories of space and time
  6. Introduction to visualising spatial data in R
  7. Brunsdon, C. , Comber, L.(2015):An Introduction to R for Spatial Analysis and Mapping, Sage

関連情報

  • rgis 以下のパッケージを開発中。
    • gdistance:GIS
    • raster:ラスター型データ処理
    • remotesensing:リモセン
    • cropsim および dismo:生物多様性。
  • Spatial data in R sp周りのマニュアルやグラフィックの例などが便利。
  • R Spatial Cheatsheet ----This cheatsheet is an attempt to supply you with the key functions and manipulations of spatial vector and raster data. It does not have examples for you to cut and paste, its intention is to provoke the "Oh yes, that's how you do it" thought when stuck.

*1 パブリックドメインではない
*2 R ver 11 以降は利用できない
*3 日本語対応

添付ファイル: fileeurodist_mds.png 3452件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Google
WWW を検索 OKADAJP.ORG を検索
Last-modified: 2015-04-26 (日) 13:12:59 (398d)