Birkaç katmanın stil özelliklerini aynı anda değiştirme


31

Toplu veri üzerinde çalışıyorum. Bir QGIS projesine içe aktarılan birkaç yüz GeoTIFF resmim var ve katman özelliklerini değiştirmek istiyorum - veri içermeyen, belirli piksel değerlerinin saydamlığı, renk haritası atamaları ...

Ancak bu değişiklikleri bir kerede birkaç katmana uygulamanın, XML dosyasını global bir ara ve değiştir ile düzenlemenin bir yolunu bulamıyorum. GUI kullanarak bunu yapmanın bir yolu var mı?

Yanıtlar:


45

QGIS'in geçerli sürümlerinde, Katmanlar üst açılır menüsünden Stili Kopyala ve ardından Stili Yapıştır seçeneklerini kullanabilirsiniz (katmanlar listesinde seçilen bir veya daha fazla katmanınız varsa).


Bazı eski sürümler için: Katmanlar listesinden birden çok katman seçebilir, sağ tıklayıp bağlam menüsünden Stil Yapıştır'ı kullanabilirsiniz.

Diğer eski sürümler için:

MultiQML eklentisi bir kerede birden fazla katmana bir QGIS katman stili uygulamanıza izin verir. Bence şu anda aradığın şeye yakın.


7

Bir vektör katmanı için stil seçeneklerini .qml dosyası olarak kaydederseniz, MultiQML eklentisi ile aynı anda birden çok katmana uygulayabilirsiniz. Temel olarak, stilin hangi katmanlara uygulanmasını istediğinizi seçmenizi sağlayan bir arayüz penceresidir (elle veya 'tümünü seç'), 'stil uygula' düğmesi, qml'yi stil bilgisi ile seçmenize izin verir.

Burada bulunacak bilgiler : MultiQML


5

Bu QGIS 3.4 için çalışıyor

  1. Aynı stile sahip olmak istediğiniz tüm katmanlardan oluşan bir grup oluşturun.
  2. Gruptaki katmanlardan birinin stilini istediğiniz gibi düzenleyin
  3. Doğru şekilde tasarlanmış katmanı sağ tıklatın; 'Stiller' -> 'Stili Kopyala' -> 'Sembololoji'
  4. Daha önce oluşturduğunuz grubu seçin
  5. Grubu sağ tıklayın; 'Stil Yapıştır'

Bu kabul edilmiş bir cevap olmalı, hızlı ve kolay ve sadece delilikte herhangi bir karışıklık olmadan işe yarıyor.
shawty

2

Projenizi kaydedebilir, QGIS'i kapatabilir, stil tanımını projenizin .qgs dosyasında bulabilir ve ardından her katmana yapıştırabilirsiniz.


1

Bir gruptaki tüm katmanlara stil uygulamak istiyorsanız, faydalı olabilecek bir python betiği yazdım. Tek ihtiyacınız olan, her katman türü için uygulamak istediğiniz özelliklere sahip kaydedilmiş bir .qml dosyasıdır.

from qgis.core import *
import os
#copy line 9-21 and change file names and group names if you have more groups

QML_file = ('yourqmlfile.qml')#insert path to qml file 
#add other qml files if you want to change style for more groups


def applystyle_group(name):
    root = QgsProject.instance().layerTreeRoot()
    point = root.findGroup(name) #Find Group
    for child in point.children():
        if isinstance(child, QgsLayerTreeLayer):
            if child.layer().type()==0:
                child.layer().loadNamedStyle(QML_file)#change the file name accordingly
                #you can add styles for other types of layers in the same group (line, point and polygon)

try: #If group is not present this will keep script running if you want to add more
    applystyle_group("*")#insert name of QGIS group
except Exception:
    pass
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.