terra パッケージを使用して、ラスター ファイルから農薬散布を抽出します。抽出ステップでは、テラがいくつかの行を削除しているようです。この例では、次のように 19 個の警告があります。
最小/最大の計算に失敗しました。サンプリングで有効なピクセルが見つかりません。(GDAL エラー 1)
抽出ステップの後、残っている行が少なくなり、いくつかの行が削除されたようです。
このステップはラスターを使用してうまくいきました (ここからラスターを使用して殺虫剤の平均散布量と総散布量を計算しますが、数値は合計されません)、処理する必要があるファイルの量を考えると、残念ながら遅くなります。
このエラーの意味と解決方法はありますか?
コードは次のとおりです。
## Terra ----
data(wrld_simpl)
## Need to create a SparVector for terra
wrld_simpl = vect(wrld_simpl)
r <- terra::rast("https://raw.github.com/hansronald/Pesticide-data/master/APR_Soybean_Glyphosate_2015_L.tif")
## Remove
r <- terra::clamp(r, lower=0, values=FALSE)
# area is in ha (values in raster are kg / ha per year)
a <- terra::area(r, sum=FALSE, mask=TRUE) * 0.0001
## Get the total area that pesticide has been applied to
tot_area <- terra::extract(a, wrld_simpl, fun = sum, na.rm = TRUE)
## Calculate total application in each cell
rtot <- r * a
## Calculate total application in each country
tot_app <- terra::extract(rtot, wrld_simpl, fun = sum, na.rm = TRUE)
## Mean application rate in each country
mean_app <- terra::extract(r, wrld_simpl, fun = mean, na.rm = TRUE)
## Save data to corresponding country
world_data = data.frame(wrld_simpl$NAME, wrld_simpl$ISO3)
world_data = data.frame(world_data, mean_app, tot_app, tot_area)