LINK:[GoogleEarthとR][ShapeFileライブラリ][kmlラボ][空間的なデータの分析][Rでジオコーディング][RでGPS]


目次


論文引用・書籍等に引用する場合の著作権についての連絡>>okinawa


目的

財団法人統計情報研究開発センター専門誌ESTRELAへ6回に渡って「Rと空間統計」について連載します。連載にあたって、必要な情報やデータをここに蓄積しますので、ご了解ください。

Rを用いた空間統計のサイト

[R Spatial Projects]
[CRAN Task View: Analysis of Spatial Data]
[CRAN Task View]
[Spatial data in R]

空間統計関連パッケージの一括インストール

このプログラムは、空間統計関連パッケージを一括インストールするために作成しました。
以下のプログラムを実行するためには、事前にRがインストールされている必要があります。
随時、必要なパッケージの追加を行っておりますので、常に新しいバージョンのもの適応してください

対象プログラムver対応R備考
[MacOSX10.4.10] 0.1.3R2.4.1解凍後、Macintosh HD 直下に移動させ、InstallGISpacks をダブルクリックしてください。インストール終了後、自動的にCloseします。
[WindowsXPSP2/2000SP4] 0.1.2R2.4.1解凍後、C:\直下に移動させ、InstallGISpacksR-2.4.1.batをダブルクリックしてください。インストール終了後、自動的にCloseします。

[Mac版Rで、library 起動時にエラーが出る場合の一般的な注意点]

  • パッケージには GCC4.0 が必要なものがありますので、事前に MacOSX install Disk 1に入っている、XCode Tools,GCC4.0 をインストールしておいてください。(通常R.appインストール時に自動的に入りますが念のため)
  • パッケージをインストールする場合、「パッケージの依存関係を解決」にチェックを入れないと、うまく動かないパッケージがありますので、チェックは必ず入れましょう。
  • Tcltkが必要なパッケージを起動させる場合は、X11 を起動した後にRを起動し、R.appの画面からSys.putenv("DISPLAY"=":0")を実行してください。

[パッケージの一括インストールプログラムの応用]

  • GISpackages.txt 内に必要なパッケージをインストールする R のコードが記述されていますので、この中身を変えることによって必要なパッケージを一括インストールするプログラムが作れます。
  • GISpackages.txt内には、UPDATEを自動的に行うコードも含まれていますので、UPDATEの部分だけGISpackages.txtに記述し、PC起動時にプログラムを起動させるような設定にすると、Rのパッケージを常に最新のものにしておくこともできます。(筑波サーバーへの負荷が心配ですが、お許しください)

[更新履歴]
2007/06/05 GISpacksWin?.zip 更新 ver0.1.2、XML追加。

ESRIジャパン社から公開ShapeFileデータの加工・公開の許可について

ShapeFileライブラリで許可いただきました内容から、更に許可範囲を広げていただきましたので、その内容を公開いたします。

このたびはお問い合わせありがとうございました。
ご質問にお答えいたします。

<問い合わせ内容>
以前、「Rを利用したShapeFileの県別の切り出し加工・公開」を許可していただいたものです。
今回、ご相談したいことは、公開されている全国市区町村行政界ShapeFileデータにつきまして
(1)現在作成されている*緯度経度座標* (*回転楕円体:GRS1980、データム:JGD2000*)から他の測地系・座標系への変換した場合の加工物(ShapeFileもしくはそれ以外のフォーマット)の公開が可能か。
(2)ShapeFileからGoogleEarth?のKMLへの変換を行った加工物の公開が可能か。

<回答>
「ご公開可能」と回答いたします。 ただし、以下の条件を遵守願います。
(1)営利目的には利用しない。
(2)公開時には、以下の文章を入れていただく。
「本データの作成に当たっては、ESRIジャパン株式会社の全国市区町村界データを使用しました。本データの著作権はESRIジャパン株式会社に帰属します。」

上記のように、加工・公開されるデータにつきましては、ESRIジャパン株式会社様の回答内容を守って取り扱っていただきますようよろしくお願いいたします。

地図作成練習用データ(Windows版/Macintosh版)

