Babelfish 支援地理空間資料類型 - Amazon Aurora

Babelfish 支援地理空間資料類型

從 3.5.0 和 4.1.0 版開始,Babelfish 包含下列兩種空間資料類型的支援:

  • 幾何資料類型:此資料類型適用於存放平面或歐幾里德 (平地球) 資料。

  • 地理資料類型:此資料類型適用於存放橢圓或圓地球資料,例如 GPS 緯度和經度座標。

這些資料類型允許空間資料的儲存和處理,但有限制。

了解 Babelfish 中的地理空間資料類型

  • 檢視、程序和資料表等各種資料庫物件都支援地理空間資料類型。

  • 支援 2-D 點資料類型,將位置資料存放為由經緯度和有效的空間參考系統識別符 (SRID) 定義的點。

  • 透過 JDBC、ODBC、DOTNET 和 PYTHON 等驅動程式連線至 Babelfish 的應用程式可以利用此地理空間功能。

Babelfish 中支援的幾何資料類型函數

  • STGeomFromText (geometry_tagged_text、SRID):使用已知文字 (WKT) 表示法建立幾何執行個體。

  • STPointFromText (point_tagged_text、SRID ):使用 WKT 表示法建立點執行個體。

  • 點 (X、Y、SRID):使用 x 和 y 座標的浮點數值建立點執行個體。

  • <geometry_instance>.STAsText ( ):從幾何執行個體擷取 WKT 表示法。

  • <geometry_instance>.STDistance (other_geometry):計算兩個幾何執行個體之間的距離。

  • <geometry_instance>.STX:擷取幾何執行個體的 X 座標 (經度)。

  • <geometry_instance>.STY:擷取幾何執行個體的 Y 座標 (緯度)。

Babelfish 中支援的地理資料類型函數

  • STGeomFromText (geography_tagged_text、SRID ):使用 WKT 表示法建立地理執行個體。

  • STPointFromText (point_tagged_text、SRID ):使用 WKT 表示法建立點執行個體。

  • 點 (緯度、經度、SRID):使用緯度和經度的浮點數值建立點執行個體。

  • <geography_instance>.STAsText ( ):從地理執行個體擷取 WKT 表示法。

  • <geography_instance>.STDistance (other_geography):計算兩個地理執行個體之間的距離。

  • <geography_instance>.Lat:擷取地理執行個體的緯度值。

  • <geography_instance>.Long:擷取地理執行個體的經度值。

Babelfish 中地理空間資料類型的限制

  • 目前,Babelfish 不支援更進階的功能,例如地理空間資料類型點執行個體的 Z-M 標記。

  • 目前不支援點執行個體以外的幾何類型:

    • LineString

    • CircularString

    • CompoundCurve

    • 多邊形

    • CurvePolygon

    • MultiPoint

    • MultiLineString

    • MultiPolygon

    • GeometryCollection

  • 目前,針對地理空間資料類型,不支援空間索引。

  • 目前針對這些資料類型僅支援列出的函數。如需詳細資訊,請參閱Babelfish 中支援的幾何資料類型函數Babelfish 中支援的地理資料類型函數

  • 與 T-SQL 相比,地理資料的 STDistance 函數輸出可能會有細微的精確度變化。這是因為基礎 PostGIS 實作所致。如需詳細資訊,請參閱 ST_Distance

  • 為獲得最佳效能,請使用內建的地理空間資料類型,而無需在 Babelfish 中建立額外的抽象層。

    提示

    雖然您可以建立自訂資料類型,但不建議根據地理空間資料加以建立。這可能會導致複雜性,因為支援有限而可能導致意外行為。

  • 在 Babelfish 中,地理空間函數名稱會用作為關鍵字,只有在以預期方式使用時,才會執行空間操作。

    提示

    在 Babelfish 中建立使用者定義的函數和程序時,請避免使用與內建地理空間函數相同的名稱。如果您有任何同名的現有資料庫物件,請使用 sp_rename 來重新命名。