QGIS的自动高级样式

时间:2018-11-08 15:18:08

标签: python-2.7 styling qgis

我有一个PostGIS数据库,其中包含道路和水体。我在QGIS中根据非常有用的帖子(Anita Grasser的Guide to Advanced Labeling for OSM Roads“Google Maps”-Style Road Maps in QGIS)设置的POI,公园等。

我是python程序员,我想自动创建这些样式,而不是手工创建,这可能吗?谁能给我示范?

非常感谢您!

1 个答案:

答案 0 :(得分:0)

在QGIS中,您可以在命令行选择层中输入标签并输入

layer = iface.activeLayer()
layer.labelling()

您将获得QgsAbstractVectorLayerLabeling的实例 https://qgis.org/pyqgis/master/core/Abstract/QgsAbstractVectorLayerLabeling.html?highlight=qgsabstractvectorlayerlabeling

要转到符号,您需要输入

layer = iface.activeLayer()
layer.renderer()

您将获得类QgsFeatureRenderer https://qgis.org/pyqgis/master/core/Feature/QgsFeatureRenderer.html?highlight=qgsfeaturerenderer#qgis.core.QgsFeatureRenderer.symbols

您还可以通过以下方式设置渲染器

renderer = QgsFeatureRenderer() 
layer.setRenderer(renderer)