1900 年以降にフロリダと交差したハリケーン/熱帯暴風雨を示すマップの小さな倍数グリッドをプロットしようとしています。いくつかの空間クエリを使用して、このプロジェクトのすべての大西洋の暴風雨のデータベースをサブセット化しました。
私は現在、限られた数のハリケーン トラックのラインシェープファイルを、フロリダ州、隣接するいくつかの州、フロリダのいくつかの主要都市、そしてもちろんオキチョビー湖のポリゴンの上にプロットしています。簡単なコードは次のとおりです。
library(maptools)
library(gdata)
library(RColorBrewer)
setwd("~/hurricanes")
# read shapefiles
florida <- readShapePoly("florida.shp")
south <- readShapePoly("south.shp")
hurricanes <- readShapeLines("hurricanes-florida.shp")
cities <- readShapePoints("cities.shp")
lakes <- readShapePoly("lakes.shp")
# miami, orlando and tallahassee (in FL)
cities <- subset(cities, ST == "FL")
# don't need ALL the 'canes
hurricanes1900 <- subset(hurricanes, Season >= 1900)
mycolors <- brewer.pal(5, "YlOrRd")
pdf(file = "hurricanemaps.pdf", ,width=8,height=20)
par(mfrow=c(15,5), mar=c(1,1,1,1))
for(i in 1:nrow(hurricanes1900))
{
plot(south, col="#e6e6e6", border = "#999999")
plot(florida, col="#999999", border = "#999999", add = TRUE)
plot(lakes, col="#ffffff", border = "#999999", add = TRUE)
plot(cities, pch=10, cex=.1,col="#000000", bg="#e38d2c", lwd=1, add = TRUE)
plot(hurricanes1900[i,], col = mycolors[cut(hurricanes$MAX_Wind_W, breaks = 5)],
lwd=3, add = TRUE); title(hurricanes1900$Title[i])
}
dev.off()
私が遭遇している3つの大きな問題:
1) ループは、各嵐のマップを私に与えています。できればラベル付きで、各年 (嵐のない年でも) とその年のすべての嵐のグリッドにフロリダ/サウス マップをコードで作成することをお勧めします。
2) ループの特定の行だけでなく、すべての嵐の中で風速の色を設定したいと思います。そうすれば、強い嵐 (1992 年のアンドリューのような) は、その年の唯一の嵐であっても、より暗く表示されます。おそらく、それに応じてスタイルを設定できるカテゴリ (H1、H2 など) 変数を再コーディングすることで、これを解決できます。
3) No. 1 を把握できると仮定すると、各ストーム パスでラベルをレンダリングするのに問題があります。maptools のドキュメントは良くありません。
とにかく、ここまでの出力は次のとおりです (タイトルはシェープファイルの 2 つのフィールドを連結したものです)。
本当の問題はその 1 です。よろしくお願いします。