GRASSでベクトル領域を埋めるBoustrophedonパターンを生成することは可能ですか?


21

GRASSでベクトル領域を埋めるBoustrophedonパターンを生成することは可能ですか?

GRASSにベクター領域があります。そして、私はこの領域を埋めるボストロフェドンパターンであるベクトル(ポリライン)を生成したいと思います。

下の画像には「グレー」領域があり、赤いポリラインを自動的に生成したいと思います。

GRASSや他のGISツールで可能ですか?

ここに画像の説明を入力してください

完全な世界では、関数は次の引数を取ります。

  • 出発点(エリア内のどこかにある必要があります)
  • 2本の平行線間の距離
  • 方向(パターンを描くのに役立つベクトル)

興味深い質問。開始点をどのように決定しますか?「左上」は、あなたの例のように、常に素敵なコーナーポイントに関連するとは限りません。
ダレンコープ

私は質問であなたのコメントに答えた
エイドリアンBARRAL

1
おそらく、PyGRASSを使用して何かを作成できます。grass.osgeo.org/ grass70
manuals/

必要な出力は、線が描かれた画像だけですか、それとも、トラクターを最も効率的に耕すためにトラクターに与えることができる座標の出力の後ですか?
nmtoken

回答:


2

私はそのような機能をどのように構築するのかわからないが、実行するステップは

  1. 目的の方位角で1本の線を描画し、オフセットで新しい線を作成して、ポリゴンが完全に覆われるようにします。

作成された行フィールド

  1. 多角形の境界とBoustrophedonの間のギャップを定義するために多角形をバッファリングします。バッファリングされたポリゴンの境界でラインをカットし、内部部品を保持します。

バッファリングされたポリゴンでカットされたラインフィールド

  1. 行の終点と始点を正しい順序で接続します。

準備ができたBoustrophedonパターン


1
私は同じことを試みました、私はあなたがここに何かにいると思います。ステップ1と2は非常に簡単です-またはモックアップできます。ステップ3はより複雑です。.ポストギスst_intersection()では、平行線/内部バッファーのST_LineLocatePoint()値を内部バッファーに沿った値でソートし、代替ペアを結合することが可能です。
スティーブンケイ

1
ポリゴンの境界に内角またはスパイクがある場合、終了点と開始点を結ぶ線が境界と交差する場合があります。交差が発生するかどうかをテストすることは難しくありませんが、そのような場合にラインストリングを描く正しい方法は何ですか?また、それを自動的に作成する方法は何ですか?一般的な解決策を見つけるのは簡単ではないかもしれません。
user30184

あなたは正しい、正しい道順を得るのは難しいだろう。また、このアプローチには、U字型フィールドや穴のあるフィールドなどのエッジケースがあると思われます:)
スティーブンケイ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.