全部產品
Search
文件中心

PolarDB:ST_Scale

更新時間:Jul 06, 2024

通過將座標乘以相應的縮放因子,將Geometry對象縮放為新的大小。

文法

geometry ST_Scale(geometry geomA , float xFactor , float yFactor , float zFactor);
geometry ST_Scale(geometry geomA , float xFactor , float yFactor);
geometry ST_Scale(geometry geom , geometry factor);
geometry ST_Scale(geometry geom , geometry factor , geometry origin);

參數

參數名稱描述
geomA/geom目標Geometry對象。
xFactorX因子。
yFactorY因子。
zFactorZ因子。
factor縮放對象。
origin縮放原點。

描述

  • 允許factor對象傳入2d,3dm,3dz或4d的Point對象以設定所有支援維度縮放比例因素。缺失的維度將視為不進行縮放。
  • 該函數支援Circular Strings、Curves、Polyhedral surfaces、Triangles、Triangulated Irregular Network Surfaces(TIN)和3D對象。
  • 該函數支援帶有M值的對象。
  • 當傳入縮放原點時,允許就地縮放。例如,使用Geometry的質心作為縮放原點。如果不設定縮放原點,則相對於實際原點進行縮放,因此所有座標僅乘以縮放因子。

樣本

  • 預設調用:
    SELECT ST_AsText(ST_Scale('LINESTRING(2 1,1 1)'::geometry,2,2));
          st_astext
    ---------------------
     LINESTRING(4 2,2 2)
    (1 row)
  • 使用縮放對象:
    SELECT ST_AsText(ST_Scale('LINESTRING(2 1,1 1)'::geometry,'POINT(2 2)'::geometry));
          st_astext
    ---------------------
     LINESTRING(4 2,2 2)
    (1 row)
                        
  • 使用縮放原點的效果對比:
    SELECT
        ST_Scale(g,factor),
      ST_Scale(g,factor,'POINT(2 1)'::geometry),g
      from (select 'LINESTRING(2 1,1 1,1 2)'::geometry as g,'POINT(3 3)'::geometry as factor) as t;
1