私は、以下の画像のような値のラスタグリッドを持っています(白は高い値、黒の背景値はゼロ)。私はラインのうちの1つの端部で始まり、(可能な限り最高の値を経由、もう一方の端にトレースするパス次のコードのいくつかの種類を記述しようとしているアルゴリズムに従うラスタパス
つまり、ライン内にあるように選択されたピクセルはより白くなりますが、もう一方の端にはまだ行きます)。
私はしばらくの間、これで苦労してきた、と私は仕事にしようと何かを得るように見えることはできません。だから私は疑問に思っています、この種の問題のためにジェネリックアルゴリズムがすでに開発されていますか?私は多くの検索をしましたが、ほとんどのパスアルゴリズムは、このようなラスターグリッドではなく、ベクトル/ネットワークで動作するように設計されているようです。
アイデア?
を埋めます何度もラスターデータ用に開発されました。たとえば、Rではgdistanceパッケージを使用できます。 – RobertH
ありがとう@RobertH - これは便利なパッケージのようです。私がまだ苦労しているのは、ラインの始点と終点がどこにあるのかを必ずしも知る必要がないときにこれを行う方法です。つまり、ラインの終点を認識する必要があります。あなたがそれについて考えているなら、私に知らせてください。 – robintw
おそらく、白が250より大きい値であると仮定すると、 'r < - raster( 'file'); start < - which(r [1、]> 250); (r [n](r)、]> 250) 'xyFromCell(r、start)'のように座標を計算することができます。 – RobertH