//尾野久二
COLOR(red){SIZE(30){maptools で地図表示}}

maptools はシェープファイルを読み込んでRで表示するパッケージ。CRANより入手できる。[[maptools(Maptools)パッケージ中のオブジェクト一覧]]~
spdep や spgwr の空間分析パッケージで利用されている。

(工事中)

#contents

*パッケージのロード [#kf36e05c]

 library(maptools)

*シェープファイルの読み込み [#zb9c6155]
**Mapオブジェクト [#v812122f]
 Mapオブジェクト <- read.shape("シェープファイル名")

 例

 map.obj <- read.shape("japan.shp")

**sp オブジェクト [#qe6d8273]
 図形タイプごとに関数が用意されている。

***ポイント [#u84a73c0]
 SpatialPointsDataFrameオブジェクト<- readShapePoints()

***ライン [#i4f53107]
 SpatialLinesDataFrameオブジェクト<- readShapeLines(("ポリゴンシェープファイル名"))

***ポリゴン [#kdd2c4d8]
 SpatialPolygonsDataFrameオブジェクト<- readShapePoly("ポリゴンシェープファイル名")

*ESRI Asciigrid データの読み込み [#s96383ec]
 SpatialGridDataFrameclassオブジェクト<- read.AsciiGrid("Asciigrid データファイル名")

*とりあえず表示 [#sab0eee2]

 plot(Mapオブジェクト)

 例

 plot(map.obj)

#ref(jpn.png,center)

CENTER: 図1 地図表示

 赤でぬりつぶしには

 plot(jpn, f="red")

*図形情報参照 [#o2db15d4]
**各図形共通 [#e946db36]
**ポイント [#c1a4d050]
**ライン [#j3bec689]
**ポリゴン [#aa31cf39]



*属性ファイル [#s079d122]
**フィールド名一覧 [#se5c8175]

 names(Mapオブジェクト$att.data)

**参照方法 [#o1cb5c4a]
 Mapオブジェクト$att.data

 属性 att.data のクラスは DataFrame。

 例
 edit(jpn$att.data)

任意のフィールドの参照は
 jpn$att.data$フィールド名


**属性ファイルのみの読み込み((foreign パッケージを利用)) [#n73c95b9]

***バージョン 0.4-8((foreign パッケージを利用)) [#vcf96ad3]
 read.dbf("ファイル名") # 日本語表示の文字化けあり(WinXP/2000)お騒がせして申し訳ございません。
// &color(red){↑read.dbf()の間違い?};
// &color(blue){↑そうでした、旧版と間違えてしまいました。ご指摘ありがとうございます};

***旧バージョン [#zf031e87]
 maptools:::dbf.read("ファイル名") 

**属性ファイル出力((foreign パッケージを利用)) [#q30ef1b6]
***バージョン 0.4-8((foreign パッケージを利用)) [#i55b883e]

 write.dbf(データフレーム,"ファイル名",factor2char = TRUE)

 factor2char ・・・ factor カラムを文字に変換


***旧バージョン [#f0b08b82]
 maptools:::dbf.write(データフレーム,("ファイル名",精度(例 7.2))

**ポリゴン・リストのサブセット抽出((日本語の入った DBase ファイルで正しい結果が得られない場合があったが、他のXPマシンで試したところ問題なし。お騒がせして申し訳ございません。)) [#yd66d770]
 subset.polylist(ポリゴン・リスト, 条件式)

**内部ポリゴンおよびマルチポリゴンの処理 [#f791e645]
-内部ポリゴンおよびマルチポリゴンの有無
-内部ポリゴンおよびマルチポリゴンの区別
-内部ポリゴンおよびマルチポリゴンの抽出

**シェープファイルの書き込み [#sbf87be0]
***ポイント [#l02e2535]
 write.pointShape(属性情報データフレーム, 出力ファイル名, 座標(2カラム(XY座標)のマトリックス))

***ライン [#kcf1855b]
 write.linelistShape(ラインリストオブジェクト, 属性情報データフレーム, 出力ファイル名) 

***ポリゴン [#v969d491]
 write.polylistShape(ポリゴンリストオブジェクト, 属性情報データフレーム, 出力ファイル名) 

*地図投影変換 [#z7f1c4df]

 spproj 

*重心 [#ybd69ae5]

 重心のマトリックス <- get.Pcent(Mapオブジェクト)

*エクステント [#y465d3d6]

*テキスト・ラベル表示 [#yd78f911]

 get.Pcent を利用

*ホール付のポリゴン描画 [#n4f4fd7d]

*ポリゴン内に格子パターン描画 [#fe431189]
 symbolsInPoly

*点密度図 [#n9ed24c5]
 dotsInPolys 

*コロプレス図 [#k8dc3a73]

**RColorBrewer [#we7546fa]

 [[classInt(単変量階級間隔の選択)パッケージ中のオブジェクト一覧]]が主な階級分類法をサポートしている。

**ユーザ定義 classIntervals(classInt パッケージ) [#f284c863]
 利用方法
 classIntervals(ベクトル(データ), n=階級数, style="fixed",fixedBreaks=階級区分値のベクトル)

**等間隔 classIntervals(classInt パッケージ) [#n23d14b1]
 利用方法
 classIntervals(ベクトル(データ), n=階級数, style="equal")

**等サイズ classIntervals(classInt パッケージ) または quantile 関数 [#w8626010]
 利用方法
 classIntervals(ベクトル(データ), n=階級数, style="quantile")

**標準化 classIntervals(classInt パッケージ) [#hd632bf0]
 利用方法
 classIntervals(ベクトル(データ), n=階級数, style="sd")

**Jenks の最適化法(自然階級分類) classIntervals(classInt パッケージ) [#p525d827]
 利用方法
 classIntervals(ベクトル(データ), n=階級数, style="fisher")

**K 平均法 classIntervals(classInt パッケージ) [#jf34cd9e]
 利用方法
 classIntervals(ベクトル(データ), n=階級数, style="kmeans")

**階層型クラスター法 classIntervals(classInt パッケージ) [#d54581ba]
 利用方法
 classIntervals(ベクトル(データ), n=階級数, "hclust", method="ward 等手法名")

**bagged クラスター法 classIntervals(classInt パッケージ) [#fb423ca5]


**階級区分の評価 jenks.tests [#e3de9817]

*カルトグラム [#v274c0f3]
**面カルトグラム [#kef30c31]
***非連続面カルトグラム [#ff4e43de]

*オーバーレイ解析 [#p5f7c697]
**Mapオブジェクト [#i26fc1c5]
 gpclib [[gpclib(R用汎用ポリゴン・クリッピング・ライブラリ)パッケージ中のオブジェクト一覧]]

**sp オブジェクト [#j2b572d1]
 spgpc 利用


*Rmapとの比較 [#m656eb1c]
- CRAN で入手できる
- 将来性。Rmap は事実上開発が終了している。Rmapでできることはほぼ maptools でもできる、
- sp パッケージおよび関連パッケージ(spdep)とのリンケージ
- 『The R Book』などの日本語の解説あり 

*関連リンク [#z5fc4c77]

*コメント [#v0f1d850]
#comment


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS