Geometry generator
シンボルレイヤータイプを利用して、次の式で、座標(属性でない場合は属性)またはラインの中心のいずれかで、ラインフィーチャに寸法@nv_bg_w
(幅)および@nv_bg_h
(高さ)(プロジェクト変数)の長方形を描画します。text_x, text_y
NULL
geom_from_wkt(
'POLYGON((' ||
COALESCE("text_x", x(point_on_surface($geometry))) ||' '|| COALESCE("text_y", y(point_on_surface($geometry))) || ','||
(to_real(COALESCE("text_x", x(point_on_surface($geometry)))+ @nv_bg_w )) ||' '|| COALESCE("text_y", y(point_on_surface($geometry))) || ','||
(to_real(COALESCE("text_x", x(point_on_surface($geometry)))+ @nv_bg_w )) ||' '|| (to_real(COALESCE("text_y", y(point_on_surface($geometry))))- @nv_bg_h ) || ','||
COALESCE("text_x", x(point_on_surface($geometry))) ||' '|| (to_real(COALESCE("text_y", y(point_on_surface($geometry))))- @nv_bg_h ) || ','||
COALESCE("text_x", x(point_on_surface($geometry))) ||' '|| COALESCE("text_y", y(point_on_surface($geometry)))|| '))'
)
見られx(point_on_surface($geometry))
、y(point_on_surface($geometry))
非常に頻繁に発生するように。少なくともこの単純な例では、これにより、コードは必要以上に読みにくくなります。
だから私の質問は:(疑似コード)のようないくつかの一時変数に後者の式を格納する方法はありますか?
@mx=x(point_on_surface($geometry))
@my=y(point_on_surface($geometry))
geom_from_wkt(
'POLYGON((' ||
... #and so on
ヨチェン、あなたの質問で説明されている問題の解決策を見つけましたか?私は同様のニーズに直面しており、同じことを探しています
—
iulian