全部產品
Search
文件中心

Simple Log Service:空間幾何函數

更新時間:Jun 30, 2024

本文介紹空間幾何函數的基本文法及樣本。

空間幾何概念

以ST_首碼開頭的空間幾何函數支援SQL/MM標準並符合開放地理空間聯盟 (OGC) 的OpenGIS規範。空間幾何函數使用Well-Known Text(WKT)格式描述空間幾何體(例如點、線段、多邊形等),詳細說明如下表所示。

空間幾何體

Well-Known Text(WKT)格式

POINT (0 0)

線段

LINESTRING (0 0, 1 1, 1 2)

多邊形

POLYGON((0 0, 4 0, 4 4, 0 4, 0 0), (1 1, 2 1, 2 2, 1 2, 1 1))

多點

MULTIPOINT(0 0, 1 2)

多線段

MULTILINESTRING((0 0, 1 1, 1 2), (2 3, 3 2, 5 4))

多個多邊形

MULTIPOLYGON(((0 0, 4 0, 4 4, 0 4, 0 0), (1 1, 2 1, 2 2, 1 2, 1 1)), ((-1 -1, -1 -2, -2 -2, -2 -1, -1 -1)))

空間幾何體集合

GEOMETRYCOLLECTION(POINT(2 3), LINESTRING(2 3, 3 4))

函數列表

分類

函數名稱

文法

說明

支援SQL

支援SPL

構造空間實體

ST_AsText函數

ST_AsText(x)

將一個空間幾何體轉變為WKT格式的文本。

×

ST_GeometryFromText函數

ST_GeometryFromText(x)

根據輸入的WKT文本構造一個空間幾何體。

×

ST_LineFromText函數

ST_LineFromText(x)

根據輸入的WKT文本構造一條線段。

×

ST_Polygon函數

ST_Polygon(x)

根據輸入的WKT文本構造一個多邊形。

×

ST_Point函數

ST_Point(x, y)

根據輸入的WKT文本構造一個點。

×

運算子

ST_Boundary函數

ST_Boundary(x)

返回空間幾何體的邊界。

×

ST_Buffer函數

ST_Buffer(x, distance)

返回距離指定空間幾何體一定距離的空間幾何體。

×

ST_Difference函數

ST_Difference(x, y)

返回兩個空間幾何體不同點的集合。

×

ST_Envelope函數

ST_Envelope(x)

返回空間幾何體的最小邊界框。

×

ST_ExteriorRing函數

ST_ExteriorRing(x)

返回空間幾何體的外環(線段形式)。

×

ST_Intersection函數

ST_Intersection(x, y)

返回兩個空間幾何體的交集點。

×

ST_SymDifference函數

ST_SymDifference(x, y)

返回兩個空間幾何體的不同點,然後組成一個新的空間幾何體。

×

空間關係判斷

ST_Contains函數

ST_Contains(x, y)

判斷第一個空間幾何體是否包含第二個空間幾何體(邊界可存在交集)。如果包含,則返回true。

×

ST_Crosses函數

ST_Crosses(x, y)

判斷兩個空間幾何體是否存在相同的內部點。如果存在,則返回true。

×

ST_Disjoint函數

ST_Disjoint(x, y)

判斷兩個空間幾何體是否沒有任何交集。 如果沒有,則返回true。

×

ST_Equals函數

ST_Equals(x, y)

判斷兩個空間幾何體是否完全相同。如果是,則返回true。

×

ST_Intersects函數

ST_Intersects(x, y)

判斷兩個空間幾何體的平面投影是否存在共同點。如果是,則返回true。

×

ST_Overlaps函數

ST_Overlaps(x, y)

判斷兩個空間幾何體的維度是否相同。如果兩個空間幾何體的維度相同且不是內含項目關聯性,則返回true。

×

ST_Relate函數

ST_Relate(x, y, patternMatrix string)

判斷兩個空間幾何體是否相關。如果是,則返回true。

×

ST_Touches函數

ST_Touches(x, y)

判斷兩個空間幾何體是否只有邊界存在關聯,沒有共同的內部點。如果是,則返回true。

×

ST_Within函數

ST_Within(x, y)

判斷第一個空間幾何體是否完全在第二個空間幾何體內部(邊界無交集)。如果是,則返回true。

×

Accessors

ST_Area函數

ST_Area(x)

使用歐幾裡得測量法計算空間幾何體在二維平面上的投影面積。

×

ST_Centroid函數

ST_Centroid(x)

返回空間幾何實體的中心點。

×

ST_CoordDim函數

ST_CoordDim(x)

返回空間幾何體的座標維度。

×

ST_Dimension函數

ST_Dimension(x)

返回空間幾何實體的固有維度,必須小於或等於座標維度。

×

ST_Distance函數

ST_Distance(x, y)

計算兩個空間幾何體之間的最小距離。

×

ST_EndPoint函數

ST_EndPoint(x)

返回線段中的最後一個點。

×

ST_IsClosed函數

ST_IsClosed(x)

判斷輸入的空間幾何體是否封閉。如果是,則返回true。

×

ST_IsEmpty函數

ST_IsEmpty(x)

判斷輸入的空間幾何體是否為空白。如果是,則返回true。

×

ST_IsRing函數

ST_IsRing(x)

判斷輸入的空間幾何體是否為閉合的簡單線段(環)。如果是,則返回true。

×

ST_Length函數

ST_Length(x)

使用歐幾裡得測量法計算線段的二維投影長度。如果存在多條線段,則返回所有線段的長度之和。

×

ST_NumPoints函數

ST_NumPoints(x)

返回空間幾何體中點的個數。

×

ST_NumInteriorRing函數

ST_NumInteriorRing(x)

計算空間幾何體中內部環的數量。

×

ST_StartPoint函數

ST_StartPoint(x)

返回線段中的第一個點。

×

ST_X函數

ST_X(x)

返回輸入焦點的第一個X軸座標。

×

ST_XMax函數

ST_XMax(x)

返回空間幾何體的第一個最大的X軸座標。

×

ST_XMin函數

ST_XMin(x)

返回空間幾何體的第一個最小的X軸座標。

×

ST_Y函數

ST_Y(x)

返回輸入焦點的第一個Y軸座標。

×

ST_YMax函數

ST_YMax(x)

返回空間幾何體的第一個最大的Y軸座標。

×

ST_YMin函數

ST_YMin(x)

返回幾何體的第一個最小的Y軸座標。

×

Bing圖塊

bing_tile函數

bing_tile(x, y, zoom_level)

通過X座標、Y座標和縮放層級構造一個Bing圖塊。

×

bing_tile(quadKey)

通過四叉樹鍵構造一個Bing圖塊。

×

bing_tile_at函數

bing_tile_at(x, y, zoom_level)

通過經緯度和縮放層級構造一個Bing圖塊。

×

bing_tile_coordinates函數

bing_tile_coordinates(x)

返回目標Bing圖塊對應的X座標和Y座標。

×

bing_tile_polygon函數

bing_tile_polygon(x)

返回目標Bing圖塊的多邊形格式。

×

bing_tile_quadkey函數

bing_tile_quadkey(x)

返回目標Bing圖塊的四叉樹鍵。

×

bing_tile_zoom_level函數

bing_tile_zoom_level(x)

返回目標Bing圖塊的縮放層級。

×

ST_AsText函數

ST_AsText函數用於將一個空間幾何體轉變成WKT文本。

文法

ST_AsText(x)

參數說明

參數

說明

x

參數值為geometry類型。

傳回值類型

varchar類型。

樣本

將一個點轉變成WKT格式的文本。

  • 查詢和分析語句

    * | SELECT ST_AsText(ST_Point(1,1))
  • 查詢和分析結果ST_AsText

ST_GeometryFromText函數

ST_GeometryFromText函數會根據您輸入的WKT文本構造一個空間幾何體。

文法

ST_GeometryFromText(x)

參數說明

參數

說明

x

參數值為varchar類型。

傳回值類型

geometry類型。

樣本

構造多個多邊形。

  • 查詢和分析語句

    * | SELECT ST_GeometryFromText('multipolygon(((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))')
  • 查詢和分析結果ST_GeometryFromText

ST_LineFromText函數

ST_LineFromText函數會根據您輸入的WKT文本構造一條線段。

文法

ST_LineFromText(x)

參數說明

參數

說明

x

參數值為varchar類型。

傳回值類型

linestring類型。

樣本

構造一條線段。

  • 查詢和分析語句

    * | SELECT ST_LineFromText('linestring(10 10,20 20)')
  • 查詢和分析結果ST_LineFromText