[更新履歴]
2010/01/24 maptoolsdemoSP.txt追加しました。ダウンロード後、C:\GISdataフォルダに入れてください。
2007/12/16 rgdaldemo.txt追加しました。ダウンロード後、C:\GISdataフォルダに入れてください。
2007/11/20 rcomdemo.txt追加しました。ダウンロード後、C:\GISdataフォルダに入れてください。
2007/10/18 shp2kmlver035.txt追加しました。ダウンロード後、C:\GISdataフォルダに入れてください。

(注)なお「本データの作成に当たっては、ESRI ジャパン株式会社の全国市区町村界データを使用しました。本データの著作権は ESRI ジャパン 株式会社に帰属します。」

空間統計のためのクラス

[解説]
Rでの空間統計を理解する上での一番の早道は、各パッケージ(ライブラリ)に用いられている「空間統計用のクラス」の構造を知ることです。通常、クラス構造はマニュアルには明示されていないものが多いので、自分で調べる必要があります。クラス構造を知るためには生成されたオブジェクトに対して str(*) を用いてください。

maptoolsのクラス

maptools では、従来より S3 Mapクラスが用いられてきましたが、sp パッケージと連携することにより、 S4SpatalPolygonsDataFrame?SpatialLinesDataFrame?SpatialPointsDataFrame? も生成できるようになりました。sp のクラスを取り込むことにより、地図投影法の変更など、細かな処理が可能となってきています。
maptools(Maptools)パッケージ中のオブジェクト一覧?

[S3クラス:Map]

class typeclass nameobjattribute1attribute2attribute3atomic typecomment1comment2
S3Map*$Shapeslist
[[n]]list
$Pstartintポリゴン開始点ポリゴン分割に利用(複数)
$vertsnumポリゴン点列緯度経度情報
$shp.typeintシェープタイプ5=ポリゴン(shapefile仕様書)
$nVertsint$verts行数ポリゴン点行数
$nPartsint$vertsの分割数ポリゴン分割数
$bboxnum最小包含箱バウンディングボックス
$shpIDintシェープIDDBFの並びと一致
attr(,"nVeart")intポリゴン点数
attr(,"nParts")intポリゴン点分割数vertsがいくつ分割されているか
attr(,"shp.type")intシェープタイプ5=ポリゴン(shapefile 仕様書)
attr(,"bbox")num最小包含箱バウンディングボックス
$att.datadata.frame.DBFのデータ**
$PREFFactor都道府県名
$CITY1Factor市町村名政令指定都市の場合は区名
$CITY2Factor政令指定都市の市名
$TOWN1Factor郡名(町村部のみ)
$TOWN2Factor県市区町村名
$JCODEnum市町村コード5桁のJISコード
$P_NUMnum人口
$H_NUMnum世帯数
$FLAG1num陸/水フラグ陸部:1、 湖沼:2
$FLAG2num更新時のデータ変更フラグ変更無:0、ver3.0:1、ver5.0:3
$S_TKY2JGDnum自動作成データ
attr(*,"data_types")chr$*のデータタイプ"C" "N"
attr(*, "class")chrクラスタイプMap

**:DBFのデータによって$att.dataの内容は変わります。ここでは、ESRI Japan 社公開の shapefile の構造を示してあります。文字コードは Shift-JIS になっていますので、Mac/Linux で利用する場合は変換が必要です。
GoogleEarthとRではこの構造をプログラムが解析して、XML(KML)を生成しています。
bbox(バウンディングボックス)は、ポリゴンが表示されている領域の四角の緯度・経度を示していますので、このデータからポリゴンの中心点が計算できます。また、ポリゴンの中心点に円/棒などを表示させることで、3D のグラフを作成することも可能でしょう。


[S3クラス:polylist]

