問題タブ [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.

0 投票する
1 に答える
1341 参照

opengl-es - 2DタイルベースのエンジンでのOpenGLの動作:動作中のピクセルの「スナップ」、近似誤差?

この質問を読みやすくすることができるかどうか見てみましょう。

私はOpenGLESで2Dタイルベースのエンジンを作成しており、これを昔ながらのラスターエンジンのように見せることを目的としています。私のアートアセットはすべてネイティブ解像度(つまり、1:1ピクセルアート)で、長方形のポリゴンにマッピングされています。OpenGLビューは直交しており、長方形(0.0、0.0)から(screen.width、screen.height)にまたがっています。 )。これは、ディスプレイ上の各ピクセルがXY座標平面の「仮想」ピクセルの正方形に対応し、それがタイルの1つのピクセルに対応することを期待して行いました。(タイルは16.0 x 16.0で、私の世界の起源は明らかに[0.0,0.0]です。)

近似誤差のために、私のエンジンは「偽物」に見えると確信していました。たとえば、タイルピクセルがディスプレイに直接書き込まれていないため、誤ったピクセルがフェッチされることがあると思いました。また、タイルが実際のディスプレイピクセルと位置合わせされていない場合は、カメラの動きによってOpenGLが補間することも確信していました。

結局のところ、OpenGLはラスターエンジンとほぼ同じように動作します。カメラが静止しているとき、各仮想ピクセルはディスプレイ上のピクセルに完全に対応します。カメラが動いているとき、タイルは補間によってスムーズに移動するのではなく、一度に1ピクセルの行/列を「スナップ」します。(これは、モーションが非常に遅い場合でも発生します。)好奇心から、タイルを1.1倍にスケーリングしようとしましたが、予想どおり、タイルが濁って見え始め、スナップ動作が停止しました。それでは、OpenGLは、レンダリングするものがディスプレイに完全に位置合わせできるかどうかによって、動作が異なるというのは本当ですか?

仕様のどこでこれらの問題に関する情報を見つけることができますか?また、OpenGLがこのように動作し続けることをどのように保証できますか?動作は理論的にはいつでも変更される可能性があるため、私はよく理解していないデフォルトを使用することに不快感を覚えます。

ありがとうございました!

0 投票する
1 に答える
777 参照

r - foreach の謎のエラー

foreach への最初の進出で、次のエラーが発生しました。

ワーカーごとに 1 つ取得します。

doMC/multicore バックエンドを使用しています。

最初は、これは foreach 呼び出し内の関数が副作用としてコンソールに送信しようとしていたテキスト進行状況バーが原因だと思っていましたが、それをオフにしてもエラーが発生します。エラーにもかかわらず、評価は続行され、すべてのハムスターが実行されているように見えます。内部の関数は、library(raster) の reclass() calc() です。これが何を意味するのか、誰にも推測できますか?出力が有効かどうかを確認するのを待っている間に尋ねようと思いました。


アップデート

コードの核心は次のとおりです。

慣れていない場合はlibrary( raster)、地理空間ラスター データ セットをメモリに取り込まずにやり取りするための巧妙なメカニズムが提供されます。関数は、データをブロックごとに読み書きします。この場合、ワーカーはすべて同じソース データから読み取りますが、個別の出力ファイルに書き込みます。このファイル I/O が、上記で報告された (一見無害な) エラーと関係があるのだろうかと思います。


これで、期待どおりの新しいファイルがすべて吐き出されましたが、コンソールに次のように表示されます。

コアが静かであるという事実にもかかわらず、インタープリタープロンプトは再表示されません。ファイル I/O がうまくいかないというもう 1 つの手がかりだと思います。何かご意見は?

0 投票する
1 に答える
1661 参照

c# - byte[] .net Compact Framework からの生ピクセル データの高速表示

ラスターで遊んでいて、.net CF を使用してバイト [] を画面に描画する最速の方法を知りたいです。配列は標準の 24 ビット ラスター (Screen.Width * Screen.Height * 3 の長さ、RGB 順) であり、現在、配列を Bitmap オブジェクトに保存し、Graphics.DrawImage(bmp) を使用して画面に描画しています。方法。ビットマップを作成しなくても、これを行うには何らかの方法が必要だと思います。

私は C# を使用していますが、必要に応じてネイティブにすることもできます (可能であれば、P/Invokes を使用することをお勧めします)。

助けてくれてありがとう!

0 投票する
1 に答える
842 参照

r - ポリゴンを使用してレンガをカットするには?

