QGIS 3.0 nokta küme oluşturucu, oluşturma sırasını (z-sırası) denetlemek mümkün mü?


19

QGIS 3.0.2'deki yeni nokta kümesi oluşturucu ile bir oyun oynuyorum ve harika - kümelenmeyi kendiniz yapmaktan çok daha kolay (ve daha hızlı).

Ne demek istediğimi göstermek için, STATS19 verilerini ve 30 metre yarıçapı kullanan Edinburgh'daki trafik kazalarına bir örnek.

resim açıklamasını buraya girin

En büyük kümelerin daha küçük kümelerin önüne çekilmesi için z sırasını nasıl ayarlayacağımı bilemiyorum.

@Cluster_size değişkeninin farkındayım - sembolleri ölçeklemek ve renklendirmek için kullandığım şey bu. Bunun için beden ve renk yardımcılarını kullanıyorum. Metni her kümeden kaldırmak için yazı tipi işaretleyicilerini kaldırdım.

İşaretleyicilerin boyutu şu şekilde tanımlanır: -

coalesce(scale_exp(@cluster_size, 0, 50, 1, 200, 0.57), 0)

İşaretlerin rengi şu şekilde tanımlanır: -

coalesce(ramp_color('custom ramp',scale_linear( @cluster_size, 0, 50, 0, 1), '#000000')

Şimdiye kadar denedim: -

  • Sembol Seviyeleri - Şans yok; değişken adı seçilemiyor.
  • Katman oluşturma> Özellik Oluşturma Sırasını Kontrol Et ve sıralama olarak @cluster_size öğesini seçin . Etkisi yok gibi görünüyor.
  • İfade çalışmadığından @cluster_size kullanılarak stil kademeli .

Herkes bunun mümkün olup olmadığını biliyor mu, yoksa bu belirli oluşturucu ile ilgili bir sınırlama mı?

Bunu yapmanın birçok yolu olduğunu biliyorum (arabellek / mekansal birleştirme, eklentiler), ancak yeni oluşturucu çok daha hızlı olmalı. Yoksa bariz bir şeyi göz ardı ettim mi? :)


Muhtemelen öznitelik tablosundaki sipariş dikkate alınarak çalışır. Belki de onları en büyüğün en yenisi haline getirilmesi için artan düzende düzenlersiniz? 'Özellikleri özniteliğe göre sırala' işlevi yoksa, MMQGIS eklentisini (qgis 3 için kullanılabiliyorsa) deneyebilirsiniz
Revo

teşekkürler @Revo. Bir özelliği (Küme Noktası oluşturucu dahil) boyutlandırmak ve sıralamak mümkün görünmektedir, ancak bu yalnızca bir ölçekte çalışır. Küme noktası oluşturucu kullanarak yakınlaştırma / uzaklaştırma gibi küme boyutları dinamik olarak değiştiğinden cluster_size kullanmaya çalıştım. MMQGIS'e bir göz atacağım (QGIS 3 için mevcut)
Steven Kay

Yanıtlar:


2

Nokta kümesi uygulaması yerel olarak buna izin vermiyor gibi görünüyor.

Nokta kümesi oluşturucuyu düşünün - esas olarak oluşturma zamanında nokta verilerini analiz eder ve kümeler, yeni bir sözde katman oluşturur. Bu katmana kullanıcı erişemez. Kümelenmiş bir nokta sorgulanamaz. Bir @cluster_size özniteliği alan hesaplanamaz .

Nokta kümesi oluşturucu, nitelikleri ve ifadeleri kullanarak bazı akıllı geçici çözüm olasılığını açık bırakarak, Denetim özelliği oluşturma sırasını ( QgsFeatureRequest :: OrderByClause) kullanarak oluşturma sırasını kaynaktan devralır , ancak bazı sipariş şemalarının tutarlı olması garanti edilmez.

Örnek olarak, "Latitude" özelliğine göre artan sırayla oluşturulmuş bir nokta katmanı düşünün. Daha kuzeydeki noktalar daha güneydeki noktaların üstüne konur. Nokta kümesi oluşturucusunun yeni özellikleri için "Latitude" özelliği yoktur, ancak bu siparişin bazı benzerini kaynaktan devralacaktır. Orijinal noktaların sırası nedeniyle daha güneydeki bir kümenin daha kuzeydeki bir kümeye dönüştüğü durumlar olabilir.


Teşekkürler. Kümelenmiş noktalardan bir özniteliğin hesaplanmasının mümkün olup olmadığına dair sorumu da cevaplayan çok açık bir açıklama, yani her bir orijinal nokta ile ilişkili nüfusun toplamı. Açıkçası değil .... henüz? Yine de çok kullanışlı bir özellik olurdu. Statik bir şekilde bile olsa, (yine de iyi değilim) yine de kodlama gerektirmeyen akıllı bir geçici çözümle bunun nasıl gerçekleştirilebileceği hakkında herhangi bir fikir? Küme oluşturucu tarafından nasıl yapıldığına benzer şekilde küme noktaları için bir araç bulmak için mücadele ediyorum
dorakiara

Genel olarak, küme oluşturucunun öznitelikleri kullanarak 'Özellik oluşturma sırasını denetle' işleviyle birlikte çoğaltarak buna yaklaşabilirsiniz. Kaba bir ilk geçiş, bir nokta katmanını tamponlamak, tamponlanmış çokgenlerdeki noktaları nokta katmanında bir öznitelik olarak saymak olabilir. Artan sırayla bu sırayı kontrol edin. Biraz hantal ve farklı ölçeklerde çalışmayabilir.
CrystallineEntity

Ayrıca, @cluster_size yöntemini 'Kontrol özelliği oluşturma sırası' işlevine maruz bırakan bir özellik isteği yapmanızı öneririm.
CrystallineEntity
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.