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