問題タブ [r-raster]
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 - サンプルをグリッド スクエアで要約する
R で試してみたい特定のタスクが割り当てられました。インポートするシェープファイル (SpatialPoints df) は、いくつかの属性で構成されていますが、最も重要なのは、特定のポイント座標 (緯度/経度) の商用キャッチ ウェイトです。
次のスクリプトが必要です。
1) グリッドを作成します (サイズと単位を変更できます) 2) インポートしたファイルと交差して、サンプル (平均値、標準偏差、範囲など) をグリッドの正方形で要約します。
私は ArcGIS を介してこれを行うことができますが、グリッド サイズを変更しやすく、R を介して再利用可能なアルゴリズムを持つことに興味があります。以下は、使用されているデータの短い例です。
誰でもこれを行う方法を知っていますか?
r - 複数のバンドを持つ R クリップ ラスター
4 つのバンドを持つ画像のサブセットを作成したいと考えています。したがって、R でクロップ機能を使用しています。
その結果、.tif ファイルにバンドが 1 つしかないラスターが得られます。4 バンドのサブセット イメージを取得するには、他のオプションを定義する必要がありますか?
r - Rでポリゴンを組み合わせてその面積(つまりセルの数)を計算する
私は単純なラスターを持っています(Rパッケージで作成された:ラスター)。関数 "rasterToPolygons" を使用して、値 "1" を含むすべてのラスター セルのポリゴンを取得します。
すべてのポリゴンが 1 つの大きなポリゴンにマージされるのを避けるために、「dissolve = T」は使用しません。代わりに、エッジまたはポイントを共有するすべてのポリゴンが結合された新しい SpatialPolygonsDataFrame を取得したいと考えています。明確に分離されたポリゴンは、個々のポリゴンとして識別できる必要があります。新しい SpatialPolygonsDataFrame に基づいて、結合されたポリゴンのサイズを次のように分析したいと思います。
私の質問は 2 つあります。1) エッジまたはポイントを共有するポリゴンを結合する方法は? 2) 結合されたポリゴンの領域を分析できる形式にこの情報を取得する方法は? フィードバックをお寄せいただきありがとうございます。
r - 小さなポリゴンとラスターで R での抽出が失敗する
この例は再現可能で、最初の部分 (大きなポリゴンを含む) は機能しますが、2 番目の部分は失敗します。
わーい!はい、大丈夫ですよね?小さなポリゴンで:
エラーで失敗します:
pmax(ceiling(10/dim(r)[1:2]), c(1, 1)) のエラー: オブジェクト 'r' が見つかりません
r - プロットでラスター値にラベルを付ける方法は?
プロットにピクセル値を追加するにはどうすればよいですか? を使用して値を取得できますがclick()
、プロットに表示したいです。
r - R におけるマトリックスとラスターの相対的な計算負荷
大規模なラスターから作成したマトリックスが、親よりも 35,000 倍も多くのメモリを占有していることを発見して驚いています。このコードは次のことを示しています。
object.size(region_utm)
特に 87% (46m) が一意の値であるため ( によると)、12,128 バイトでは 53m の値を含めるには、因数分解しても不十分であるため、確かに非常に過小評価されていますlength(unique(region_utm))
。現実的なメモリの見積もりを取得する方法がわからない..
ただし、ラスターをプロットする方が、マトリックスを操作するよりもはるかに高速です。しかし、行列は、空間データ スロットのないラスターとほぼ同等であると常に考えてきましたが、これらのデータ構造の重要な違いを見落としているに違いありません。このメモリの不均衡を説明できる理由を明確にしてくれてありがとう。私はマトリックス ワークフローをかなり使用しており、その制限を理解する必要があります。
編集:str()
レポートのリクエストを予想して:
r - R のラスター パッケージがシェープファイルをラスター化しない
R でラスター パッケージを使用してシェープファイルをラスタライズできません。以前の投稿 (「R でラスター パッケージを使用してレイヤーをラスタライズしない」、2013 年 6 月 30 日) のコードとヒントに従いました。しかし、それでも同じエラーが発生します」スロットのない基本クラス ("NULL") のオブジェクトからスロット "coords" を取得しようとしています". これは以前の投稿とは別の問題ですか? どうもありがとうございました!
r - RasterBrick をループして、シーケンシャル レイヤー間の差異を計算します。
RasterBrick
各時間間隔 (不規則) でバイオマスを表す時系列のラスター レイヤーを含む大きなオブジェクトがあります。私が必要としているのは、2 つの連続した期間の間のバイオマスの差の時系列です ( difference in biomass = current biomass layer - last weeks biomass layer
)。私の考えでは、ループまたは適用関数の 1 つを使用して、時系列の前の関数と減算の関数RasterBrick
をそれぞれ適用します。RasterLayer
はRasterBrick
順序付けられているため、実際のタイム スタンプは必ずしも重要ではありません。例を見つけようとしましたが、進歩に失敗しました。任意のポインターは非常に高く評価されます。
以下に私の状況の簡単な例を示します。
RasterStack への 10 個のラスタ レイヤのランダム セット
今RasterBrick
、結果を含む9つのレイヤーが必要です
バイオマスの差 = 現在のバイオマス層 - 先週のバイオマス層。