RとGoogle Earthを連携させることができるらしい.
検索してみると,縫村氏の「RとGoogle Earth を使った空間情報の可視化」と題したスライド資料を発見.
スライド資料ではRを使ってアメリカ地質調査所(USGS)の地震動データ(CSV)からKMLファイルを作成するやり方が紹介されていた.
こりゃ面白そうということで早速トライ.
DataFrameをSpatialPointsDataFrameに変換するところでハマったけど,proj4string(qk)<-CRS("+init=epsg:4326")とすることで解決.
無事,作成したKMLファイルをGoogle Earthに読み込ませることができました.
ちょっと見にくいけど,地震の発生箇所に目印が表示されています.
検索してみると,縫村氏の「RとGoogle Earth を使った空間情報の可視化」と題したスライド資料を発見.
スライド資料ではRを使ってアメリカ地質調査所(USGS)の地震動データ(CSV)からKMLファイルを作成するやり方が紹介されていた.
こりゃ面白そうということで早速トライ.
DataFrameをSpatialPointsDataFrameに変換するところでハマったけど,proj4string(qk)<-CRS("+init=epsg:4326")とすることで解決.
無事,作成したKMLファイルをGoogle Earthに読み込ませることができました.
ちょっと見にくいけど,地震の発生箇所に目印が表示されています.
うーん.こんなことが簡単にできてしまうなんてよい世の中になったものです.
Google Earthの使い方がわかってきました.こりゃ迫力あるわー.
Rのコンソール出力は以下のとおり.
Google Earthの使い方がわかってきました.こりゃ迫力あるわー.
Rのコンソール出力は以下のとおり.
> library(sp) > library(rgdal) > qk<-read.csv("http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/2.5_day.csv") > head(qk) time latitude longitude depth mag magType nst gap 1 2013-05-31T13:40:41.000Z 60.6428 -147.5946 3.60 3.4 Ml NA NA 2 2013-05-31T13:40:28.000Z 61.5455 -148.6714 28.50 2.9 Ml NA NA 3 2013-05-31T13:25:55.190Z -28.2755 -178.6027 262.93 5.2 mb 46 66.0 4 2013-05-31T13:24:51.800Z 33.6878 -119.1308 0.40 3.1 Ml 24 75.6 5 2013-05-31T13:06:50.150Z -20.3071 169.0243 34.03 5.1 mb 57 53.0 6 2013-05-31T11:32:41.100Z 40.1692 -121.1097 0.00 3.1 Md NA 46.8 dmin rms net id updated 1 NA 1.02 ak ak10727802 2013-05-31T13:49:58.971Z 2 NA 1.12 ak ak10727799 2013-05-31T13:48:21.339Z 3 1.1300000 0.94 us usb000hacp 2013-05-31T13:50:51.623Z 4 0.2245788 0.23 ci ci15352009 2013-05-31T13:32:07.619Z 5 2.7200000 1.25 us usb000hacc 2013-05-31T13:42:49.516Z 6 0.2155957 0.38 nc nc72003416 2013-05-31T13:15:16.232Z > coordinates(qk)<-c("latitude","longitude") > class(qk) [1] "SpatialPointsDataFrame" attr(,"package") [1] "sp" > summary(qk) Object of class SpatialPointsDataFrame Coordinates: min max longitude -178.6027 169.0243 latitude -28.2755 66.2616 Is projected: NA proj4string : [NA] Number of points: 33 Data attributes: time depth mag 2013-05-30T14:09:44.000Z: 1 Min. : 0.00 Min. :2.500 2013-05-30T14:38:25.650Z: 1 1st Qu.: 10.00 1st Qu.:3.000 2013-05-30T14:54:01.000Z: 1 Median : 28.50 Median :3.300 2013-05-30T17:46:40.000Z: 1 Mean : 46.29 Mean :3.739 2013-05-30T18:37:00.620Z: 1 3rd Qu.: 67.70 3rd Qu.:4.600 2013-05-30T20:41:29.000Z: 1 Max. :262.93 Max. :5.300 (Other) :27 magType nst gap dmin mb :13 Min. : 5.00 Min. : 33.0 Min. : 0.01797 mb_Lg: 1 1st Qu.: 16.00 1st Qu.: 75.6 1st Qu.: 0.73033 Md : 6 Median : 28.00 Median :109.0 Median : 1.21000 Ml :12 Mean : 36.15 Mean :136.1 Mean : 3.43408 Mw : 1 3rd Qu.: 46.50 3rd Qu.:174.1 3rd Qu.: 2.47250 Max. :109.00 Max. :324.0 Max. :32.25000 NA's :13 NA's :9 NA's :9 rms net id updated Min. :0.1200 ak: 9 ak10726951: 1 2013-05-30T14:22:58.908Z: 1 1st Qu.:0.3100 ci: 1 ak10727009: 1 2013-05-30T16:41:03.895Z: 1 Median :0.8200 hv: 1 ak10727095: 1 2013-05-30T16:56:39.447Z: 1 Mean :0.7391 nc: 3 ak10727182: 1 2013-05-30T18:00:03.809Z: 1 3rd Qu.:1.0200 pr: 5 ak10727211: 1 2013-05-30T20:39:31.117Z: 1 Max. :1.2900 us:14 ak10727538: 1 2013-05-30T22:47:39.888Z: 1 (Other) :27 (Other) :27 > proj4string(qk)<-CRS("+init=epsg:4326") > summary(qk) Object of class SpatialPointsDataFrame Coordinates: min max longitude -178.6027 169.0243 latitude -28.2755 66.2616 Is projected: FALSE proj4string : [+init=epsg:4326 +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0] Number of points: 33 Data attributes: time depth mag 2013-05-30T14:09:44.000Z: 1 Min. : 0.00 Min. :2.500 2013-05-30T14:38:25.650Z: 1 1st Qu.: 10.00 1st Qu.:3.000 2013-05-30T14:54:01.000Z: 1 Median : 28.50 Median :3.300 2013-05-30T17:46:40.000Z: 1 Mean : 46.29 Mean :3.739 2013-05-30T18:37:00.620Z: 1 3rd Qu.: 67.70 3rd Qu.:4.600 2013-05-30T20:41:29.000Z: 1 Max. :262.93 Max. :5.300 (Other) :27 magType nst gap dmin mb :13 Min. : 5.00 Min. : 33.0 Min. : 0.01797 mb_Lg: 1 1st Qu.: 16.00 1st Qu.: 75.6 1st Qu.: 0.73033 Md : 6 Median : 28.00 Median :109.0 Median : 1.21000 Ml :12 Mean : 36.15 Mean :136.1 Mean : 3.43408 Mw : 1 3rd Qu.: 46.50 3rd Qu.:174.1 3rd Qu.: 2.47250 Max. :109.00 Max. :324.0 Max. :32.25000 NA's :13 NA's :9 NA's :9 rms net id updated Min. :0.1200 ak: 9 ak10726951: 1 2013-05-30T14:22:58.908Z: 1 1st Qu.:0.3100 ci: 1 ak10727009: 1 2013-05-30T16:41:03.895Z: 1 Median :0.8200 hv: 1 ak10727095: 1 2013-05-30T16:56:39.447Z: 1 Mean :0.7391 nc: 3 ak10727182: 1 2013-05-30T18:00:03.809Z: 1 3rd Qu.:1.0200 pr: 5 ak10727211: 1 2013-05-30T20:39:31.117Z: 1 Max. :1.2900 us:14 ak10727538: 1 2013-05-30T22:47:39.888Z: 1 (Other) :27 (Other) :27 > writeOGR(qk, dsn="qk.kml", layer="sample", driver="KML")