私は bioclim 変数のブリック ファイルを持っています。ブリックは 4 つの 30 秒タイル ブリックからマージされたので、少し大きくなっています。ポリゴンを境界にして研究領域のブリックファイルを切り取りたいです。私は何をすべきか?そうでなくて、ブリックでは無理ならラスターでもできるのでしょうか?

よろしくお願いします〜

マルコ

0 投票する
2 に答える
2614 参照

r - dismo パッケージを使用して生物気候変数を作成する際の問題

種分布モデリングの将来のシナリオのすべての生物気候変数を取得したいと思います。そこで、worldclim データベースの 3 つの変数を使用して「dismo」パッケージで「biovars」関数を実行し、12 層の RasterBrick を取得しました。

ただし、19 個の bioclim 変数が必要であると考えました。あなたが言ったように、そこ以外の生物型にはもっと多くの議論がありますが、私はそれらが何であるかわかりません. 手伝ってくれませんか?

これのもう 1 つの問題は、これらの変数の書き込みでエラーが発生したことです。

dim(res) のエラー <- c(ncols, raster@data@nlayers * nrows) : dims [製品 933120] がオブジェクトの長さと一致しません [889920]

そして、それらをバンドごとに書き込もうとすると、次のエラーが発生しました。

result[, i] のエラー <- readBin(raster@file@con, what = dtype, n = ncols, : 置換の長さはゼロ

3 つの入力変数の次元は同じです。たとえば、次のようになります。

誰でも理由を説明できますか?よろしくお願いします〜

0 投票する
3 に答える
1392 参照

r - R ラスター パッケージのバンドの交差

入力ラスターは複数のレイヤーで構成されており、それぞれのレイヤーにはデータ値が含まれていない画像領域があります。これらのレイヤーは完全には重なっておらず、すべてのバンドの交点 (どのレイヤーにも NoData 値がないゾーン) のみで構成されるファイルを出力しようとしています。

以下はいくつかのレイヤーで機能しますが、実際のファイルにある 50 以上 (少なくとも 3000x3000 ピクセル) では機能しません。

これをより効率的に行う/多数のレイヤーで動作させる方法についてのアイデアはありますか?

0 投票する
2 に答える
5497 参照

python - matplotlibで図をラスター画像としてPDFに保存する方法

matplotlibを使用して作成された複雑なグラフがいくつかあります。savefigコマンドを使用してPDFに保存するには、ベクター形式が使用され、PDFを開くには時間がかかります。この問題を回避するために、図をラスター画像としてpdfに保存する方法はありますか?

0 投票する
4 に答える
3049 参照

r - Rラスターパッケージのオーバーラップゾーンの識別

パッケージ:

データ:

  • 10バンドのrasterStack。
  • 各バンドには、NAで囲まれた画像領域が含まれています
  • バンドは論理的です。つまり、画像データの場合は「1」、周辺領域の場合は「0」/NAです。
  • ほとんどのバンドには部分的なオーバーラップがありますが、各バンドの「画像領域」は互いに完全に整列していません。

目的:

  • 各「ゾーン」のrasterLayerまたはセル番号のいずれかを返すことができる高速関数を記述します。たとえば、バンド1と2からのデータのみを含むピクセルはゾーン1に分類され、バンド3と4からのデータのみを含むピクセルはゾーン2に分類されます。 、など。rasterLayerが返された場合、後でゾーン値をバンド番号と一致させることができる必要があります。

最初の試み:

現在の関数の実行には非常に長い時間がかかります。もっと良い方法を考えられますか?各ピクセルにデータがあるバンドの数を知りたいだけでなく、どのバンドも知りたいことに注意してください。これの目的は、後で異なる領域を異なる方法で処理することです。

また、実際のシナリオは3000 x 3000以上のラスターであり、10バンドを超える可能性があることにも注意してください。


編集

10個のオフセット画像領域で構成されるサンプルデータ:

サンプルデータがどのように見えるかを示す

0 投票する
2 に答える
724 参照

image - WindowsPhone7でキャンバスのラスターを作成する方法

Windows Phone 7でキャンバスのラスターイメージを作成する方法を探しています。イメージを保存するか、共有できるようにしたい(MMS、電子メールなど)。私はC#とSilverlightについて学び始めたばかりなので、これは私にとって未知の海です。

ありがとう、Doc Haven

0 投票する
1 に答える
604 参照

java - 16 ビット (565) 画像読み取り

画像バイト配列を読み取っていますが、画像は 16 ビット (r: 5、g: 6、b: 5) であり、BufferedImage に読み取りたいと考えています。

私は次のようなことを試しました:

私の問題は bandOffsets にあります。16 ビット イメージにどのように設定すればよいですか。それは正しい方法ですか?みんなありがとう