問題タブ [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でラスターを適切に投影してプロットする方法
等面積 Behrmann 投影のラスターがあり、それを Mollweide 投影とプロットに投影したいと考えています。
ただし、次のコードでこれを行うと、マップが横に伸び、予期しないさまざまな陸地の輪郭があるため、プロットが正しくないように見えます。また、マップはプロットを超えて広がっています窓。
これをうまくプロットするのを手伝ってくれる人はいますか?
ありがとう!
使用したデータファイルはこちらのリンクからダウンロードできます。
これが私がこれまでに持っているコードです:
r - ラスター値 NA の場合、最も近い非 NA ピクセルを検索して抽出します
ラスターの値をポイントに抽出すると、複数の があり、関数の引数をNA
使用するのではなくbuffer
、重複するポイントに最も近い非ピクセルを抽出したいと思います。fun
extract
NA
NA
私は基本的な抽出機能を使用しています:
r - ラスター ファイルを BIP として ENVI 形式に書き込む方法
いくつかの Landsat バンド/tiff ファイルをスタックして、ENVI 形式の BIP インターリーブに書き込みたいと考えています。ただし、バンドオーダーを BIP に変更しても、結果は常に BSQ になります。
以下は私のコードです:
これもうまくいきませんでした
任意の支援をいただければ幸いです。
r - R フォーカル (ラスター パッケージ): バックグラウンド データのサブセットにフィルターを適用する方法は?
R ラスター パッケージの focus() 関数を扱う次のタスクを手伝ってくれる人がいるかどうか疑問に思っていました。
デフォルトでは、focal() 関数は、指定されたラスター (以下、「背景」ラスター) の各セルを実行し、ユーザー定義の移動ウィンドウで定義されたように、指定された関数を隣接する値に適用します。大規模なラスター/調査エリアでの計算を最適化して高速化するために、「背景」ラスターに「移動」によってカバーされる範囲内にいくつかの値 (たとえば、ゼロより大きい) がある場合にのみ、この関数 (フィルター) を適用したいと思います。 window' を選択し、他のすべてのフォーカス セルをスキップします。このようにして、フィルターは必要のない焦点値の計算に時間を費やすことはありません。
再現可能な小さな例とインラインコメントの下:
望ましい結果を得るには、この関数をどのように変更すればよいですか?
r - netcdf ファイル全体のパーセンタイルの計算に失敗する
各ファイルに時間セクションのデータが含まれる 5 つの netcdf ファイルがあります。各セルのタイムスパン全体の 98 パーセンタイルを個別に計算したいと考えています。netcdf ファイルの累積ファイル サイズは約 250 MB です。
私のアプローチはこれです:
ただし、次のエラーが表示されます。
私のコードのスタック セクションは動作します。クラッシュは calc 関数の実行中に発生します。これがどこから来るのか、何か考えがありますか? おそらくデータが保存されている場所(メモリ/ディスク)の問題ですか?
raster - R のラスター上の PCA :Proportion Var はコンポーネント間で均等に分散されていますか?
いくつかの環境データ (climond) を使用して、35 ラスターで PCA を実行していました。すべて正常に動作し、R でこのコマンドを使用して、ラスター スタックで PCA を実行します。
すべてのラスターは問題ないように見えますが、各コンポーネントはまったく同じ比率の分散 (0.029) を説明しているため、最終的に合計すると 1 になります。最初の 3 つの pca などの結果に慣れているので、私にとっては少し奇妙です。軸は分散の 50% を説明し、残りのコンポーネントは分散の説明をますます少なくしています。私の結果は正しいですか、それともprinccompを変更する必要がありますか? それは次のようになります。
ただし、固有値 (またはここでは標準偏差) は減少しています。
関連する質問であることを願っています!答えてくれてありがとう。
r - 画像ラスター R パッケージ - 背景と境界線と凡例のないラスター印刷
以下の行に示すように、ラスター関数を使用しています。私の最後の行は、いくつかの出力を生成します。その出力には、という行がありますdimensions : 240, 320, 76800 (nrow, ncol, ncell)
。その画像を再印刷したいのですが、最初の 200 行と最初の 300 列だけと言います。どうやってやるの?下の最後から 2 番目の行は、イメージ全体をプロットします
=============================アップデート1
png(filename = '~/x.png');par(mar=rep(0, 4), xpd = TRUE, oma=rep(0, 4),bty='n') ; plot(r,xlim=c(0,200),ylim=c(0,200),legend=FALSE,axes=FALSE); dev.off()
トリミングした画像を保存しました。凡例と軸とブラック ボックスを取り除くことができました。しかし問題は、保存された画像にはトリミングされた部分よりもはるかに多くの部分が含まれていることです。たとえば、画像の周りの白い部分です。オリジナルのトリミングされた部分のみを保存したい (画像サイズは 200*200 ピクセルのまま)。その方法を教えてください。
さらに、上記のトリミングされた部分に対応する赤い正方形を元の画像に追加するにはどうすればよいですか? つまり、元の画像の上に赤い正方形 (エッジのみ) を取得し、これ (元の画像 + 正方形) を新しい画像として保存します。
どうすればそれができますか?
update2++++++++++++++++++++++++++++++++++++++++++++++++++
白い背景の意味を示すために繰り返し可能な例を追加する
下の最後の行は、トリミングされた画像をプロットします。xlim と ylim が 100 であるため、その画像を 100*100 にしたいのですが、下の例に示すように白い背景が表示されます。(背景は見えません。ただし、マシンでコードを実行して画像を開くと、背景が表示されます)
r - バイナリ非投影ラスターから占有面積を計算する
ヨーロッパとアフリカの種の有無を示す一連のバイナリ ラスター レイヤー (ASCII ファイル) があります。このファイルは、投影されていない緯度/経度 (WGS84) データに基づいています。私の目的は、R を使用してプレゼンス エリアを計算することです (ArcGIS にアクセスできません)。
ラスター パッケージに面積を計算する機能があることは知っていますが、これが投影されていないデータに対して正確ではないことが心配です。ラスター パッケージの cellStats 関数も調べました。これを使用して、占有されているセルの数を「合計」できますが、これには同じ問題があると感じています。
地球の曲率を考慮して、プレゼンス エリアを正確に計算する方法を知っている人はいますか?
ありがとう!