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 起動時にエラーが出る場合の一般的な注意点]

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

[更新履歴]
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 パッケージと連携することにより、 S4SpatalPolygonsDataFrameSpatialLinesDataFrameSpatialPointsDataFrame も生成できるようになりました。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
S4SpatialPolygonsDataFramesp 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
S4SpatialLinesDataFramesp 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
S4SpatialPointsDataFramesp 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/

アクセス数:

5366 人


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

添付ファイル: fileJohnSnowMap.kmz 2320件 [詳細] fileshp2kmlver035.txt 2434件 [詳細] fileGISpacksWin.zip 2743件 [詳細] filemaptoolsdemoSP.txt 1885件 [詳細] filercomdemo.txt 2398件 [詳細] file#shp2kmlver03.txt 969件 [詳細] fileGISpacksMac.zip 1834件 [詳細] fileGISdata.zip 3047件 [詳細] file#shp2kmlver035.txt 1000件 [詳細] filergdaldemo.txt 2104件 [詳細]

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