class typeclass nameobjattribute1attribute2attribute3atomic typecomment1comment2
S3polylist*list
[[n]]
[[n,m]]numポリゴン点緯度・経度情報
attr(*, "nParts")intポリゴン分割数
attr(*, "pstart")listポリゴン開始点
$fromint
$toint
attr(*, "after")num
attr(*, "plotOrder")numプロット順
attr(*, "bbox")num最小包含箱バウンディングボックス
attr(*, "nParts")int
attr(*, "ringDir")intリングの向き(ポリゴン点の方向)時計回り'clockwise'
attr(*, "area")numエリア
attr(*, "centroid")list重心点
$xnum
$ynum
attr(*, "shpID")intシェープID
attr(*, "region.id")chrリージョンID
attr(*, "class")chrクラスタイプpolylist
attr(*, "maplim")list
$ xnum
$ ynum
attr(*, "after")int
attr(*, "plotOrder")intプロット順

**:S3 MapObject? より Map2poly() 関数で取り出されるオブジェクト。ポリゴン情報のみ持っている。オブジェクトはリスト構造のためポリゴンの色を指定色にて塗り分けることが可能。

[S4クラス:SpatialPolygonsDataFrame?]

class typeclass nameobjattribute1attribute2attribute3atomic typecomment1comment2
S4SpatialPolygonsDataFrame?sp package 'SpatalPolygonsDataFrame?'class
@datadata.frame.DBFのデータ**
$PREFFactor都道府県名
$CITY1Factor市町村名政令指定都市の場合は区名
$CITY2Factor政令指定都市の市名
$TOWN1Factor郡名(町村部のみ)
$TOWN2Factor県市区町村名
$JCODEnum市町村コード5桁のJISコード
$P_NUMnum人口
$H_NUMnum世帯数
$FLAG1num陸/水フラグ陸部:1、 湖沼:2
$FLAG2num更新時のデータ変更フラグ変更無:0、ver3.0:1、ver5.0:3
$S_TKY2JGDnum自動作成データ
attr(*,"data_types")chr$*のデータタイプ"C" "N"
@polygons[[n]]list
@Polygonssp package 'Polygons'class
[[n]]listsp package 'Polygon'class
@labptnumラベルポイント
@areanumエリア
@holelogiホールホール(穴)チェック
@ringDirintリングの向き(ポリゴン点の方向)時計回り'clockwise'
@coordsnumポリゴン点緯度・経度情報
@plotOrderintプロット順
@labptnumラベルポイント
@IDchrIDDBFの並びと一致
@areanumエリア
@plotOrderintプロット順
@bboxnum最小包含箱バウンディングボックス
attr(*, "dimnames")listbbox配列名
$chrbbox配列名"r1" "r2"
$chrbbox配列名"min" "max"
@proj4stringsp package 'CRS'class
@projargschr地図投影法指定

**:DBFのデータによって@dataの内容は変わります。ここでは、ESRIJapan社の公開shapefileの構造を示してあります。
S3Mapクラスと比較すると属性が一層深く作られていることがわかります。(ポリゴン開始点を使わずに、ポリゴン個々に管理されるようになっている。)また、ホールフラグが存在するので、ポリゴンを塗る場合のチェックを行うことが可能です。

[S4クラス:SpatialLinesDataFrame?]

class typeclass nameobjattribute1attribute2attribute3atomic typecomment1comment2
S4SpatialLinesDataFrame?sp package 'SpatialLinesDataFrame?' class
@datadata.frame.DBFのデータ**
$PREFFactor都道府県名
$CITY1Factor市町村名政令指定都市の場合は区名
$CITY2Factor政令指定都市の市名
$TOWN1Factor郡名(町村部のみ)
$TOWN2Factor県市区町村名
$JCODEnum市町村コード5桁のJISコード
$P_NUMnum人口
$H_NUMnum世帯数
$FLAG1num陸/水フラグ陸部:1、 湖沼:2
$FLAG2num更新時のデータ変更フラグ変更無:0、ver3.0:1、ver5.0:3
$S_TKY2JGDnum自動作成データ
attr(*,"data_types")chr$*のデータタイプ"C" "N"
@lines[[n]]list
@Linessp package 'Lines'class
[[n]]listsp package 'Line'class
@coordsnumポリゴン点緯度・経度情報
@IDchrID
@bboxnum最小包含箱バウンディングボックス
attr(*, "dimnames")listbbox配列名
$chrbbox配列名"r1" "r2"
$chrbbox配列名"min" "max"
@proj4stringsp package 'CRS' class
@projargschr地図投影法指定


