15 我正在使用QGIS表达式生成器作为数据的标签属性。 是否可以在地图上的不同坐标处放置标签的不同部分? 例如,我有一个线串,并且我希望在线串的开头显示“ A”,并在其结尾显示“ B”。 qgis labeling qgis-2.14 — 贝诺特斯皮诺拉 source
22 一种方法是使用基于规则的标记,并为“ A”和“ B”添加两个规则。 转到Layer Properties > Labels并将选项更改No labels为Rule-based labelling。然后通过单击绿色加号图标添加规则: 如图所示设置相关选项Label with(使用'A')和Coordinate X Y。对于x坐标,单击Edit...并使用$x_at(0)将标签放置在线串的开头;对于y坐标,请使用$y_at(0)。 对“ B”重复步骤2,但对于xy坐标,分别在行字符串的末尾使用$x_at(-1)和$y_at(-1)。 当您单击Apply时,希望您会看到类似以下内容: — 约瑟夫 source 1 感谢您分享您的解决方案!我将仔细研究它。我在QGIS方面还很陌生,学习曲线仍处于起步阶段。 — benoitespinola @benoitespinola-很抱歉没有回复(我通常会回复评论)!非常欢迎,我相信您会很快习惯QGIS的:) — Joseph Joseph
11 还有一种使用符号系统而不是标签的替代方法,它可能对您有用: -如果您想为不同的功能使用不同的文本,则在数据中添加两个字段,一个字段用于结束文本,另一个字段用于开始文本。如果您只想在行尾使用“ A”和“ B”,则没有必要。 对线层进行符号化,然后添加一个新的符号层->将其设置为第一个顶点上的标记线 将符号类型设置为字体标记 将标记设置为“ A”或将其值设置为与图层属性表中的开始字段匹配 就像标准标记一样,用大小和旋转等方式进行处理。 重复添加末尾的“标签”。 — 埃德·罗拉森 source 真好!感谢您的解决方案!我也会尝试一下。:) — benoitespinola