

 从补丁 198 开始，Amazon Redshift 将不再支持创建新的 Python UDF。现有的 Python UDF 将继续正常运行至 2026 年 6 月 30 日。有关更多信息，请参阅[博客文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

# 将 shapefile 加载到 Amazon Redshift
<a name="spatial-copy-shapefile"></a>

您可以使用 COPY 命令将存储在 Amazon S3 中的 Esri shapefile 摄取到 Amazon Redshift 表中。*shapefile* 以向量格式存储地理要素的几何位置和属性信息。shapefile 格式可以在空间上描述空间对象，如点、线和面。有关 shapefile 的更多信息，请参阅 Wikipedia 中的 [Shapefile](https://en.wikipedia.org/wiki/Shapefile)。

COPY 命令支持数据格式参数 `SHAPEFILE`。预设情况下，shapefile 的第一列是 `GEOMETRY` 或 `IDENTITY` 列。所有后续列都遵循 shapefile 中指定的顺序。但是，目标表不需要位于此精确布局中，因为您可以使用 COPY 列映射来定义顺序。有关 COPY 命令 shapefile 支持的信息，请参阅[SHAPEFILE](copy-parameters-data-format.md#copy-shapefile)。

在某些情况下，生成的几何体大小可能大于在 Amazon Redshift 中存储几何体的最大值。如果是这样，您可以使用 COPY 选项 `SIMPLIFY` 或 `SIMPLIFY AUTO` 来简化摄入过程中的几何体，如下所示：
+ 指定 `SIMPLIFY tolerance` 以使用 Ramer-Douglas-Peucker 算法和给定的容差简化摄入过程中的所有几何体。
+ 指定没有容差的 `SIMPLIFY AUTO`，以便仅使用 Ramer-Douglas-Peucker 算法简化大于最大尺寸的几何体。此方法可计算足够大的最小容差，以便在最大大小限制范围内存储对象。
+ 指定 `SIMPLIFY AUTO max_tolerance`，以便仅使用 Ramer-Douglas-Peucker 算法和自动计算的容差简化大于最大尺寸的几何体。此方法可确保该容差不超过最大容差。

有关 `GEOMETRY` 数据值的最大大小的信息，请参阅[将空间数据与 Amazon Redshift 一起使用时的注意事项](spatial-limitations.md)。

在某些情况下，容差足够低，记录不能缩小到 `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_SIMPLIFY` 或 `SVL_SPATIAL_SIMPLIFY` 系统视图，以查看已简化的记录以及计算出的容差。当您指定 `SIMPLIFY tolerance` 时，此视图包含每个 COPY 操作的记录。否则，它将包含每个简化几何体的记录。有关更多信息，请参阅 [SYS\$1SPATIAL\$1SIMPLIFY](SYS_SPATIAL_SIMPLIFY.md) 或 [SVL\$1SPATIAL\$1SIMPLIFY](r_SVL_SPATIAL_SIMPLIFY.md)。

有关加载 shapefile 的示例，请参阅[将 shapefile 加载到 Amazon Redshift](r_COPY_command_examples.md#copy-example-spatial-copy-shapefile)。