[S4クラス:SpatialPointsDataFrame?]
注)GISdata.zipで提供しているShapeFileからは生成できないので、system.file("shapes/baltim.shp", package="maptools"[1])を使いました。

class typeclass nameobjattribute1attribute2attribute3atomic typecomment1comment2
S4SpatialPointsDataFrame?sp package 'SpatialPointsDataFrame?' class
@datadata.frame
$STATIONnum
$PRICEnum
$NROOMnum
$DWELLnum
$NBATHnum
$PATIOnum
$FIREPLnum
$ACnum
$BMENTnum
$NSTORnum
$GARnum
$AGEnum
$CITCOUnum
$LOTSZnum
$SQFTnum
$Xnum経度
$Ynum緯度
attr(*,"data_types")chr$*のデータタイプ"N"
@coords.nrsnum
@coordsnum
attr(*,"dimnames")list
$NULL
$chr"coords.x1" "coords.x2"
@bboxnum最小包含箱バウンディングボックス
attr(*, "dimnames")listbbox配列名
$chrbbox配列名"coords.x1" "coords.x2"
$chrbbox配列名"min" "max"
@proj4stringsp package 'CRS' class
@projargschr地図投影法指定


spのクラス

空間統計のための共用クラス(谷村先生の解説)http://jasp.ism.ac.jp/kinou2sg/contents/tanimura-20061209.pdf

地図投影法

通常、地図情報を扱う場合には、表示範囲・次元数などの利用目的に応じて、投影方法を変更する。
全世界を表現する場合にはメルカトル図法などをよく利用するが、角度・距離・面積・形状のいずれかを正確に表現するかで、非常に多くの投影方法が開発されてきた。
最近では、GPSの利用が進んでいるため世界的な基準の統一が望まれてきている*1

[proj4]

proj4は地図投影法のC言語ライブラリProj.4をRで利用できるようにしたパッケージである。

[rgdal]

rgdalは汎用地図ラスターデータ変換ライブラリGDALと汎用地図ベクターデータ変換ライブラリOGR、地図投影法変換ライブラリProj.4をRで利用できるようにしたパッケージである。投影方法を変更するための、CRSクラスを実装している。

空間統計データの読み書き

[maptools]
地理的なデータ、特にESRIの shapefile を処理するためのツール群:パッケージはPBSmapping、spatstat、maps、RArcInfo?、Stata tmap、WinBUGS、Mondrian、および他のパッケージと空間的なデータを交換するためのインターフェースラッパーを提供する。
maptools で地図表示?

[shapefiles]
ESRIのshapefilesを読み、書く機能

疾病の地図の描画

[DCluster]
一組の計算データを使用して疾病の空間的な集積の検出をするための機能。 ブートストラップが統計量の標本分布を推定するのに使用されている。

GoogleEarth?との連携/ジオコーディング

GoogleEarthとR
[XML]
[rgdal]
WarmerdamのGeospatialのデータ抽象化ライブラリ(GDAL) (>= 1.3.1)の結合およびPROJ.4ライブラリからの投影または変換操作へのアクセスを提供する。
[RCurl]
Rでジオコーディング

ジョン・スノー マップ On GoogleEarth?

金先生のサイト