ST_Polygon函數

ST_Polygon函數會根據您輸入的WKT文本構造一個多邊形。

文法

ST_Polygon(x)

參數說明

參數

說明

x

參數值為varchar類型。

傳回值類型

polygon類型。

樣本

構造一個多邊形。

  • 查詢和分析語句

    * | SELECT ST_Polygon('polygon((10 10,10 20,20 20,20 15,10 10))')
  • 查詢和分析結果ST_Polygon

ST_Point函數

ST_Point函數會根據您輸入的WKT文本構造一個點。

文法

ST_Point(x, y)

參數說明

參數

說明

x

參數值為geometry類型。

y

參數值為geometry類型。

傳回值類型

point類型。

樣本

構造一個點。

  • 查詢和分析語句

    * | SELECT ST_Point(0,0)
  • 查詢和分析結果ST_Point

ST_Boundary函數

ST_Boundary函數用於返回空間幾何體的邊界。

  • 點的邊界為空白,即返回POINT EMPTY。

  • 線段的邊界由線段的端點組成。

  • 多邊形的邊界由構成多邊形的外環及其所有內環的線段組成。

文法

ST_Boundary(x)

參數說明

參數

說明

x

參數值為geography類型。

傳回值類型

geography類型。

樣本

使用ST_Polygon函數構造一個多邊形,然後使用ST_Boundary返回多邊形的邊界。

  • 查詢和分析語句

    * | SELECT  ST_Boundary(ST_Polygon('polygon((10 10,10 20,20 20,20 15,10 10))'))
  • 查詢和分析結果ST_Boundary

ST_Buffer函數

ST_Buffer函數用於返回距離指定空間幾何體一定距離的空間幾何體。

文法

ST_Buffer(x, distance)

參數說明

參數

說明

x

參數值為geometry類型。

distance

距離。

傳回值類型

geometry類型。

樣本

使用ST_Point函數構造一個點,然後使用ST_Buffer函數返回距離該點一定距離的多邊形。

  • 查詢和分析語句

    * | SELECT ST_Buffer(ST_Point(1,1),1)
  • 查詢和分析結果ST_Buffer

ST_Difference函數

ST_Difference函數用於返回兩個空間幾何體不同點的集合。

文法

ST_Difference(x, y)

參數說明

參數

說明

x

參數值為geometry類型。

y

參數值為geometry類型。

傳回值類型

geometry類型。

樣本

使用ST_GeometryFromText函數構造兩個空間幾何體,然後使用ST_Difference函數返回兩個空間幾何體不同點的集合。

  • 查詢和分析語句

    * |
    SELECT
      ST_Difference(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,0 15,0 10), (50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 50)))'
        )
      ) AS "Difference"
  • 查詢和分析結果ST_Difference

ST_Envelope函數

ST_Envelope函數用於返回空間幾何體的最小邊界框。

文法

ST_Envelope(x)

參數說明

參數

說明

x

參數值為geometry類型。

傳回值類型

geometry類型。

樣本

使用ST_GeometryFromText函數構造一個空間幾何體,然後使用ST_Envelope函數返回該空間幾何體的最小邊界框。

  • 查詢和分析語句

    * |
    SELECT
      ST_Envelope(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      ) 
  • 查詢和分析結果ST_Envelope

ST_ExteriorRing函數

ST_ExteriorRing函數用於返回空間幾何體的外環(線段形式)。

文法

ST_ExteriorRing(x)

參數說明

參數

說明

x

參數值為geometry類型。

傳回值類型

geometry類型。

樣本

使用ST_GeometryFromText函數構造一個空間幾何體,然後使用ST_ExteriorRing函數返回該空間幾何體的外環。

  • 查詢和分析語句

    * |
    SELECT
      ST_ExteriorRing(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • 查詢和分析結果ST_ExteriorRing

ST_Intersection函數

ST_Intersection函數用於返回兩個空間幾何體的交集點。

文法

ST_Intersection(x, y)

參數說明

參數

說明

x

參數值為geometry類型。

y

參數值為geometry類型。

傳回值類型

geometry類型。

樣本

使用ST_GeometryFromText函數構造兩個空間幾何體,然後使用ST_Intersection函數返回兩個空間幾何體的交集點。

  • 查詢和分析語句

    * |
    SELECT
      ST_Intersection(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 50)))'
        )
      ) 
  • 查詢和分析結果ST_Intersection

