QGIS'te farklı stillere sahip harita görüntüleri otomatik olarak oluşturuluyor mu? [kapalı]


9

QGIS'te, 10'dan fazla özellikten oluşan sadece 1 katman içeren basit bir harita var. Şimdi (programlı olarak) aynı alanın yaklaşık 200 farklı JPEG harita görüntüleri oluşturmak gerekir. Her harita aynı harita uzantılarına sahip olmalı ve tüm özellikler görünür olmalıdır. Ancak, özellikler oluşturulan her haritada farklı renklere sahip olmalıdır. Ayrıntılı olarak, her özellik (her resim için 1 satır, özellik başına 1 sütun ve renk) için kategorize edilmiş renkleri içeren bir CSV dosyası var, böyle bir şey:

"A","B","C","D","E","F" (header line, 6 columns in this file)
"#000000","#FF0000","#00FF00","#0000FF","#0000FF","#808080"
"#000000","#FF0000","#FF0000","#00FF00","#00FF00","#808080"
"#FF0000","#FF0000","#000000","#800080","#FFFFFF","#FFFF00"
...

Şu anki planım, bu CSV dosyasına dayalı 200 farklı QML dosyası oluşturmak için Perl veya benzeri bir şey kullanmak. Sonra bir Python betiği yazmayı planlıyorum

  1. QML dosyaları arasında geçiş yapın
  2. Her bir QML dosyasını birer birer açın ve katman stilini uygulayın
  3. Harita oluşturucuyu aç ve raster görüntü dosyasını kaydet
  4. Harita oluşturucuyu kapat ve sonraki QML dosyasına atla

Şimdi aşağıdakilerle ilgili herhangi bir girdi istiyorum:

  • Bu QGIS + Python içinde yapılabilir mi?
  • Hedefime ulaşmanın daha iyi bir yolu var mı?
  • Bunu başarmak için mevcut herhangi bir kaynak kodu veya eklenti hakkında ipuçları?

Yanıtlar:


21

Bu, herhangi bir python programlama olmadan QGIS'de mümkündür, ancak 2.4'ün piyasaya sürülmesinden bu yana eklenen özelliklere bağlı olduğu için QGIS 2.6'nın mevcut bir geliştirme anlık görüntüsüne ihtiyacınız olacaktır. Gerekli adımlar şunlardır:

  • Harita katmanlarınızı istediğiniz gibi ayarlayın (dinamik renk dolgularına sahip olan özelliklerin renklendirmesini yoksayarak)

  • Yeni bir baskı bestecisi oluşturun. Kompozisyona bir harita öğesi ekleyin ve uzantılarını istediğiniz gibi ayarlayın.

  • İstenen harita çıktı özelliği renklerini içeren CSV dosyanızı içe aktarın

  • Baskı oluşturucusunda, içe aktarılan CSV katmanını "atlas kapsama katmanı" olarak ayarlayın ("Atlas Üretimi" sekmesine bakın). (Atlas'ı şimdi dışa aktardıysanız, aynı haritanın 200 kopyasını almalısınız ...)

resim açıklamasını buraya girin

  • Ardından, özelliklerinizi CSV dosyanızda listelenen renklerle stilize olacak şekilde ayarlamanız gerekir. Bu, katmanın stil sekmesinin altındaki "Veri Tanımlı özellikler" düğmesiyle yapılır:

resim açıklamasını buraya girin

  • "Renk" özelliğini işaretlemeniz ve ardından ifade düzenleyicisini açmak için "E" düğmesini tıklamanız gerekir.

  • İfade böyle bir şey olacaktır:

    attribute(  $atlasfeature , 'A' )
    

resim açıklamasını buraya girin

  • Temel olarak, bu ifade "A" sütununda saklanan değeri geçerli atlas özelliğinden alır. Sizin durumunuzda bu değer bir renk olacağından (örneğin # FF0000) özellik bu renk kullanılarak şekillendirilecektir. (Bu ifade, QGIS> 2.4'e dayanan bölümdür - 2.4 serbest bırakıldıktan sonra "özellik" işlevi eklendi).

  • Diğer özellikleri benzer şekilde biçimlendirin, ancak 'B', 'C', 'D' vb. Sütunları istediğiniz gibi kullanarak

  • Baskı oluşturucusuna geri döndüğünüzde, bir atlas önizlemesini (Atlas menüsü -> Atlas Önizlemesi) etkinleştirebilir ve araç çubuğundaki okları kullanarak CSV dosyanızdaki satırlarda gezinebilirsiniz. Her şey doğru görünüyorsa, Atlas menüsündeki seçenekleri kullanarak atlası dışa aktarın ... ve bitti! Programlamaya gerek yok!

Çıktı örnekleri:

resim açıklamasını buraya girin resim açıklamasını buraya girin

vesaire vesaire

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.