QGIS'de bir çokgen katmanından diğerine öznitelik yansıtma?


16

Burada bulunan 2 çokgen katmanım var . İki katman üst üste biniyor. Birincisi 1928'deki Alman ilçelerinin bir haritasını, ikincisi 2014'teki ilçelerin haritasını içerir.

2014 katmanı, popülasyon hakkında bilgi içerir (veri kümesinde Bev olarak adlandırılır). Popülasyon özelliğini bir çokgen katmanından diğerine yansıtmak mümkün mü?

Biraz daha spesifik olmak gerekirse:

Nüfus niteliği olan katmanda 2 ilçemin olduğu durumu düşünün, ancak diğer katmanda aynı alanda sadece 1 ilçe var. QGIS iki ilçenin nüfusunu toplayabilir ve bu bilgiyi diğer katmana yazabilir mi?

Bu işe yararsa, bilgi içeren katman sadece 1 ilçede olduğunda, ancak diğer katmanda 2 ilçe olduğunda bunu yapmanın bir yolu var mı? Bu durumda, nüfusu ilçenin büyüklüğü ile orantılı olarak bölmek istiyorum.


Bu yanıtı genel bir iş akışında başlatmalısınız
Tom

Yukarıda belirtilen bağlantı başlamak için iyi bir nokta olduğunu düşünüyorum - ama (!) nüfusun etkilenen çokgenler içinde eşit olarak dağıtıldığı anlamına gelir. ki bu gerçek değil
robert tuw

2
... özür dilerim 5 dakikalık süreyi kaçırdım. devam edecek: ve her iki şekil dosyasını karşılaştırırsanız, ayrıntı düzeyinde önemli bir fark var - bu da çokgen bir çokgen şeridi ile sonuçlanıyor ... [link] 'e bir göz atın ( dropbox.com/sh/7w97kjey33k7jdi/ AAARDwyyMryOBwjtY6IrFsh9a? Dl = 0 ). Eğer o zaman yerleşmiş alan hakkında herhangi bir bilginiz varsa, sonuçlar önemli ölçüde iyileştirilebilir
robert tuw

... örneğin serbest corine landcover verileri halihazırda yerleşmiş olan alanı tanımlamaya ve böylece nüfusun bölgeye dayalı tahsisinin sonuçlarını geliştirmeye yardımcı olabilir.
robert tuw

Yanıtlar:


8

Yasal Uyarı:

  1. Bu özel durumda 2014'ten nüfus verilerini mümkün olduğunca fazla ayrıntıya sahip bir nokta katmanı olarak kullanmanın çok daha doğru olacağına inanıyorum (banliyölerin, kasabaların, köylerin sentroidi ...)

  2. BEV_ gerçekten nüfussa, GEN = Uelzen, BEV_ = 92553 gibi bazı garip değerler vardır, burada bu çokgen maksimum az futbol sahasının çamur boyutundaki Google uydu görüntü alanı ile karşılaştırılır.

Katmanlar arasındaki çokgen alanı örtüşmesi oranına dayalı olarak gerçekten sayı değerleri almak istiyorsanız (L1 = counties_2014, L2 = german empire 1928):

  1. Herhangi bir hesaplamadan önce, metre biriminde yansıtılan koordinat sistemlerinin, sırasıyla alan için metrekare birimlerinin kullanılmasını öneririm. Bu durumda EPSG kullandım: 3857
  2. L1'de Alan Hesaplayıcısı'nı kullanın , " Alan " sütununu oluşturun ve $ alanı ile doldurun
  3. Katmanları kesiştir - Vektör / Coğrafi İşleme Araçları / Kesiştir ... - Giriş = L1, Kesişim = L2
  4. In Kesişen katman kullanımı Saha Hesaplama , yeni bir alan "tarafından ayarlanan nüfus için sütun oluşturun PopArea ile" ve dolgu "Nüfus" * $ alanı / "Area"
  5. Çözünüz Kesişen katmanı ile İşleme Toolbox - bulmak Çokgenler çözün
    • L2'den "Ad" gibi benzersiz çokgen değerleri sütunu seçin
    • Min / maks / toplamı hesapla ... öğesini kontrol edin ve " PopArea " da hesaplayın
    • son katmanda, bulunduğunuz değer olan sum_diss sütunu olacaktır (bu özel durumda 2014'ten 1928 ilçeleri için ayarlanmış nüfus)

Her şeyi iyi yaptıysanız, L1'deki 81 milyondan L2 ilçeleri alanına göre yaklaşık 77 milyon kişi dağıtılmalıdır.

resim açıklamasını buraya girin


Cevabınız için teşekkürler. İlk iki noktaya gelince: Ben de centroids ile istediğimi elde etmeye çalıştım. Oldukça iyi çalıştı ama özellikle küçük çokgenler için eşleştirme çok iyi çalışmadı. Bence nüfus verileri bir şekilde karıştı. Ama bu sadece kendimi çözebileceğim küçük bir problem.
Alex

@Alex Bu durumda noktalar veya centroidler kullanmanın benim açımdan çok rastgele çakışma nedeniyle yeterli diyeceğim çözümden çok uzak olduğuna inanıyorum. Bu şekilde çok fazla veri kaybedeceksiniz.
Miro

9

Sorunuzu doğru anlarsam, bu ilk sorunuzu çözebilir. Hızlı bir test yaptım ve aşağıdaki yöntem işe yarıyor gibi görünüyor ama doğru olup olmadığını doğrulamak için daha yakından bakmaya değer.

  1. 1928 katmanında rastgele noktalar oluşturun (centroidler daha iyi çalışabilir. Kontrol etmeniz gerekecek);
  2. puan katmanını 2014 katmanıyla kesiştir (puan katmanı giriş katmanı olmalıdır);
  3. Özelliklere konuma göre katılın. Hedef katman 2014 katmanıdır ve points katmanı birleştirme katmanıdır. Geometrik yüklem olarak içerir. Özellik özetini varsayılan olarak bırakın (ilk bulunan özellik). Tabloya katıl açılır kutusundaki tüm kayıtları saklayın.

Çıktı katmanının doğru olup olmadığını kontrol edin.

Mümkünse qgis'deki işlem araç kutusu ile çalıştırın (her katmanı kaydetmek zorunda değilsiniz, bunun yerine geçici katman olarak kaydedin).

İkinci sorunuzun tam olarak ne anlama geldiğinden emin değilim. detaylandırabilir misin

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.