ST_SCALE
📄字数 1.0K
👁️阅读量 加载中...
功能描述
将坐标与相应的因子参数相乘,将几何体缩放到新的尺寸。
语法格式
sql
GEOMETRY ST_SCALE(GEOMETRY geomA, DOUBLE XFactor, DOUBLE YFactor, DOUBLE ZFactor);
GEOMETRY ST_SCALE(GEOMETRY geomA, DOUBLE XFactor, DOUBLE YFactor);
GEOMETRY ST_SCALE(GEOMETRY geom, GEOMETRY factor);
GEOMETRY ST_SCALE(GEOMETRY geom, GEOMETRY factor, GEOMETRY origin);参数说明
- geomA:目标GEOMETRY对象。
- XFactor:X缩放因子。
- YFactor:Y缩放因子。
- ZFactor:Z缩放因子。
- factor:采用几何图形作为所有维度的缩放因子。允许传递2d、3dm、3dz或4d点设置缩放因子,factor点中缺少的维度相当于不缩放。
- origin:缩放原点。如果原点时,相对于原点缩放。
函数返回类型
GEOMETRY 类型
使用说明
- 该函数支持3D对象,并且不会删除Z坐标。
- 该函数支持圆形字符串(CIRCULARSTRING)、曲线(CURVES)、多面体表面(POLYHEDRALSURFACE)、三角形(TRIANGLE)、不规则三角形格网(Triangulated Irregular Network,TIN)类型几何对象。
- 该函数支持M坐标。
示例
函数1:SCALE X Y Z
sqlSQL> SELECT TO_CHAR(ST_AsEWKT(ST_SCALE(ST_GeomFromEWKT('LINESTRING(1 2 3, 1 1 1)'), 0.5, 0.75, 0.8))); +--------------------------------------+ | EXPR1 | +--------------------------------------+ | LINESTRING(0.5 1.5 2.4,0.5 0.75 0.8) | +--------------------------------------+函数2:SCALE X Y
sqlSQL> SELECT TO_CHAR(ST_AsEWKT(ST_SCALE(ST_GeomFromEWKT('LINESTRING(1 2 3, 1 1 1)'), 0.5, 0.75))); +----------------------------------+ | EXPR1 | +----------------------------------+ | LINESTRING(0.5 1.5 3,0.5 0.75 1) | +----------------------------------+函数3:SCALE X Y Z M
sqlSQL> SELECT TO_CHAR(ST_AsEWKT(ST_SCALE(ST_GeomFromEWKT('LINESTRING(1 2 3 4, 1 1 1 1)'), ST_MakePoint(0.5, 0.75, 2, -1)))); +----------------------------------------+ | EXPR1 | +----------------------------------------+ | LINESTRING(0.5 1.5 6 -4,0.5 0.75 2 -1) | +----------------------------------------+函数4:SCALE X Y origin
sqlSQL> SELECT TO_CHAR(ST_AsText(ST_SCALE('LINESTRING(1 1, 2 2)', 'POINT(2 2)', 'POINT(1 1)'::geometry))); +---------------------+ | EXPR1 | +---------------------+ | LINESTRING(1 1,3 3) | +---------------------+
