QGIS veya R'de bitişik alan kartogramları nasıl oluşturulur?


21

İşte ulaşmak istediğim şey (sağda):

http://junkcharts.typepad.com/.a/6a00d8341e992c53ef0162fd6913e8970d-pi

Bir şekil dosyasını (QGIS veya R ile) bu forma dönüştürmek için bir araç veya yöntem arıyorum. Ve lütfen unutmayın: Sadece altıgen bir ızgara veya altıgen bir ızgara kesmek değildir! Her altıgen eşit miktarda bir ölçü göstermelidir (örneğin her altıgen 5.000 ağacı temsil eder).

Belki scapetoad'ı biliyorsundur! http://scapetoad.choros.ch/ Temel olarak scapetoad ile benzer bir çıktı üretmek istiyorum - ama daha kısıtlı bir ızgarayla (?).

düzenleme: QGis ve R'den bahsetmek bir kısıtlama değil - sadece bir çözüm aradığım yerdi. Tabii ki herhangi bir araç, yöntem veya tavsiyeden memnunum!


4
Referans gösterdiğiniz resimdeki başlık sizin için adlandırır (en azından genel olarak); scapetoad sayfasının adı da aynı: "cartogram". Daha spesifik olarak, altıgen elemanlar kullanan (bitişik) bir alan grafiğidir .
whuber

Bu referans [r] 'de bunu yapmam için çok faydalı oldu!
jsta

Yanıtlar:


7

Biraz daha tatmin edici bir prosedür:

  1. 'Difüzyona dayalı' bir yöntemde (scapetoad gibi) bir kartogram üretin.

    QGis'de:

  2. Altıgen bir katman oluşturun [Eklentiler> Qmarxan> Planlama Izgarası Oluştur] (uygun / istenen sayıda altıgen kullanın). düzenleme: Haritanın amacına bağlı olarak, Qmarxans ızgarası şüpheli kalitede olabilir. Mmqgis eklentisi çok daha iyi sonuçlar (çokgenler mükemmel uyum) üretir.

  3. Altıgen tabakaya kartogramla birleştirme [Vektör> Veri Yönetimi Araçları> Yere göre özellikleri birleştir]

  4. Şimdi yeni altıgen katman, kartogramın tüm özelliklerine / niteliklerine sahiptir ve her bir alt birime ayrı ayrı erişmek mümkündür.

  5. Alt birimlerin daha iyi korunabilmesi için bazı el ile tweeking yapmak mümkündür: Altıgenleri seçin ve özellikleri doğrudan özellik tablosunda değiştirin. Katman yarı saydamsa ve orijinal difüzyona dayalı kartogram aşağıda gösterilmişse, bu adım en iyi şekilde çalışır.

  6. Bir alt birimin altıgenlerini bir birime birleştirme: 1. Bir alt birimin tüm altıgenlerini seçin (eğer varsa: seçim için öznitelik tablosu kullanın). 2. 'geçiş düzenlemesi'> 'seçilen özellikleri birleştir'.

Temelde eksiklik b) kalır - ama a) çözüldü ve ayrıca bir dereceye kadar c) artık büyük bir sorun değil, b / c bu yöntem çok zaman almıyor.

Düzenleme: 4. Adım (ve daha sonra renklendirilmiş) bu sonuca neden olur (üstte saydam altıgen katman, aşağıda 'difüzyon tabanlı' kartogram): "Sınır sorunu" çizimi

Parlak yeşil altıgenler bir sıradan ötekine geçiyor ...

"Join niteliklerine" daha iyi bir / özel bir montaj elde etmenin nasıl mümkün olduğu hakkında bir fikriniz var mı? - Algoritmaya bir tür eşik değeri verecek bir yöntem arıyorum (örneğin:> alanın% 50'si).


Bu yaklaşım için kefil olabilirim, başarıyla yaptım. Altıgenleri uzamsal olarak en büyük örtüşüme sahip olan çokgene birleştirmenin tatminkar bir yolunu bulmadı; Ben postgresql / postgis'e ihtiyaç duyacağından şüpheleniyorum (Lokasyona göre birleştir, bulduğu ilkiyle uyuşuyor, ki bu en uygun olmayabilir)
Steven Kay

2

Bu arada şu ana kadar fikrimin ne olduğunu sunacağım:

  1. 'Difüzyona dayalı' bir yöntemde (scapetoad gibi) bir kartogram üretin.

    QGis'de:

  2. Nokta katmanı oluşturma [Vektör> Araştırma Araçları> Normal Noktalar].

  3. Cartogramlı nokta katmanı klipsleyin.

  4. Altıgen bir katman oluşturun [Eklentiler> Qmarxan> Planlama Izgarası Oluştur] (uygun / istenen sayıda altıgen kullanın).

  5. Poligon başına puan sayımı [Vektör> Analiz Araçları> Poligondaki Noktalar].

  6. Altıgen katmanın katman özelliklerinde: Kural tabanlı etiketleme (veya kırpma) uygulayın [Filtre: "PKTCNT"> = 1].

Şimdiye kadar sahip olduğum tek şey bu.

Eksiklikler:

a) Bu sadece genel biçimdir (alt birimler tekrar çalışılmalıdır ...)

b) Altıgen sayısı, fiili ölçüme bağlı olarak biraz keyfi ve daha kötüsüdür.

c) Ölçü birimini değiştirmek istersem (örneğin, altıgen başına 5.000 ağaç yerine, şimdi altıgen başına 100.000 ağaç = karmaşıklığı / ayrıntıyı daha da azaltarak istiyorum) Tüm prosedürü tekrar yapmam gerekiyor.

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.