ST_SymDifference函數

ST_SymDifference函數用於返回兩個空間幾何體的不同點,然後組成一個新的空間幾何體。

文法

ST_SymDifference(x, y)

參數說明

參數

說明

x

參數值為geometry類型。

y

參數值為geometry類型。

傳回值類型

geometry類型。

樣本

使用ST_GeometryFromText函數構造兩個空間幾何體,然後使用ST_SymDifference函數返回兩個空間幾何體的不同點,組成一個新的空間幾何體。

  • 查詢和分析語句

    * |
    SELECT
      ST_SymDifference(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 50)))'
        )
      )
  • 查詢和分析結果ST_SymDifference

ST_Contains函數

ST_Contains函數用於判斷第一個空間幾何體是否包含第二個空間幾何體(邊界可存在交集)。如果包含,則返回true。

文法

ST_Contains(x, y)

參數說明

參數

說明

x

參數值為geometry類型。

y

參數值為geometry類型。

傳回值類型

boolean類型。

樣本

使用ST_GeometryFromText函數構造兩個空間幾何體,然後使用ST_Contains函數判斷第一個空間幾何體是否包含第二個空間幾何體(邊界可存在交集)。

  • 查詢和分析語句

    * |
    SELECT
      ST_Contains(
        ST_GeometryFromText(
          'polygon((10 10,10 20,20 20,20 15,10 10))'
        ),
        ST_GeometryFromText(
          'point(11 11)'
        )
      )
  • 查詢和分析結果 ST_Contains

ST_Crosses函數

ST_Crosses函數用於判斷兩個空間幾何體是否存在相同的內部點。如果存在,則返回true。

文法

ST_Crosses(x, y)

參數說明

參數

說明

x

參數值為geometry類型。

y

參數值為geometry類型。

傳回值類型

boolean類型。

樣本

使用ST_GeometryFromText函數構造兩個空間幾何體,然後使用ST_Crosses函數判斷兩個空間幾何體是否存在相同的內部點。

  • 查詢和分析語句

    * |
    SELECT
      ST_Crosses(
        ST_GeometryFromText(
          'multipolygon (((10 10, 10 20, 20 20, 20 15 , 10 10), (50 40, 50 50, 60 50, 60 40, 50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10, 10 20, 20 20, 20 15 , 10 10), (50 40, 50 50, 60 50, 60 40, 50 50)))'
        )
      )
  • 查詢和分析結果ST_Crosses

ST_Disjoint函數

ST_Disjoint函數用於判斷兩個空間幾何體是否沒有任何交集。 如果沒有,則返回true。

文法

ST_Disjoint(x, y)

參數說明

參數

說明

x

參數值為geometry類型。

y

參數值為geometry類型。

傳回值類型

boolean類型。

樣本

使用ST_GeometryFromText函數構造兩個空間幾何體,然後使用ST_Disjoint函數判斷兩個空間幾何體是否存在交集。

  • 查詢和分析語句

    * |
    SELECT
       ST_Disjoint(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 50)))'
        )
      )
  • 查詢和分析結果ST_Crosses

ST_Equals函數

ST_Equals函數用於判斷兩個空間幾何體是否完全相同。如果是,則返回true。

文法

ST_Equals(x, y)

參數說明

參數

說明

x

參數值為geometry類型。

y

參數值為geometry類型。

傳回值類型

boolean類型。

樣本

使用ST_GeometryFromText函數構造兩個空間幾何體,然後使用ST_Equals函數判斷兩個空間幾何體是否完全相同。

  • 查詢和分析語句

    * |
    SELECT
       ST_Equals(
        ST_GeometryFromText(
          'multipolygon(((10 10,10 20,20 20,20 15,10 10),(50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon(((10 10,10 20,20 20,20 15,10 10),(50 40,50 50,60 50,60 40,50 50)))'
        )
      )
  • 查詢和分析結果ST_Crosses

ST_Intersects函數

ST_Intersects函數用於判斷兩個空間幾何體的平面投影是否存在共同點。如果是,則返回true。

文法

ST_Intersects(x, y)

參數說明

參數

說明

x

參數值為geometry類型。

y

參數值為geometry類型。

傳回值類型

