問題タブ [terra]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - terra パッケージを使用して、ラスター スタックから抽出された値を空間オブジェクトの data.frame に追加する方法は?
terra
パッケージを使用して、ラスター スタックから抽出した値を Spatial オブジェクトの data.frame に追加したい
出力ファイルからわかるように、以前はパッケージの引数val
を使用して取得していたものはありません。抽出されたdata.frameにフィールドを追加するにはどうすればよいですか?sp
raster
val
r - R Terra パッケージ エラー:[area] area(x, sum=FALSE) は削除されます。「cellSize(x)」を使用
次の質問に対する回答を複製しようとしていますが、R Terra area コマンドでエラーが発生しています。
平射極図法を使用して衛星データからグリッド セル領域を推定する
私が実行している正確なコードは次のとおりです。
印刷 r 収量
area() コマンドの行に次のエラーが表示されます。
デフォルトの R インスタンスでこれを試し、クリーンなインスタンスを最初からセットアップしました。両方のインストールで同じエラーが発生します。どちらのシステムも macOS です。area コマンドを cellSize コマンドに変更しようとすると、R が完全に終了して再起動します。
各セットアップの sessionInfo() は次のとおりです。
システム 2: MacOS Big Sur のクリーン インストール
システム 1: macOS Catalina
r - R の 150 GB 以上のラスター タイルでのゾーン統計の計算速度の向上 (terra パッケージおよび vrt)
私は R で作業しています。Google Earth Engine (NAIP 2018 NDVI) からダウンロードした解像度 60cm のラスター (.tif) タイルのディレクトリがあります。(ポリゴン データには人間を対象とする必要があるため、Google Earth Engine ではなく PC で解析を実行しています。) 52 個のタイルのサイズはそれぞれ 1.2 ~ 3.8 GB です。また、これらのラスターからゾーン平均を計算しようとしている 982 個のポリゴンもあります。私のコード (以下) は terra パッケージを使用しており、タイルを非常に大きな特異なラスターにモザイク化する代わりに、VRT (仮想ラスター) ファイルを作成することを選択しました。
このコードを Xeon Gold 6134 @ 3.2GHZ で実行しており、128GB の RAM を搭載しています。terraOptions() を何に設定しても、R はプロセッサまたは RAM の潜在能力のかなりの部分を使用することさえできません。
このコードでは、982 個のポリゴンすべてを実行するのに 11.8 日かかります。まだ試していないかもしれない特定のトリック/ツールを誰かが教えてくれたら、非常にありがたいです (たとえば、すべての terraOptions で作業してみました。raster パッケージと exact_extract パッケージを試しましたexact_extract()
。 SpatRaster/VRT とsf
ポリゴン オブジェクトを入力として使用しているので、うまくいきません。非常に大きな特異なラスターをモザイク化するのを避けるためです。)
ありがとうございました。(データが大きすぎるか、人間の被験者に関連しているため、データを共有できないことをお詫びします...)ループされていないコードは次のとおりです。
編集:それぞれ1.2〜3.8GBの52タイル。150GB の総ディレクトリ サイズという最初の見積もりは、ArcGIS で圧縮されたサイズであったため、正しくありませんでした。
show(ras) は以下を生成します:
r - R terra 抽出で xy=TRUE を使用する
そのピクセル内にあるポイントを持つピクセルの重心の座標を抽出しようとしています。ここに再現可能な例があります
抽出された xy 座標は元の座標からわずかにずれているだけだと思いますが、代わりに値がすべて混同されているようです。コードに間違いがありますか、またはこれらの値を取得する別の方法はありますか?
overlay - terra パッケージを使用した SpatRaster とベクトル間の数学演算
app()
家族の機能について簡単な質問があります
(n 個の値の) ベクトルをラスターで除算し、n 個の結果のラスターを取得したい
同じことが SpatRasterDataset で行われることを知りたいです。それは可能ですか?
次に例を示します。