http://mjin.doshisha.ac.jp/R/

  • おっしゃるとおり、「空間統計」と言うより「空間データの可視化」が妥当だと思います。空間統計のコアの部分については、Rjpwikiに出入りされている「専門の方」がいらっしゃいますので、本来ならばもっと専門の方がきちんと書かれたほうが良いだろうと思って、あえてふれませんでした。=>M瀬先生を差し置いて書けませんよ。 -- okinawa 2008-02-12 (火) 14:32:22
  • 書籍期待しております。連載タイトルのいわゆる「空間統計」(ポイントパターン、空間的自己相関、空間統計、空間カーネル、空間回帰など)そのものの話題が連載では事実上触れておられなかったので(『GeoViz? on R --- Rによる空間データの可視化』といった内容で空間統計=地図表示 というのは一般的ではないのではないでしょうか)、書籍では解説と事例お願いします。 -- GG-1@PPR? 2008-02-12 (火) 13:44:49
  • 「森北」ではない出版社です。(あくまでも予定ですが) -- okinawa 2008-02-12 (火) 11:59:11
  • ESTRELAの連載2月号のものを読ませていただきました。この連載記事は森北から出版されるのでしょうか? -- GG-1? 2008-02-12 (火) 11:37:30
  • ご対応ありがとうございます。文書を見ることができました。 -- 2008-01-21 (月) 10:41:34
  • 金先生にはお送りしましたので、もうしばらくお待ちください。 -- okinawa 2008-01-16 (水) 20:27:58
  • 読むのが楽しみなESTRELAの連載ですが、1月号のPDFのUPはいつごろでしょうか? -- 2008-01-16 (水) 17:54:40
  • 今確認したのですが、金先生のサイトにはUPされてました。 -- okinawa 2007-12-13 (木) 20:02:07
  • ESTRELA12月号連載のPDFのアップまだでしょうか? -- Koef? 2007-12-13 (木) 18:19:25
  • 「ESRIジャパン社から公開ShapeFileデータの加工・公開の許可について」を追加しました。こちらからの要望(測地系・座標系返還後のShapeFileの公開および他のフォーマット(KMLを含む)での公開)はすべて許可していただきました。また、宿題として、「全国市区町村界データは更新を重ね、現在ではver.6.1となっております。ぜひ切り出されましたファイル群の更新も宜しくお願いいたします。(市町村合併もは随時反映しております)」とのことで、がんばりまする〜。 -- okinawa 2007-10-25 (木) 15:32:46
  • 今回利用したShapeFileは私がESRIジャパン社から「全国市区町村行政界ShapeFileの県別に切り出したデータの公開」を許可をいただいているのであり、「測地系(や座標系)変換後の県別のShapeFileデータの公開」ではないことをご理解ください。(全国市区町村行政界ShapeFileデータは著作権者であるESRIジャパン社のご好意により利用させていただいていますが、当然制限(許可)も発生するということです。) -- okinawa 2007-10-25 (木) 11:34:08
  • 地図投影法の話が面倒なら、予めUTMなどに変換した分県シェープファイルを用意しておいてこれを使った方がよかったのではないでしょうか(UTMでは全国図は無理ですが、正距円錐だ周辺が歪みますし)?長さや面積が必要な分析があるとすると、この方が better では? -- 馬頭観音? 2007-10-25 (木) 10:18:19
  • 地図投影法の解説は、[spのクラス]の谷村先生の解説に詳しく述べられています。 -- okinawa 2007-10-25 (木) 09:55:03
  • おっしゃる通りなのですが、まず簡単に地図を表示するところから説明に入っていますのでご了解ください。地図投影法の指定は、S4クラスを描画に用いると可能です。(たぶん6回目あたりで落ち穂拾い的に扱う予定です) -- okinawa 2007-10-24 (水) 18:41:32
  • 金先生、早速のご対応ありがとうございます。ところで、PDFを読んで気づいたのですが、maptoolsによる地図の作成 に使用している「鶴の飛ぶ」群馬県ですが、これは地理座標(緯度経度)のようで、UTM座標や公共座標系に変換するのが好ましいのではないのでしょうか? -- 2007-10-24 (水) 17:05:13

アクセス数:

4880 人


*1 これは測地系(WGS84)と地図投影変換法を混同しているのでは?

添付ファイル: fileGISpacksMac.zip 1739件 [詳細] fileGISdata.zip 2935件 [詳細] file#shp2kmlver035.txt 942件 [詳細] filergdaldemo.txt 1989件 [詳細] file#shp2kmlver03.txt 916件 [詳細] filercomdemo.txt 2280件 [詳細] fileshp2kmlver035.txt 2325件 [詳細] fileGISpacksWin.zip 2653件 [詳細] filemaptoolsdemoSP.txt 1772件 [詳細] fileJohnSnowMap.kmz 2184件 [詳細]

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