ST_TransScale — 通过给定的偏移量和比例因子平移和缩放几何体。
geometry ST_TransScale(
geometry geomA, float deltaX, float deltaY, float XFactor, float YFactor)
;
使用 deltaX 和 deltaY 参数平移几何体,然后使用 XFactor 和 YFactor 参数缩放几何体,仅在 2D 中工作。
|
在 1.3.4 之前,如果与包含曲线的几何体一起使用,此函数会崩溃。此问题已在 1.3.4+ 中修复。 |
可用性:1.1.0。
此函数支持 3D,并且不会删除 z 索引。
此方法支持圆弧字符串和曲线。
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))