將 Shapefile 載入 Amazon Redshift - Amazon Redshift

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

將 Shapefile 載入 Amazon Redshift

您可以使用 COPY 命令將儲存在 Amazon S3 中的 Esri Shapefile 擷取到 Amazon Redshift 資料表中。Shapefile 會以向量格式儲存地理特徵的幾何位置和屬性資訊。Shapefile 格式可以在空間上描述空間物件,例如點、線和多邊形。如需 Shapefile 的相關資訊,請參閱 Wikipedia 中的 Shapefile

COPY 命令支援資料格式參數 SHAPEFILE。依預設,Shapefile 的第一個資料欄是 GEOMETRYIDENTITY 資料欄。所有後續的資料欄都會遵循 Shapefile 中指定的順序。但是,目標資料表不需要使用此確切配置,因為您可以使用 COPY 資料欄對應來定義順序。若要取得有關 COPY 命令 Shapefile 支援的資訊,請參閱 SHAPEFILE

在某些情況下,產生的幾何圖形大小可能會大於 Amazon Redshift 中可儲存幾何圖形的最大值。如果是這樣,您可以使用 COPY 選項 SIMPLIFYSIMPLIFY AUTO 簡化擷取期間的幾何圖形,如下所示:

  • 指定 SIMPLIFY tolerance 可使用 Ramer-Douglas-Peucker 演算法和指定的容許值來簡化擷取期間的所有幾何圖形。

  • 指定 SIMPLIFY AUTO 但不含容許值,可使用 Ramer-Douglas-Peucker 演算法來單獨簡化大於大小上限的幾何圖形。此方法會計算仍可在大小上限內儲存物件的最小容許值。

  • 指定 SIMPLIFY AUTO max_tolerance,可使用 Ramer-Douglas-Peucker 演算法和自動計算的容許值來單獨簡化大於大小上限的幾何圖形。此方法可確保容許值不超過容許值上限。

如需 GEOMETRY 資料值大小上限的詳細資訊,請參閱 將空間資料與 Amazon Redshift 搭配使用時的考量事項

在某些情況下,容許值會低到記錄無法縮小到 GEOMETRY 資料值的大小上限。在這些情況下,您可以使用 COPY 命令的 MAXERROR 選項忽略所有或最多一定數量的擷取錯誤。

COPY 命令也支援載入 GZIP Shapefile。若要執行此作業,請指定 COPY GZIP 參數。使用此選項時,必須獨立壓縮所有 Shapefile 元件,並共用相同的壓縮字尾。

如果 Shapefile 中存在投影描述檔 (.prj),Redshift 會使用它來決定空間參考系統識別碼 (SRID)。如果 SRID 有效,則產生的幾何圖形會獲派此 SRID。如果與輸入幾何圖形相關聯的 SRID 值不存在,則產生的幾何圖形的 SRID 值為零。您可以將 SET read_srid_on_shapefile_ingestion 設定為 OFF,在工作階段層級停用空間參考系統 ID 的自動偵測。

查詢 SYS_SPATIAL_SIMPLIFYSVL_SPATIAL_SIMPLIFY 系統檢視,即可檢視已簡化的記錄及已計算的容許值。當您指定 SIMPLIFY tolerance 時,此檢視會包含每個 COPY 操作的記錄。若不指定,則會包含每個已簡化幾何圖形的記錄。如需詳細資訊,請參閱 SYS_SPATIAL_SIMPLIFYSVL_SPATIAL_SIMPLIFY

如需載入 Shapefile 的範例,請參閱 將 Shapefile 載入 Amazon Redshift