QGIS'te satır verilerinden ısı haritası mı yapıyor?


12

Bir niteliğe dayalı olarak çizgi verilerim için bir çizgi yoğunluk analizi yapmak istiyorum.

Isı haritası seçeneği (çekirdek yoğunluk analizi) yalnızca nokta verileri için mümkün görünmektedir.

Çizgi verilerimi noktalara dönüştürmeye ve bir ısı haritası oluşturmaya çalıştım, ancak ağırlık için öznitelikler dönüşümde kayboldu.

Bu, ArcGIS ile yapılan bir çizgi yoğunluğu analizidir. QGIS için de aynısını yapmak istiyordum.

resim açıklamasını buraya girin

QGIS'de benzer bir çizgi yoğunluk analizi yapmak mümkün müdür? ve bu QGIS ile ilgili veriler

Yanıtlar:


4

Bunu QGIS'te DB Manager / SQLite işlevleri aracılığıyla yapmanın bir yolunu bulamıyorum, ancak PostGIS'te aşağıdakileri yapıyoruz:

select
(ST_DumpPoints(l.geom)).geom
from linedata as l

Bu, yeni bir tabloya dışa aktarılır, satırların noktalarına izin verir (öğrencilerimizi PGRouting'den okullarına kadar), böylece öğrencilerin 'alabileceği' rotaların sıcak noktasını görselleştirebiliriz:

resim açıklamasını buraya girin


4

Aslında, GDAL yürütülebilir dosyalarına parametre gönderen standart menüleri kullanarak QGIS'de çizgi yoğunluğu yapmak mümkündür.

-Burn -add anahtarını kullanarak gdal_rasterize kullanmak, çekirdek yoğunluğu ve benzeri arama yarıçapı olmadan çizgi veya nokta yoğunlukları taraması oluşturur. Bir tarama hücresinde kaç nokta veya ne kadar çizgi var.

gdal_rasterize Raster -> Dönüştürme -> Rasterleştir menüsünde bulunur. Son metin alanında, kurşun kalem düğmesine basar ve metni, aşağıdakine benzer şekilde "-burn 1 -add" içerecek şekilde değiştirirsiniz. Doğal olarak, -tr (çözünürlük) parametrelerini ve giriş ve çıkış adını durumunuza göre değiştirirsiniz.

gdal_rasterize -burn 1 -ekle -tr 200.0 200.0 -l satır C: /lines.shp C: /out_lines.tif

Jukka Rahkonen bana gdal_dev posta listesindeki ipuçlarını verdi. Bunu tam anlamıyla yıllardır arıyordum.

Rasterleştirilmiş hatlar için raster hücre değerleri ile ilgili olarak, değerlerin neyi temsil ettiğinden emin değilim. Görünüşe göre satır sayısı veya satır uzunluğu değil.

Gdal_rasterize ile çizgi yoğunluğu


3

@DPSSpatial'ın yanıtına benzer bir yaklaşım kullanarak, her satır boyunca eşit aralıklı noktalar oluşturmak için QChainage eklentisini kullanırım.

Bu eklenti çizgi boyunca noktalar oluşturur, ancak çizginin herhangi bir özniteliğine kopyalamaz.

Burada WGS84 (4326, Derece Enlem / Boylam) olduğunu varsayıyorum. Bunu muhtemelen metre cinsinden uygun bir projeksiyon kullanarak yapmak istersiniz.

  • çizgi boyunca noktalar oluşturmak için QChainage kullanın, örneğin her 0.05 derecede bir
  • Bu katmanı örneğin 0.001 derece tamponlayın.
  • Arabelleklenmiş noktalardan orijinal çizgi katmanınıza kadar bir Uzamsal Birleştirme ( Vektör> Veri Yönetimi Araçları> Yere Göre Özellikleri Birleştir ) yapın ("Kesişim" kullanarak). Bu, noktaların etki değerini altlarındaki çizgilerden almasına izin verecektir.
  • Vektör> Geometri Araçları> Çokgen Centroid'lerini kullanarak bu katmanı tekrar noktalara dönüştürün

Son olarak, standart ısı haritası oluşturucusunu kullanırdım. Etki alanını ayarlayıp kullanarak ağırlık noktalarını kullandığınızdan emin olun .

Şimdi böyle bir şeye sahip olmalısın. Her satırdaki sayılar "etki" değerini gösterir.

resim açıklamasını buraya girin

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.