//尾野久二 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