2

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)
4

1 に答える 1