boolean類型。

樣本

使用ST_GeometryFromText函數構造兩個空間幾何體,然後使用ST_Intersects函數判斷兩個空間幾何體的平面投影是否存在共同點。

  • 查詢和分析語句

    * |
    SELECT
       ST_Intersects(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 50)))'
        )
      )
  • 查詢和分析結果 ST_Contains

ST_Overlaps函數

ST_Overlaps函數用於判斷兩個空間幾何體的維度是否相同。如果兩個空間幾何體的維度相同且不是內含項目關聯性,則返回true。

文法

ST_Overlaps(x, y)

參數說明

參數

說明

x

參數值為geometry類型。

y

參數值為geometry類型。

傳回值類型

boolean類型。

樣本

使用ST_GeometryFromText函數構造兩個空間幾何體,然後使用ST_Overlaps函數判斷兩個空間幾何體的維度是否相同。

  • 查詢和分析語句

    * |
    SELECT
      ST_Overlaps(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 50)))'
        )
      )
  • 查詢和分析結果ST_Crosses

ST_Relate函數

ST_Relate函數用於判斷兩個空間幾何體是否相關(內部或邊界以任何方式相關)。如果是,則返回true。

文法

ST_Relate(x, y, patternMatrix string)

參數說明

參數

說明

x

參數值為geometry類型。

y

參數值為geometry類型。

patternMatrix string

DE-9IM模式矩陣字串,參數值為varchar類型。

傳回值類型

boolean類型。

樣本

使用ST_GeometryFromText函數構造兩個空間幾何體,然後使用ST_Relate函數判斷兩個空間幾何體是否相關。

  • 查詢和分析語句

    * |
    SELECT
      ST_Relate(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 50)))'
        ),  '****T****'
      )
  • 查詢和分析結果 ST_Contains

ST_Touches函數

ST_Touches函數用於判斷兩個空間幾何體是否只有邊界存在關聯,沒有共同的內部點。如果是,則返回true。

文法

ST_Touches(x, y)

參數說明

參數

說明

x

參數值為geometry類型。

y

參數值為geometry類型。

傳回值類型

boolean類型。

樣本

使用ST_GeometryFromText函數構造兩個空間幾何體,然後使用ST_Touches函數判斷兩個空間幾何體是否只有邊界存在關聯,沒有共同的內部點。

  • 查詢和分析語句

    * |
    SELECT
       ST_Touches(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 50)))'
        )
      )
  • 查詢和分析結果ST_Crosses

ST_Within函數

ST_Within函數用於判斷第一個空間幾何體是否完全在第二個空間幾何體內部(邊界無交集)。如果是,則返回true。

文法

ST_Within(x, y)

參數說明

參數

說明

x

參數值為geometry類型。

y

參數值為geometry類型。

傳回值類型

boolean類型。

樣本

使用ST_GeometryFromText函數構造兩個空間幾何體,然後使用ST_Within函數判斷第一個空間幾何體是否完全在第二個空間幾何體內部。

  • 查詢和分析語句

    * |
    SELECT
      ST_Within(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 50)))'
        )
      )
  • 查詢和分析結果ST_Crosses

ST_Area函數

ST_Area函數使用歐幾裡得測量法計算空間幾何體在二維平面上的投影面積。

文法

ST_Area(x)

參數說明

參數

說明

x

參數值為geometry類型。

傳回值類型

double類型。

樣本

