建構子函數 - Amazon Athena

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

建構子函數

使用建構子函數來取得 pointlinepolygon 幾何資料類型的二進位表示法。您也可以使用這些函數將二進位資料轉換為文字,並取得表示為「已知文字」(WKT) 之幾何資料的二進位值。

ST_AsBinary(geometry)

傳回包含指定幾何圖形之WKB表示法的 varbinary 資料類型。範例:

SELECT ST_AsBinary(ST_Point(-158.54, 61.56))

ST_AsText(geometry)

將每個指定的幾何資料類型轉換成文字。傳回 varchar 資料類型中的值,這是幾何資料類型的WKT表示法。範例:

SELECT ST_AsText(ST_Point(-158.54, 61.56))

ST_GeomAsLegacyBinary(geometry)

透過指定的幾何傳回舊版 varbinary。範例:

SELECT ST_GeomAsLegacyBinary(ST_Point(-158.54, 61.56)

ST_GeometryFromText(varchar)

將WKT格式的文字轉換為幾何圖形資料類型。傳回幾何資料類型中的值。範例:

SELECT ST_GeometryFromText(ST_AsText(ST_Point(1, 2)))

ST_GeomFromBinary(varbinary)

從表示返回幾何類型的對WKB象。範例:

SELECT ST_GeomFromBinary(ST_AsBinary(ST_Point(-158.54, 61.56)))

ST_GeomFromLegacyBinary(varbinary)

透過舊版 varbinary 類型傳回幾何類型物件。範例:

SELECT ST_GeomFromLegacyBinary(ST_GeomAsLegacyBinary(ST_Point(-158.54, 61.56)))

ST_LineFromText(varchar)

傳回幾何資料類型line 的值。範例:

SELECT ST_Line('linestring(1 1, 2 2, 3 3)')

ST_LineString(array(point))

傳回根據點幾何類型的陣列形成的 LineString 幾何類型。如果指定的陣列中有少於兩個非空點,則會傳回空的 LineString。如果陣列中的任何元素為 null、空或與前一個元素相同,則擲出例外狀況。傳回的幾何可能並不簡單。根據指定的輸入,傳回的幾何可能會自我相交或包含重複的頂點。範例:

SELECT ST_LineString(ARRAY[ST_Point(-158.54, 61.56), ST_Point(-158.55, 61.56)])

ST_MultiPoint(array(point))

傳回根據指定點形成的 MultiPoint 幾何物件。如果指定的陣列為空,則傳回 null。如果陣列中的任何元素為 null 或空,則擲出例外狀況。傳回的幾何可能並不簡單,如果指定的陣列有重複的項目,則可能包含重複的點。範例:

SELECT ST_MultiPoint(ARRAY[ST_Point(-158.54, 61.56), ST_Point(-158.55, 61.56)])

ST_Point(double, double)

傳回幾何類型 point 物件。對於此函數的輸入資料值,請使用幾何值,例如通用橫麥卡托 (UTM) 笛卡托座標系統中的值,或以十進位度表示的地理地圖單位 (經度和緯度)。經度和緯度值使用世界大地測量系統,也稱為 WGS 1984 或:4326。EPSGWGS1984 是全球定位系統 (GPS) 使用的座標系統。

例如,在以下標記法中,地圖座標以經度和緯度指定,而值 .072284 (緩衝距離) 是以角度單位 (十進制度數) 指定:

SELECT ST_Buffer(ST_Point(-74.006801, 40.705220), .072284)

語法:

SELECT ST_Point(longitude, latitude) FROM earthquakes LIMIT 1

以下範例使用特定的經度和緯度座標:

SELECT ST_Point(-158.54, 61.56) FROM earthquakes LIMIT 1

下一個範例使用特定的經度和緯度座標:

SELECT ST_Point(-74.006801, 40.705220)

下列範例會使用ST_AsText函數從中取得幾何WKT:

SELECT ST_AsText(ST_Point(-74.006801, 40.705220)) AS WKT

ST_Polygon(varchar)

順時針使用提供的座標序列 (從左到右),傳回幾何資料類型 polygon。從 Athena 引擎版本 2 開始,僅接受多邊形作為輸入。範例:

SELECT ST_Polygon('polygon ((1 1, 1 4, 4 4, 4 1))')

to_geometry(sphericalGeography)

從指定的球形地理物件傳回幾何物件。範例:

SELECT to_geometry(to_spherical_geography(ST_Point(-158.54, 61.56)))

to_spherical_geography(geometry)

從指定的幾何傳回球形地理物件。使用此函數,可將幾何物件轉換為地球半徑球體上的球形地理物件。此函數只能用於在 2D 空間或這類幾何的 GEOMETRYCOLLECTION 中定義的 POINTMULTIPOINTLINESTRINGMULTILINESTRINGPOLYGON 以及 MULTIPOLYGON 幾何。對於指定幾何的每個點,此函數會確認 point.x[-180.0, 180.0] 內部,而 point.y[-90.0, 90.0] 內部。此函數使用這些點作為經度和緯度來構建 sphericalGeography 結果的形狀。

範例:

SELECT to_spherical_geography(ST_Point(-158.54, 61.56))