我正在为形状文件构建一个 JavaFX 渲染器,并且围绕文本符号器出现了“歧义点”。
我有一个要素类型 T 的 SLD 要素类型样式,如下(从所有 XML 中抽象):
Rule
Filter
PointSymbolizer
LineSymbolizer
TextSymbolizer
如果特征 f 满足过滤器,我们:
我的问题是:当文本符号器运行时,我们是从点符号器标记点,还是从线符号器标记线?或者两者兼而有之?
我认为我的问题的答案是
TextSymbolizer
必须包含LabelPlacement
元素,而LabelPlacement
元素又必须包含PointPlacement
或LinePlacement
之一,这告诉我们我们是针对点还是针对线进行标记。这是正确的吗?
如果它是正确的,那么就会出现后续问题——如果规则如下所示:
Rule
Filter
LineSymbolizer
LineSymbolizer
TextSymbolizer
LabelPlacement
LinePlacement
那么文本符号器是否标记了这两行?
谢谢
它(像所有符号器一样)将使用要素的默认几何形状,除非您通过几何标签指定特定几何形状。
对于你的第二个问题,只有一行而不是两行。