Tokyo r hiromatsu

2,804 views

Published on

第16回、TokyoRの発表資料です。

Tokyo r hiromatsu

  1. 1. ~素人の手による~Rを用いた地理情報分析<br />2011/08/27<br />TokyoR #16<br />Hiroki Matsui<br />
  2. 2. 自己紹介<br />Hiroki Matsui(RPT,MPH)<br />専門:リハビリテーション、臨床疫学・医療経済学<br />元理学療法士(リハビリ屋)->現在は研究者と事務屋の間<br />Rは趣味程度に利用->現在は、仕事で利用<br />Rも地理情報分析も素人<br />Twitter:Hiro_macchan<br />
  3. 3. 本日のテーマ<br />Rによる地理的情報の分析<br />でも、僕はRも地理情報分析も素人<br />->タスクを設定してそれを達成し、事例報告でお茶を・・・。<br />エンジニアの皆様、専門家の皆様ごめんなさい。<br />逆に色々教えて下さい。<br />
  4. 4. 本日のテーマ<br />タスク<br />Rを用いて<br />東京都の専門医の地理的分布を<br />Google Earth上に描画してみよう!<br />
  5. 5. GISで地図を書く<br />GIS(Geographic InformationSystem:地理的情報システム)を用いることにより、コンピューター上で、地理的情報を重ね合わせて表示し、情報を得るためのソフトウェア。<br />空間統計や、時空間統計などの統計手法についても近年は発達している。<br />->今回は、そういった高度な内容は扱いませんので、また教えて下さい。。。<br />
  6. 6. GISで地図を書く<br />必要なもの<br />白地図情報<br />描画の下地になる白地図情報。数値集計の枠組みになったりする。<br />地理的情報が付与された統計情報<br />統計数値と地理的情報(具体的には緯度経度)がセットになったデータセット<br />GISソフト<br />色々あって選り取り見取り?今回はRを使ってみよう。<br />
  7. 7. GISで地図を書く<br />必要なもの<br />白地図情報<br />描画の下地になる白地図情報。数値集計の枠組みになったりする。<br />地理的情報が付与された統計情報<br />統計数値と地理的情報(具体的には緯度経度)がセットになったデータセット<br />GISソフト<br />色々あって選り取り見取り?今回はRを使ってみよう。<br />
  8. 8. GISで地図を書く<br />白地図情報<br />各種白地図情報(国土地理院、国土交通省、ESRI社)<br />ファイル形式は様々だが、ESRI社の開発したShapeファイル形式が広く利用されている。<br />Google EarthやGoogle Map上に描画する場合もある。<br />
  9. 9. GISで地図を書く<br />必要なもの<br />白地図情報<br />描画の下地になる白地図情報。数値集計の枠組みになったりする。<br />地理的情報が付与された統計情報<br />統計数値と地理的情報(具体的には緯度経度)がセットになったデータセット<br />GISソフト<br />色々あって選り取り見取り?今回はRを使ってみよう。<br />
  10. 10. GISで地図を書く<br />地理的情報を付加した統計情報<br />住所情報にジオコーディングで、緯度経度情報を付加する必要性<br />各種ジオコーダー(Google, Yahoo, 東大CSVアドレスマッチングサービス等)<br />R上でもジオコーディングをする手法があるようです。(R-wiki参照)<br />
  11. 11. GISで地図を書く<br />必要なもの<br />白地図情報<br />描画の下地になる白地図情報。数値集計の枠組みになったりする。<br />地理的情報が付与された統計情報<br />統計数値と地理的情報(具体的には緯度経度)がセットになったデータセット<br />GISソフト<br />色々あって選り取り見取り?今回はRを使ってみよう。<br />
  12. 12. GISで地図を書く<br />GISソフトとしてのR<br />maptoolsというパッケージが有名<br />地理的情報をSpatialPoligonという形のデータで格納し、R上で地図への描画などを行う事が出来る。<br />他のパッケージは試してないので、比較できませんが結構便利です。<br />
  13. 13. maptoolsの紹介<br />maptoolsで出来ること<br />地理的情報をSpatialPoligonに変換<br />ShapeFileなどで記載された白地図情報をSpatialPoligonに変換<br />SpatialPoligonファイルの編集<br />KMLファイルへの出力<br />等々<br />
  14. 14. 事例紹介(白地図データ)<br />白地図データは、諸般の事情により、国土交通省国土政策局の国土数値情報から取得したJPGISファイルからShapeファイルを作成<br />(ESRI社に白地図データをRで使っていい?と聞いたらだめと言われたんで。。。)<br />
  15. 15. 事例紹介(ジオコーディング)<br />ジオコーディング済みの地理的情報を取得しましょう。<br />今回は、東京都における各医療機関の住所情報、及び、所属する専門医数を利用します。<br />東京都のHPから取得<br />ジオコーディングは、東大地理空間研究所が提供している、CSVアドレスマッチングサービスを利用<br />
  16. 16. Rによる実際の処理<br />白地図シェープファイルの取り込み<br />統計情報の取り込み<br />主題図の描画<br />KMLファイルへの出力<br />
  17. 17. 白地図のShapeFileの取り込み<br />library(maptools)<br />jpn2<-readShapeSpatial(shapefile,proj4string = CRS("+proj=longlat +datum=WGS84"))<br />tokyo<-jpn2[jpn2$KEN=="東京都",]<br />plot(tokyo,xlim=xlim,ylim=ylim,axes=T)<br />
  18. 18. 統計情報の取り込み<br /> hospital<-read.csv(byouin,colClasses=c(rep("numeric",55),rep("character",5),rep("numeric",4)),head=T)<br />lola<-hospital[,fx:fy]<br />sp.hospital<-SpatialPoints(lola,proj4string = CRS("+proj=longlat +datum=WGS84 +units=km"))<br />spdf.hospital<-SpatialPointsDataFrame(sp.hospital,data=hospital)<br />
  19. 19. 主題図の描画<br /> #病院の、白地図上での所属を判定<br /> res_all<-overlay(spdf.hospital,tokyo)<br /> spdf.hospital@data$location<-as.factor(res_all)<br /> #各市区町村の別の産婦人科専門医合計人数を計算<br /> obstgyne<-tapply(spdf.hospital$産婦人科専門医,spdf.hospital$location,sum)<br /> obst.name<-names(obstgyne)<br /> obstgyne<-as.data.frame(obstgyne)<br /> obstgyne$name<-obst.name <br /> #SPにマージ<br /> tokyo@data<-merge.data.frame(tokyo@data,obstgyne,by.x="OBJECTID",by.y="name",all=T)<br /> tokyo$obstgyne<-ifelse(is.na(tokyo$obstgyne),0,tokyo$obstgyne)<br /> f.plot<-function(x){<br />iro<-brewer.pal(8,"Greens")<br />kaisou<-classIntervals(x,n=8,style="kmeans")<br />colcode<-findColours(kaisou,iro)  plot(tokyo,col=paste(colcode,80,sep=""),axes=T,xlim=xlim,ylim=ylim)<br /> }<br /> f.plot(tokyo$p.obstgyne)<br />
  20. 20. 主題図の描画<br />
  21. 21. 地図の重ね合わせ<br />plot(spdf.hospital,cex=spdf.hospital$産婦人科専門医*0.1,pch = 16, col = "#0000FF70",xlim=xlim,ylim=ylim,add=T)<br />
  22. 22. KMLファイルへの出力<br /> #地図をGoogle Mapとかで使える用に png/kml形式に変換<br /> library(rgdal)<br /> opt_exask <- options(example.ask=FALSE)<br /> tf <- "c:/KML/tokyo"<br /> SGqk <- GE_SpatialGrid(tokyo)<br /> png(file=paste(tf, ".png", sep=""), width=SGqk$width, height=SGqk$height,<br />bg="transparent")<br /> par(mar=c(0,0,0,0), xaxs="i", yaxs="i")<br /> iro<-brewer.pal(8,"Greens")<br /> kaisou<-classIntervals(tokyo$p.obstgyne,n=8,style="kmeans")<br /> colcode<-findColours(kaisou,iro)<br /> plot(tokyo,col=paste(colcode,80,sep=""), xlim=SGqk$xlim, ylim=SGqk$ylim)<br /> dev.off()<br /> kmlOverlay(SGqk, paste(tf, ".kml", sep=""), paste(tf, ".png", sep=""))<br />参考:R-wiki(http://www.okada.jp.org/RWiki/index.php?GoogleEarth%A4%C8R)<br />
  23. 23. GISの医療政策への応用<br />患者の医療アクセスの解析<br />医療マーケティング<br />医療のアウトカムリサーチを行う際の交絡調整に。。<br />
  24. 24. 参考資料<br />書籍<br />地理空間データ分析 (Rで学ぶデータサイエンス 7) (谷村 晋 (著), 金 明哲 (編集) )<br />ホームページ<br />R-wiki(http://www.okada.jp.org/RWiki/index.php?GoogleEarth%A4%C8R)<br />CSVアドレスマッチングサービス(http://newspat.csis.u-tokyo.ac.jp/geocode/)<br />国土地理院(http://www.gsi.go.jp/kiban/index.html)<br />国土交通省(http://nlftp.mlit.go.jp/ksj/index.html)<br />ESRIジャパン(http://www.esrij.com/)<br />参考にさせて頂いたブログ<br />http://d.hatena.ne.jp/dichika/touch<br />http://d.hatena.ne.jp/isseing333/<br />

×