Yararlanarak Geometry generator
sembol tabaka tipi, Boyutların dikdörtgenler çizmek @nv_bg_w
(genişlik) ve @nv_bg_h
koordinatlarında, ya çizgi özelliklerine (yükseklik) (proje değişkenler) text_x, text_y
(eğer özelliklere NULL
) ya da seçenek olarak, aşağıdaki ifade ile hattın merkezinde:
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)))|| '))'
)
Görüldüğü x(point_on_surface($geometry))
ve y(point_on_surface($geometry))
çok sık görüldüğü gibi . En azından bu basit örnekte bu, kodun okunması gerekenden daha zor olmasını sağlar.
Yani sorum şu: İkinci ifadeleri (geçici kod) gibi bazı geçici değişkenlerde saklamanın bir yolu var mı:
@mx=x(point_on_surface($geometry))
@my=y(point_on_surface($geometry))
geom_from_wkt(
'POLYGON((' ||
... #and so on