Bir Vektör Bölgesi'ni ÇİM ile dolduran bir boustrophedon deseni oluşturmak mümkün müdür?


21

Bir Vektör Bölgesi'ni ÇİM ile dolduran bir boustrophedon deseni oluşturmak mümkün müdür?

GRASS'da bir vektör bölgem var. Ve bu bölgeyi dolduran bostrophedon modeli olan bir vektör (bir çoklu çizgi) oluşturmak istiyorum.

Resimde, "gri" alana sahip oldum ve kırmızı polyline'ı otomatik olarak üretmek istiyorum.

GRASS veya başka bir GIS aracıyla mümkün mü?

görüntü tanımını buraya girin

Mükemmel bir dünyada, işlev aşağıdaki argümanları alacaktır:

  • Bir başlangıç ​​noktası (bölgede herhangi bir yerde olması gereken)
  • İki paralellik çizgisi arasındaki mesafe
  • Bir yön (deseni çizmeye yardımcı olacak bir vektör)

İlginç soru. Başlangıç ​​noktasını nasıl belirlersiniz? "Sol Üst" örneğinizde olduğu gibi her zaman hoş bir köşe noktasıyla ilişkili olmayabilir.
Darren Cope

Ben soruya yorumunuzu cevapladı
Adrien BARRAL

1
Muhtemelen bir şey PyGRASS kullanılarak pişirilebilir: grass.osgeo.org/grass70/manuals/libpython/pygrass_index.html
markusN

İstenilen çıktı, üzerine çizilen çizgileri içeren bir görüntü mü yoksa gerçekten bir tarlayı en verimli şekilde sürmek için bir traktöre verilebilecek bazı koordinatların çıktısından sonra mısınız?
nmtoken

Yanıtlar:


2

Böyle bir fonksiyonun nasıl oluşturulacağı hakkında hiçbir fikrim yok, ancak gerçekleştirilecek adımlar olabilir

  1. İstediğiniz azimut ile bir çizgi çizin ve çokgen tamamen kaplanacak şekilde ofsetli yeni çizgiler oluşturun.

Satır alanı oluşturuldu

  1. Çokgen sınır ve boustrophedon arasındaki boşluğu tanımlamak için çokgen Tampon. Çizgileri, tamponlanmış poligonun sınırlarında kesin ve iç kısımları tutun.

Tamponlu poligon ile kesilmiş çizgi alanı

  1. Çizgilerin bitiş ve başlama noktalarını doğru sırayla bağlayın.

Hazır boustrophedon desen


1
Aynı şeyi denedim, burada bir şeylerin olduğunu düşünüyorum. Adım 1 ve 2 oldukça kolaydır - ya da alay edilebilir. Aşama 3 daha zordur .. Postgis'te st_intersection()paralel çizgiler / iç tamponu temsil eden noktaları iç tampon ST_LineLocatePoint()boyunca değerleri ile sıralamak ve alternatif çiftleri birleştirmek mümkündür.
Steven Kay

1
Poligonun sınırı iç köşelere sahipse veya sivri uçlar varsa, bitiş ile başlangıç ​​noktalarını birleştiren çizgiler sınırı kesebilir. Kesişme olup olmadığını test etmek zor değildir, ancak böyle bir durumda çizgiyi çizmenin doğru yolu nedir ve otomatik olarak nasıl yapılır? Genel bir çözüm bulmak kolay olmayabilir.
user30184

haklısın, doğru tarifler almak zor olacak. Ayrıca, bu yaklaşımın u şeklindeki alanlar, örneğin u biçimli alanlar veya delikli alanlar olacağından şüpheleniniz :)
Steven Kay
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.