将 shapefile 加载到 Amazon Redshift - Amazon Redshift
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

将 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 会使用它来确定空间参考系统 ID (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