シェープファイルを Amazon Redshift にロードする
COPY コマンドを使用して、Amazon S3 に保存されている Esri シェープファイルを Amazon Redshift テーブルに取り込むことができます。シェープファイルは、地理的特徴の幾何学的位置と属性情報をベクトル形式で保存します。シェープファイル形式は、ポイント、ライン、ポリゴンなどの空間オブジェクトを空間的に記述できます。シェープファイルの詳細については、ウィキペディアでシェープファイル
COPY コマンドは、データ形式パラメータ SHAPEFILE
をサポートします。デフォルトでは、シェープファイルの最初の列は GEOMETRY
列または IDENTITY
列のいずれかです。後続のすべての列は、シェープファイルで指定された順序に従います。ただし、COPY 列マッピングを使用して順序を定義できるため、ターゲットテーブルはこの正確なレイアウトである必要はありません。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 で空間データを使用する際の考慮事項」を参照してください。
場合によっては、許容値が十分に低く、レコードが 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_SPATIAL_SIMPLIFY」または「SVL_SPATIAL_SIMPLIFY」を参照してください。
シェープファイルのロードの例については、「シェープファイルを Amazon Redshift にロードする」を参照してください。