使用ST_GeometryFromText函數構造一個空間幾何體,然後使用ST_AreaFunction Compute該空間幾何體在二維平面上的投影面積。

  • 查詢和分析語句

    * |
    SELECT
      ST_Area(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • 查詢和分析結果ST_Area

ST_Centroid函數

ST_Centroid函數用於返回空間幾何體的中心點。

文法

ST_Centroid(x)

參數說明

參數

說明

x

參數值為geometry類型。

傳回值類型

geometry類型。

樣本

使用ST_GeometryFromText函數構造一個空間幾何體,然後使用ST_Centroid函數返回該空間幾何體的中心點。

  • 查詢和分析語句

    * |
    SELECT
      ST_Centroid(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • 查詢和分析結果ST_Centroid

ST_CoordDim函數

ST_CoordDim函數用於返回空間幾何體的座標維度。

文法

ST_CoordDim(x)

參數說明

參數

說明

x

參數值為geometry類型。

傳回值類型

bigint類型。

樣本

使用ST_GeometryFromText函數構造一個空間幾何體,然後使用ST_CoordDim函數返回該空間幾何體的座標維度。

  • 查詢和分析語句

    * |
    SELECT
      ST_CoordDim(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • 查詢和分析結果ST_CoordDim

ST_Dimension函數

ST_Dimension函數用於返回空間幾何體的固有維度,必須小於或等於座標維度。

文法

ST_Dimension(x)

參數說明

參數

說明

x

參數值為geometry類型。

  • x為點或空的空間幾何體時,傳回值為0。

  • x為線段時,傳回值為1。

  • x為多邊形時,傳回值為2。

  • x為空白間幾何體時,傳回值為集合的最大維度。

傳回值類型

bigint類型。

樣本

使用ST_GeometryFromText函數構造一個空間幾何體,然後使用ST_Dimension函數返回該空間幾何體的固有維度。

  • 查詢和分析語句

    * |
    SELECT
      ST_Dimension(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • 查詢和分析結果ST_Dimension

ST_Distance函數

ST_Distance函數用於計算兩個空間幾何體之間的最小距離。

文法

ST_Distance(x, y)

參數說明

參數

說明

x

參數值為geometry類型。

y

參數值為geometry類型。

傳回值類型

double類型。

樣本

使用ST_GeometryFromText函數構造兩個空間幾何體,然後使用ST_DistanceFunction Compute兩個空間幾何體之間的最小距離。

  • 查詢和分析語句

    * |
    SELECT
      ST_Distance(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 50)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • 查詢和分析結果ST_Distance

ST_EndPoint函數

ST_EndPoint函數用於返回線段中的最後一個點。

文法

ST_EndPoint(x)

參數說明

參數

說明

x

參數值為geometry類型。

傳回值類型

point類型。

樣本

使用ST_LineFromText函數構造一條線段,然後使用ST_EndPoint函數返回線段中的最後一個點。

  • 查詢和分析語句

    * |
    SELECT
      ST_EndPoint(
        ST_LineFromText(
          'linestring (10 10,20 20)'
        )
      )
  • 查詢和分析結果ST_EndPoint

ST_IsClosed函數

ST_IsClosed函數用於判斷空間幾何體是否封閉。如果是,則返回true。

文法

ST_IsClosed(x)

參數說明

參數

說明

x

參數值為geometry類型。

傳回值類型

boolean類型。

樣本

使用ST_LineFromText函數構造一條線段,然後使用ST_IsClosed函數判斷該線段是否封閉。

  • 查詢和分析語句

    * |
    SELECT
      ST_IsClosed(
        ST_LineFromText(
          'linestring (10.05 10.28 , 20.95 20.89 )'
        )
      )
  • 查詢和分析結果ST_Crosses

ST_IsEmpty函數

ST_IsEmpty函數用於判斷輸入的空間幾何體是否為空白。如果是,則返回true。

文法

ST_IsEmpty(x)

參數說明

參數

說明

x

參數值為geometry類型。

傳回值類型

boolean類型。

樣本

使用ST_Point函數構造一個點,然後使用ST_IsEmpty函數判斷該點是否為空白。

  • 查詢和分析語句

    * | SELECT ST_IsEmpty(ST_Point(1,1))
  • 查詢和分析結果ST_Crosses

ST_IsRing函數

ST_IsRing函數用於判斷輸入的空間幾何體是否為閉合的簡單線段(環)。如果是,則返回true。

文法

ST_IsRing(x)

參數說明

參數

說明

x

參數值為geometry類型。

傳回值類型

boolean類型。

樣本

使用ST_LineFromText函數構造一條線段,然後使用ST_IsRing函數判斷該線段是否為一個環。

  • 查詢和分析語句

    * |
    SELECT
      ST_IsRing(
        ST_LineFromText(
          'linestring (10.05 10.28,20.95 20.89 )'
        )
      )
  • 查詢和分析結果ST_Crosses

ST_Length函數

ST_Length函數使用歐幾裡得測量法計算線段的二維投影長度。如果存在多條線段,則返回所有線段的長度之和。

文法

ST_Length(x)

參數說明

參數

說明

x

參數值為geometry類型。

傳回值類型

double類型。

樣本

使用ST_LineFromText函數構造一條線段,然後使用ST_LengthFunction Compute線段的長度。

  • 查詢和分析語句

    * |
    SELECT
      ST_Length(
        ST_LineFromText(
          'linestring (10.05 10.28,20.95 20.89)'
        )
      )
  • 查詢和分析結果ST_Length

ST_NumPoints函數

ST_NumPoints函數用於返回空間幾何體中點的個數。

文法

ST_NumPoints(x)

參數說明

參數

說明

x

參數值為geometry類型。

傳回值類型

bigint類型。

樣本

使用ST_LineFromText函數構造一條線段,然後使用ST_NumPoints函數返回線段中點的個數。

  • 查詢和分析語句

    * |
    SELECT
      ST_NumPoints(
        ST_LineFromText('linestring (10 10,20 20)')
      )
  • 查詢和分析結果ST_NumPoints

ST_NumInteriorRing函數

ST_NumInteriorRing函數用於計算空間幾何體中內部環的數量。

文法

ST_NumInteriorRing(x)

參數說明

參數

說明

x

參數值為geometry類型。

傳回值類型

bigint類型。

樣本

使用ST_GeometryFromText函數構造一個空間幾何體,然後使用ST_NumInteriorRing函數返回該幾何體中內部環的數量。

  • 查詢和分析語句

    * |
    SELECT
      ST_NumInteriorRing(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • 查詢和分析結果ST_NumInteriorRing

ST_StartPoint函數

ST_StartPoint函數用於返回線段中的第一個點。

文法

ST_StartPoint(x)

參數說明

參數

說明

x

參數值為geometry類型。

傳回值類型

point類型。

樣本

使用ST_LineFromText函數構造一條線段,然後使用ST_StartPoint函數返回該線段中的第一個點。

  • 查詢和分析語句

    * |
    SELECT
      ST_StartPoint(
        ST_LineFromText(
          'linestring (10 10,20 20 )'
        )
      )
  • 查詢和分析結果ST_StartPoint

ST_X函數

ST_X函數用於返回輸入焦點的X軸座標。

文法

ST_X(x)

參數說明

參數

說明

x

參數值為point類型。

傳回值類型

double類型。

樣本

使用ST_Point函數構造一個點,然後使用ST_X函數返回該點的X軸座標。

  • 查詢和分析語句

    * | SELECT ST_X(ST_Point(1,3))
  • 查詢和分析結果ST_X

ST_XMax函數

ST_XMax函數用於返回空間幾何體的第一個最大的X軸座標。

文法

ST_XMax(x)

參數說明

參數

說明

x

參數值為geometry類型。

傳回值類型

double類型。

樣本

使用ST_GeometryFromText函數構造一個空間幾何體,然後使用ST_XMax函數返回該空間幾何體的第一個最大的X軸座標。

  • 查詢和分析語句

    * |
    SELECT
      ST_XMax(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • 查詢和分析結果ST_XMax

ST_XMin函數

ST_XMin函數用於返回空間幾何體的第一個最小的X軸座標。

文法

ST_XMin(x)

參數說明

參數

說明

x

參數值為geometry類型。

傳回值類型

double類型。

樣本

使用ST_GeometryFromText函數構造一個空間幾何體,然後使用ST_XMin函數返回該空間幾何體的第一個最小的X軸座標。

  • 查詢和分析語句

    * |
    SELECT
      ST_XMin(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • 查詢和分析結果ST_XMin

ST_Y函數

ST_Y函數用於返回輸入焦點的Y軸座標。

文法

ST_Y(x)

參數說明

參數

說明

x

參數值為point類型。

傳回值類型

double類型。

樣本

使用ST_Point函數構造一個點,然後使用ST_Y函數返回該點的Y軸座標。

  • 查詢和分析語句

    * | SELECT ST_Y(ST_Point(1,3))
  • 查詢和分析結果ST_Y

ST_YMax函數

ST_YMax函數用於返回空間幾何體的第一個最大的Y軸座標。

文法

ST_YMax(x)

參數說明

參數

說明

x

參數值為geometry類型。

傳回值類型

double類型。

樣本

使用ST_GeometryFromText函數構造一個空間幾何體,然後使用ST_YMax函數返回該空間幾何體的第一個最大的Y軸座標。

  • 查詢和分析語句

    * |
    SELECT
      ST_YMax(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • 查詢和分析結果ST_YMax

ST_YMin函數

ST_YMin函數用於返回空間幾何體的第一個最小的Y軸座標。

文法

ST_YMin(x)

參數說明

參數

說明

x

參數值為geometry類型。

傳回值類型

double類型。

樣本

使用ST_GeometryFromText函數構造一個空間幾何體,然後使用ST_YMin函數返回空間幾何體的第一個最小的Y軸座標。

  • 查詢和分析語句

    * |
    SELECT
      ST_YMin(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • 查詢和分析結果ST_YMin

bing_tile函數

bing_tile函數用於構造一個Bing圖塊。

文法

  • 通過X座標、Y座標和縮放層級構造一個Bing圖塊。

    bing_tile(x, y, zoom_level)
  • 通過四叉樹鍵構造一個Bing圖塊。

    bing_tile(quadKey)

參數說明

參數

說明

x

X座標,參數值為integer類型。

y

Y座標,參數值為integer類型。

zoom_level

縮放層級,取值範圍為[1,23],參數值為integer類型。

quadKey

四叉樹鍵。

傳回值類型

BingTile類型。

樣本

  • 樣本1:通過X座標、Y座標和縮放層級構造一個Bing圖塊。

    • 查詢和分析語句

      * | SELECT bing_tile(10, 20, 20)
    • 查詢和分析結果bing_tile

  • 樣本2:通過四叉樹鍵構造一個Bing圖塊。

    • 查詢和分析語句

      * | SELECT bing_tile(bing_tile_quadkey(bing_tile(10, 20, 20)))
    • 查詢和分析結果bing_tile

bing_tile_at函數

bing_tile_at函數通過經緯度和縮放層級構造一個Bing圖塊。

文法

bing_tile_at(x, y, zoom_level)

參數說明

參數

說明

x

緯度,取值範圍為[-85.05112878,85.05112878],參數值為double類型。

y

經度,取值範圍為[-180,180],參數值為double類型。

zoom_level

縮放層級,取值範圍為[1,23],參數值為integer類型。

傳回值類型

BingTile類型。

樣本

建立一個Bing圖塊。

  • 查詢和分析語句

    * | SELECT bing_tile_at(47.265511, -122.465691, 12)
  • 查詢和分析結果bing_tile_at

bing_tile_coordinates函數

bing_tile_coordinates函數用於返回目標Bing圖塊對應的X座標和Y座標。

文法

bing_tile_coordinates(x)

參數說明

參數

說明

x

參數值為BingTile類型。

傳回值類型

array(integer,integer)類型。

樣本

通過輸入的Bing圖塊返回對應的X座標和Y座標。

  • 查詢和分析語句

    * | SELECT bing_tile_coordinates(bing_tile_at(47.265511, -122.465691, 12))
  • 查詢和分析結果bing_tile_coordinates

bing_tile_polygon函數

bing_tile_polygon函數用於返回目標Bing圖塊的多邊形格式。

文法

bing_tile_polygon(x)

參數說明

參數

說明

x

參數值為BingTile類型。

傳回值類型

polygon類型。

樣本

返回Bing圖塊的多邊形格式。

  • 查詢和分析語句

    * | SELECT bing_tile_polygon(bing_tile_at(30.26, 120.19, 12))
  • 查詢和分析結果bing_tile_polygon

bing_tile_quadkey函數

bing_tile_quadkey函數用於返回目標Bing圖塊的四叉樹鍵。

文法

bing_tile_quadkey(x)

參數說明

參數

說明

x

參數值為BingTile類型。

傳回值類型

varchar類型。

樣本

返回目標Bing圖塊的四叉樹鍵。

  • 查詢和分析語句

    * | SELECT bing_tile_quadkey(bing_tile(10, 20, 20))
  • 查詢和分析結果bing_tile_quadkey

bing_tile_zoom_level函數

bing_tile_zoom_level函數用於返回目標Bing圖塊的縮放層級。

文法

bing_tile_zoom_level(x)

參數說明

參數

說明

x

參數值為BingTile類型。

傳回值類型

double類型。

樣本

返回目標Bing圖塊的縮放層級。

  • 查詢和分析語句

    * | SELECT bing_tile_zoom_level(bing_tile(10, 20, 20))
  • 查詢和分析結果bing_tile_zoom_level