QGIS 如何获得城市标签以首先渲染最大的城市?

QGIS How can I get city labels to render largest cities first?

当我在 QGIS 中绘制城市时,它会选择绘制哪些城市以及忽略哪些城市。这一层也有人口。有没有可能让QGIS以人口为导向先绘制较大的城市?

在图层样式面板的标签选项卡中,您可以将标签的优先级设置为表达式(下面的黄色框):

在这种情况下,我将 "value" 设置为以下表达式:

CASE 
    WHEN  "type"  =  'City'  THEN 10 
    WHEN  "type"  =  'Town'  THEN 9
    ELSE 5
END

因此类型为 "City" 的标签在 "Town" 之前绘制,这在所有其他标签之前。要根据人口确定优先级,您可以使用类似的东西:

log10("Population") 

因为优先级需要一个介于 0 和 10.0 之间的值。