1.質問
RのラスターパッケージでprojectRaster()関数を使用して警告が発生しました。完全に再現可能な例を以下に貼り付けます。
Warning message:
In rgdal::rawTransform(projto_int, projfrom, nrow(xy), xy[, 1], :
33940 projected point(s) not finite
私の質問は次のとおりです。このデータは、地上データで作業している場合に修正する必要がある問題ですか?つまり、データは「失われた」ということです。もしそうなら、これは私にとって大きな問題になるでしょう。もしそうなら、私がそれを修正できる方法があるかどうか知っていますか?
私はこの問題の解決策をオンラインで検索したところ、ここ、ここ、およびここにいくつかの言及が見つかりましたが、この問題に対する適切な答えを提供するものはないと思います。
2.ラスターライブラリを読み込む
library(raster)
3.まず、各グリッドセルに定数を使用して、世界の(長緯度)マップを作成します
各グリッドセルに定数を配置して、警告がデータに影響する可能性がある場合の問題を診断できるかどうかを確認しています。
rastertest.longlat<-raster(ncol=360, nrow=180)
values(rastertest.longlat)<-c(rep(1,n=180*360))
4.(長緯度)マップを等面積グリッドに再投影すると、警告メッセージが表示されます
rastertest.eck4<-projectRaster(rastertest.longlat, res=c(100000,100000), crs="+proj=eck4",method="ngb", over=T)
Warning message:
In rgdal::rawTransform(projto_int, projfrom, nrow(xy), xy[, 1], :
33940 projected point(s) not finite
このメッセージは基本的に、一部のグリッドセルで再投影が失敗したことを示していると思います。
5.しかし、2つのマップをプロットした場合、この警告はデータに問題を引き起こすようには見えません
つまり、プロットされたデータに白いギャップはありません。私の推測では、失われた細胞は非地球上の細胞であり、世界の最上部と最果てです。何か案は?
par(mfrow=c(2,1))
plot(rastertest.longlat, col="blue")
data(wrld_simpl)
wrld <- spTransform(wrld_simpl, CRS('+proj=longlat'))
plot(wrld, add=TRUE)
plot(rastertest.eck4, col="blue")
wrld <- spTransform(wrld_simpl, CRS('+proj=eck4'))
plot(wrld, add=TRUE)