私はRが初めてで、ラスターパッケージを使用しています。既存のラスターファイルからポリゴンを抽出する際に問題があります。私が使用する場合
extract(raster, poly_shape)
ラスター上の関数は、常にデータを含むリストを作成します。本当に欲しいのは、ArcGISで再びロードできる別のラスタファイルを抽出することです。もう少し読んだ後、クロップ機能が本当に必要だと思います。しかし、この機能を使用しようとすると
crop(raster, poly_shape)
私はこのエラーを受け取ります:
Error in .local(x, y, ...) : extents do not overlap
In addition: Warning message:
In intersect(extent(x), extent(y)) : Objects do not overlap
ファイルrasterとpoly_shapeは、両方の関数で同じです。ここで何が間違っているのか教えてもらえますか?トリミング機能がリストではなく別のラスターを作成するのは正しいですか?
編集:extent()関数は私のために動作しません。それでも同じエラーが発生します。しかし、2つのデータセットは重複していると確信しています!とともに
extract(raster, poly_shape)
適切なデータを取得します。ただのリストとしてであり、私が望んでいるようなラスターとしてではありません。前にArcGISにデータセットを読み込んだところ、非常にうまく収まるため、投影を確認しませんでした。今私は試した
projection(raster) # "+proj=laea +lat_0=52 +lon_0=10 +x_0=4321000 +y_0=3210000 +ellps=GRS80 +units=m +no_defs"
projection(poly_shape) # "+proj=utm +zone=32 +ellps=GRS80 +units=m +no_defs"
投影が収まらないことがわかります。抽出機能は、正しい方法でファイルを自動的に変換できるようです。私は次のことをしたのでそれを知っています:
- ArcGISでもRで抽出したポリゴンの正確な部分を切り取ります
- 抽出されたRポリゴン(リスト)のすべての値の合計を計算しました
- ArcGISで切り取ったすべてのラスターセルの合計を計算しました
2つはまったく同じ結果なので、結論は、抽出関数が正しく機能したということです。今、私は私が推測する2つのオプションがあります:
- 抽出したリストからラスターを再度取得する方法が必要です
- 2つのデータセット(ラスター+ poly_shape)は同じ投影法を使用する必要があり、トリミング機能が機能するはずです
ここで何をすることを提案しますか?