الاسم
ST_TransScale — تُزيح شكلًا هندسيًا وتغيّر مقياسه بإزاحات ومعاملات معيّنة.
المختصر
geometry ST_TransScale(geometry geomA, float deltaX, float deltaY, float XFactor, float YFactor);
الوصف
تُزيح الشكل الهندسي باستخدام الوسيطين deltaX وdeltaY، ثم تغيّر مقياسه باستخدام الوسيطين XFactor وYFactor، وتعمل في البعدين فقط.
|
|
|
|
|
|
|
قبل الإصدار 1.3.4، كانت هذه الدالة تتعطل إذا استُخدمت مع أشكال هندسية تحتوي على منحنيات (CURVES). وقد أُصلح ذلك في 1.3.4 وما بعده |
متاحة منذ: 1.1.0.
تدعم هذه الدالة الأبعاد الثلاثية ولا تُسقط قيمة Z.
تدعم هذه الدالة الأقواس الدائرية (Circular Strings) والمنحنيات.
أمثلة
SELECT ST_AsEWKT(ST_TransScale(ST_GeomFromEWKT('LINESTRING(1 2 3, 1 1 1)'), 0.5, 1, 1, 2));
st_asewkt
-----------------------------
LINESTRING(1.5 6 3,1.5 4 1)
--Buffer a point to get an approximation of a circle, convert to curve and then translate 1,2 and scale it 3,4
SELECT ST_AsText(ST_Transscale(ST_LineToCurve(ST_Buffer('POINT(234 567)', 3)),1,2,3,4));
st_astext
------------------------------------------------------------------------------------------------------------------------------
CURVEPOLYGON(CIRCULARSTRING(714 2276,711.363961030679 2267.51471862576,705 2264,698.636038969321 2284.48528137424,714 2276))