QGIS'de etki alanları nasıl hesaplanır?


10

En yakın mağazaya karşılık gelen çokgenler gösteren bir çokgen katmanı oluşturmaya çalışıyorum.

30 mağaza konumu kümesi için sonuç, her mağaza için bir tane olmak üzere 30 özelliğe sahip çokgen bir katman olmalıdır. Her özellik, karşılık gelen mağazanın en yakın olduğu alanı temsil eder. Örneğin, çokgen 12 içindeki bir adres 12 deposunun en yakın olduğu anlamına gelir.

Mağaza konum katmanım ve maksimum hız sütunu ile OSM sokak katmanım var. Ortaya çıkan çokgen katman, yalnızca doğrusal alanları değil, OSM sokak katmanını temel almalıdır.

Fikir, sabit bir mağaza ve yol seti göz önüne alındığında, en yakın mağazanın harita üzerinde herhangi bir noktada sabit kalması gerektiğidir. Böylece, ortaya çıkan poligon tabakasının boşluksuz olmasını umuyorum.

Maptitude yazılımının bu videosu, gerçekleştirmeye çalıştığım şeyin mükemmel bir örneğini sunuyor (videonun 1:55'ine hızlı ileri sar). Alternatif olarak, bir örnek için aşağıdaki resme bakın:

Hastaneye En Yakın Maptitude Alanları

Her hastane için, o bölgedeki herhangi bir şeyin o bölgedeki hastaneye en yakın olduğu karşılık gelen bir alan vardır.

QGIS kullanarak bunu nasıl çoğaltabilirim?

Yanıtlar:


8

v.net.alloc çim algoritması alt ağları üretebilir - İşleme araç kutusundan çağırabilirsiniz (QGIS 2.16'da test edilmiştir)

Bir nokta katmanına (tesisler için) ve maliyeti olan bir satır katmanına (zaman / uzunluk) ihtiyacınız olacaktır. En catyakın tesisin kimliği olacak eklenen adıyla yeni bir çizgi katmanı oluşturur .

En yakın pub'a yürüme mesafesinde bir örnek. Her çizgi segmenti catrastgele renkler kullanılarak renklendirilir: -

v.net.alloc örneği

Bazen iki bitişik pub'ın yol ağına çok benzer renkler verildiğini unutmayın; onları etiketlerseniz, bunun gerçekten işe yaradığını görürsünüz.

Yukarıda gördüğünüz gibi boşluksuz çokgenler elde etmek için, güdüküm. Sonuçlarda 'düğümler çıkarır' ve 'Dışbükey Gövde' (kedilere göre gruplama) uygularsanız, boşluklar ve çakışmalar olur.

DÜZENLE

istediğiniz sonucu elde edebilirsiniz. Yorumunuzda önerdiğiniz gibi, aşağıdakileri yapabilirsiniz ..

  • Extract düğümlerini v.net.alloc çıktısında çalıştırın
  • çalıştırmak Voronoi çokgenler özü düğümleri katmandaki
  • Çokgenlerin çakıştığından emin olmak için sabit mesafe tamponu çalıştırın (örn. 1 metre tampon)
  • 'cat' alanını kullanarak buffered layer üzerinde Dissolve komutunu çalıştırın

İşte sonuç ... mükemmel değil, bazen yol ağının bazı kısımlarının komşu çokgenlere saptığını göreceksiniz.

resim açıklamasını buraya girin

Yeni 2.16 GUI'de erime için bir 'tuzak' var. Tarlayı ayarladım, ama her şeyi çözmüş gibiydi. 'Tümünü çöz' onay kutusunun işaretini kaldırmayı unutmamalısınız veya alan ayarı yok sayılır.


Bu yardımcı olur ve kesinlikle benim uygulamada sonucu kullanabilirsiniz. Çokgenlerle sonuçlanmanın bir yolu olup olmadığını görmek için bunu geçici olarak açık bırakacağım. Voroni Çokgenler aracını kullanmanın bir şekilde yardımcı olması mümkün müdür?
ge0m3try

tesislerinizdeki bir Voronoi, yalnızca "karga uçarken" Öklid mesafesine göre yaklaşık bir değer verecektir , böylece yol ağınızı etkili bir şekilde göz ardı eder.
Steven Kay

V.net.alloc sonucundaki düğümleri çıkartıp çıkarmayacağımı merak ediyorum, voroni ve oy veren çokgenleri benzersiz tesis tanımlayıcısına göre çözdüm. Yolların veri kümesinin boyutu çok büyük, bu yüzden bunu hızlı bir şekilde test edemeyeceğim, ancak bu arada neden bu işe yaramayabileceğine dair bazı düşünceler olacak.
ge0m3try

aslında, önsezi haklı - sadece denedim.
Steven Kay

2
ÖNEMLİ NOT: Bu iş akışında, üstesinden nasıl geleceğimizi anladığım birkaç sıkıntı var. Sabit mesafe tampon aracı gerekli değildir. SAGA Dissolvearacı QGIS eşdeğerinden çok daha hızlı görünüyor. Ayrıca, Voronoikatmanı catalanlara ve sonra da dissolveher alanı ayrı ayrı bölmek daha hızlı görünüyor . Mergeonları tekrar bir araya getirir. Ardından, GRASS'ı çalıştırın v.cleanve rmduplyinelenen düğümleri kaldırmak için aracı seçin . Bu, aksi takdirde kırpma, mekansal birleştirme gibi diğer süreçlerin hepsi birleşmiş çözünmüş voronoi lauyer üzerinde düzgün çalışmayacaktır.
ge0m3try
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.