

 Amazon Redshift は、パッチ 198 以降、新しい 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/)を参照してください。

# シェープファイルを Amazon Redshift にロードする
<a name="spatial-copy-shapefile"></a>

COPY コマンドを使用して、Amazon S3 に保存されている Esri シェープファイルを Amazon Redshift テーブルに取り込むことができます。*シェープファイル*は、地理的特徴の幾何学的位置と属性情報をベクトル形式で保存します。シェープファイル形式は、ポイント、ライン、ポリゴンなどの空間オブジェクトを空間的に記述できます。シェープファイルの詳細については、ウィキペディアで[シェープファイル](https://en.wikipedia.org/wiki/Shapefile)を参照してください。

COPY コマンドは、データ形式パラメータ `SHAPEFILE` をサポートします。デフォルトでは、シェープファイルの最初の列は `GEOMETRY` 列または `IDENTITY` 列のいずれかです。後続のすべての列は、シェープファイルで指定された順序に従います。ただし、COPY 列マッピングを使用して順序を定義できるため、ターゲットテーブルはこの正確なレイアウトである必要はありません。COPY コマンドのシェープファイルのサポートについては、「[SHAPEFILE](copy-parameters-data-format.md#copy-shapefile)」を参照してください。

場合によっては、生成されるジオメトリのサイズが Amazon Redshift にジオメトリを保存するための最大値よりも大きくなることがあります。その場合は、次のように COPY オプション `SIMPLIFY` または `SIMPLIFY AUTO` を使用して、取り込み中の形状を単純化できます。
+ `SIMPLIFY tolerance` を指定して、Ramer-Douglas-Peucker アルゴリズムと指定された許容値を使用して、取り込み中にすべてのジオメトリを簡略化します。
+ Ramer-Douglas-Peucker アルゴリズムを使用して最大サイズよりも大きい形状のみを簡略化するには、許容誤差なしで `SIMPLIFY AUTO` を指定します。このアプローチでは、オブジェクトを最大サイズの制限内で保存する際に十分な大きさの最小許容値を計算します。
+ Ramer-Douglas-Peucker アルゴリズムと自動的に計算された許容誤差を使用して、最大サイズよりも大きい形状のみを簡略化するには、`SIMPLIFY AUTO max_tolerance` を指定します。このアプローチにより、許容値が最大許容値を超えないようにします。

`GEOMETRY` データ値の最大サイズについては、「[Amazon Redshift で空間データを使用する際の考慮事項](spatial-limitations.md)」を参照してください。

場合によっては、許容値が十分に低く、レコードが `GEOMETRY` データ値の最大サイズを下回って縮小できないことがあります。このような場合、COPY コマンドの `MAXERROR` オプションを使用して、すべてまたは特定の数までの取り込みエラーを無視できます。

COPY コマンドは、GZIP シェープファイルのロードもサポートしています。これを行うには、COPY GZIP パラメータを指定します。このオプションでは、すべてのシェープファイルコンポーネントを個別に圧縮し、同じ圧縮サフィックスを共有する必要があります。

シェープファイルとともに投影定義ファイル (.prj) が存在する場合、Redshift はそのファイルを使用して空間参照系 ID (SRID) を特定します。SRID が有効である場合、結果として得られるジオメトリにはこの SRID が割り当てられています。入力ジオメトリに関連付けられている SRID 値が存在しない場合、結果として得られるジオメトリの SRID 値はゼロになります。セッションレベルでの空間参照系 ID の自動検出は、`SET read_srid_on_shapefile_ingestion` を `OFF` に設定することで無効にできます。

`SYS_SPATIAL_SIMPLIFY` または `SVL_SPATIAL_SIMPLIFY` システムビューにクエリを実行して、どのレコードが簡略されているかを、計算された許容値とともに表示します。`SIMPLIFY tolerance` を指定すると、このビューには各 COPY オペレーションのレコードが含まれます。それ以外の場合は、簡略化された各ジオメトリのレコードが含まれます。詳細については「[SYS\$1SPATIAL\$1SIMPLIFY](SYS_SPATIAL_SIMPLIFY.md)」または「[SVL\$1SPATIAL\$1SIMPLIFY](r_SVL_SPATIAL_SIMPLIFY.md)」を参照してください。

シェープファイルのロードの例については、「[シェープファイルを Amazon Redshift にロードする](r_COPY_command_examples.md#copy-example-spatial-copy-shapefile)」を参照してください。