의 사용 메이커 Geometry generator
심볼 층형를, I는 크기의 사각형 그릴 @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
Jochen, 질문에 설명 된 문제에 대한 해결책을 찾았습니까? 나는 비슷한 요구에 직면하고 있으며 같은 것을 찾고 있습니다
—
iulian