library(mapdata)
library(ggplot2)
library(gganimate)
#library(ggmap)
#プロットする範囲
lon1<- c(129.2554,139) ; lat1<-c(30.66521, 38.75755)
#
#あらかじめ作成していた震源データを読み込む
load("2015.RData")
eq2015<-subset(eqdata,lon1[1]-0.5<=longitude & longitude<=lon1[2]+0.5 & lat1[1]-0.5<=latitude & latitude<=lat1[2]+0.5)
#
load("japan1998_2014.RData")
eqdata<-subset(eqdata,lon1[1]-0.5<=longitude & longitude<=lon1[2]+0.5 & lat1[1]-0.5<=latitude & latitude<=lat1[2]+0.5)
eqdata<-rbind(eqdata[,-6],eq2015)
#重複した行を取り除く
eqdata<-unique(eqdata)
#
#M>=3、微小地震極微小地震で色を買えるので分類する
#極微小地震
eqdata1<-subset(eqdata,mag<1)
eqdata1$Magnitude<-"1 未満"
#微小地震 mag>=1 & mag<2
eqdata2<-subset(eqdata,mag>=1 & mag<2)
eqdata2$Magnitude<-"1以上2未満"
#微小地震 mag>=2 & mag<3
eqdata3<-subset(eqdata,mag>=2 & mag<3)
eqdata3$Magnitude<-"2以上3未満"
#M>=3 & M<4
eqdata4<-subset(eqdata,mag>=3 & mag<4)
eqdata4$Magnitude<-"3以上4未満"
#mag>=4 & mag<5
eqdata5<-subset(eqdata,mag>=4 & mag<5)
eqdata5$Magnitude<-"4以上5未満"
#(マグニチュードの昇順に並べ替え)
sortlist <- order(eqdata5$mag)
eqdata5<- eqdata5[sortlist,]
#mag>=5 & mag<6
eqdata6<-subset(eqdata,mag>=5 & mag<6)
eqdata6$Magnitude<-"5以上6未満"
#(マグニチュードの昇順に並べ替え)
sortlist <- order(eqdata6$mag)
eqdata6<- eqdata6[sortlist,]
#mag>=6
eqdata7<-subset(eqdata,mag>=6)
eqdata7$Magnitude<-"6以上"
#(マグニチュードの昇順に並べ替え)
sortlist <- order(eqdata7$mag)
eqdata7<- eqdata7[sortlist,]
#
head(eqdata1) ; tail(eqdata1)
head(eqdata2) ; tail(eqdata2)
head(eqdata3) ; tail(eqdata3)
head(eqdata4) ; tail(eqdata4)
head(eqdata5) ; tail(eqdata5)
head(eqdata6) ; tail(eqdata6)
head(eqdata7) ; tail(eqdata7)
#
#つなげる
eq<-rbind(eqdata1,eqdata2,eqdata3,eqdata4,eqdata5,eqdata6,eqdata7)
#
#震源の深さ
# depth<10km
eqdata1<-subset(eq,depth<10)
eqdata1$depth_rank<-" 10km 未満"
# 10<=depth<20
eqdata2<-subset(eq,depth>=10 & depth<20)
eqdata2$depth_rank<-" 10km以上20km未満"
# 20<=depth<40
eqdata3<-subset(eq,depth>=20 & depth<40)
eqdata3$depth_rank<-" 20km以上40km未満"
# 40<=depth<80
eqdata4<-subset(eq,depth>=40 & depth<80)
eqdata4$depth_rank<-" 40km以上80km未満"
# 80<=depth<150
eqdata5<-subset(eq,depth>=80 & depth<150)
eqdata5$depth_rank<-" 80km以上150km未満"
# 150<=depth
eqdata6<-subset(eq,depth>=150)
eqdata6$depth_rank<-"150km以上"
#
eq<-rbind(eqdata1,eqdata2,eqdata3,eqdata4,eqdata5,eqdata6)
#
jpn<-map("japan",xlim=c(lon1[1]-0.5,lon1[2]+0.5),ylim=c(lat1[1]-0.5,lat1[2]+0.5), plot = FALSE,fill=T)
#
p<-ggplot(jpn, aes(long, lat)) +
geom_polygon(aes(group = group),fill=rgb(0.8,0.2,0,alpha=0.5))+
coord_cartesian(xlim=c(lon1[1],lon1[2]),ylim=c(lat1[1],lat1[2])) +
geom_point(data=eq, aes(x=longitude, y=latitude,colour=Magnitude,size=mag, frame =depth_rank ),alpha=0.8,shape=20)+
#プロットする色を指定したい場合
scale_colour_manual(values=c("red","green","yellow","blue","gray50","gray20","black")) +
scale_size(range = c(0,1))+
guides(colour=FALSE,size=FALSE)
#
gg_animate(p, "japan_depth.gif", interval =2)