Lindorm GanosBase時空服務的訪問函數可以協助您快速擷取目標幾何屬性(如點、座標值等),簡化了空間資料處理流程,能夠有效提升資料分析的便捷性和準確性。本文介紹Lindorm支援的訪問函數
引擎與版本
訪問函數僅適用於寬表引擎。無版本要求。
函數列表
Lindorm GanosBase支援的訪問函數如下表所示。
函數 | 說明 |
返回指定Geometry對象的幾何中心。 | |
指定LineString對象的最後一個點。 | |
返回指定Geometry對象中頂點的個數。 | |
返回指定LineString類型的起點。 | |
返回指定Point類型的X座標值。 | |
返回指定Geometry對象邊界框X座標的最大值。 | |
返回指定Geometry對象邊界框X座標的最小值。 | |
返回指定Point類型的Y座標值。 | |
返回指定Geometry對象邊界框Y座標的最大值。 | |
返回指定Geometry對象邊界框Y座標的最小值。 |
ST_Centroid
返回指定Geometry對象的幾何中心。
文法
geometry ST_Centroid(geometry g)參數說明
參數 | 描述 |
g | 指定的Geometry對象。 |
如果Geometry對象是一個空的幾何體,則返回對應的空幾何體。
樣本
樣本1
SELECT ST_AsText(ST_Centroid(ST_Collect(ST_MakePoint(1,1),ST_MakePoint(-1,-1)))) AS astext;返回結果:
+-------------+ | astext | +-------------+ | POINT (0 0) | +-------------+樣本2
SELECT ST_AsText(ST_Centroid(ST_GeomFromText('LINESTRING(0 0,0 1,1 2)'))) AS astext;返回結果:
+--------------------------------+ | astext | +--------------------------------+ | POINT (0.2928932188134525 | | 1.085786437626905) | +--------------------------------+
ST_EndPoint
指定LineString對象的最後一個點。
文法
geometry ST_EndPoint(geometry g)參數說明
參數 | 描述 |
g | 指定的Geometry對象。 |
如果Geometry對象不是LineString類型,會返回NULL。
樣本
SELECT ST_AsText(ST_EndPoint(ST_GEOMFROMTEXT('LINESTRING(1 1, 2 2, 3 3)'))) AS endpoint;返回結果:
+-------------+
| endpoint |
+-------------+
| POINT (3 3) |
+-------------+ST_NPoints
返回指定Geometry對象中頂點的個數,適用於任何Geometry對象。
文法
int ST_NPoints(geometry g)參數說明
參數 | 描述 |
g | 指定的Geometry對象。 |
樣本
SELECT ST_NPoints(ST_GeomFromText('LINESTRING(77.29 29.07,77.42 29.26,77.27 29.31,77.29 29.07)')) AS npoints;返回結果:
+---------+
| npoints |
+---------+
| 4 |
+---------+ST_StartPoint
返回指定LineString類型的起點。
文法
geometry ST_StartPoint(geometry g)參數說明
參數 | 描述 |
g | 指定的Geometry對象。 |
如果Geometry對象不是LineString類型,會返回NULL。
樣本
SELECT ST_AsText(ST_StartPoint(ST_GEOMFROMTEXT('LINESTRING(0 1, 0 2)'))) AS startpoint;返回結果:
+-------------+
| startpoint |
+-------------+
| POINT (0 1) |
+-------------+ST_X
返回指定Point類型的X座標值。
文法
BigDecimal ST_X(geometry a_point)參數說明
參數 | 描述 |
a_point | 指定的Point類型。 |
輸入Geometry對象必須是Point類型。如果輸入的Geometry對象為EMPTY或者輸入值為NULL會返回NULL。
樣本
SELECT ST_X(ST_MakePoint(1.0, 2.0)) AS x;返回結果:
+---+
| x |
+---+
| 1 |
+---+ST_XMax
返回指定Geometry對象邊界框X座標的最大值。
文法
BigDecimal ST_XMax(geometry g)參數說明
參數 | 描述 |
g | 指定的Geometry對象。 |
Geometry對象支援Point、LineString、Polygon、MultiPoint、MultiLineString、MultiPolygon和GeometryCollection類型。
如果Geometry對象為EMPTY會返回-1。
樣本
SELECT ST_XMax(ST_GeomFromText('LINESTRING(1 3,5 6)')) AS xmax;返回結果:
+------+
| xmax |
+------+
| 5 |
+------+ST_XMin
返回指定Geometry對象邊界框X座標的最小值。
文法
BigDecimal ST_XMin(geometry g)參數說明
參數 | 描述 |
g | 指定的Geometry對象。 |
Geometry對象支援Point、LineString、Polygon、MultiPoint、MultiLineString、MultiPolygon和GeometryCollection類型。
如果Geometry對象為EMPTY會返回0。
樣本
SELECT ST_XMin(ST_GeomFromText('LINESTRING(1 3,5 6)')) AS xmin;返回結果:
+------+
| xmin |
+------+
| 1 |
+------+ST_Y
返回指定Point類型的Y座標值。
文法
BigDecimal ST_Y(geometry a_point)參數說明
參數 | 描述 |
a_point | 指定的Point對象。 |
Geometry對象必須是Point類型。如果輸入的Geometry對象為EMPTY或者輸入值為NULL會返回NULL。
樣本
SELECT ST_Y(ST_MakePoint(1.0, 2.0)) AS y;返回結果:
+---+
| y |
+---+
| 2 |
+---+ST_YMax
返回指定Geometry對象邊界框Y座標的最大值。
文法
BigDecimal ST_YMax(geometry g)參數說明
參數 | 描述 |
g | 指定的Geometry對象。 |
Geometry對象支援Point、LineString、Polygon、MultiPoint、MultiLineString、MultiPolygon和GeometryCollection類型。
如果Geometry對象為EMPTY會返回-1。
樣本
SELECT ST_YMax(ST_GeomFromText('LINESTRING(1 3,5 6)')) AS ymax;返回結果:
+------+
| ymax |
+------+
| 6 |
+------+ST_YMin
返回指定Geometry對象邊界框Y座標的最小值。
文法
BigDecimal ST_YMin(geometry g)參數說明
參數 | 描述 |
g | 指定的Geometry對象。 |
Geometry對象支援Point、LineString、Polygon、MultiPoint、MultiLineString、MultiPolygon和GeometryCollection類型。
如果Geometry對象為EMPTY會返回0。
樣本
SELECT ST_YMin(ST_GeomFromText('LINESTRING(1 3,5 6)')) AS ymin;返回結果:
+------+
| ymin |
+------+
| 3 |
+------+