Carregar um shapefile no Amazon Redshift
Você pode usar o comando COPY para ingerir shapefiles Esri armazenados no Amazon S3 em tabelas do Amazon Redshift. Um shapefile armazena a localização geométrica e as informações de atributos de feições geográficas em um formato vetorial. O formato shapefile pode descrever espacialmente objetos espacialmente, como pontos, linhas e polígonos. Para obter mais informações sobre um shapefile, consulte Shapefile
O comando COPY suporta o parâmetro de formato de dados SHAPEFILE
. Por padrão, a primeira coluna do shapefile é GEOMETRY
ou uma coluna IDENTITY
. Todas as colunas subsequentes seguem a ordem especificada no shapefile. No entanto, a tabela de destino não precisa estar nesse layout exato porque você pode usar o mapeamento de coluna COPY para definir a ordem. Para obter informações sobre o suporte a shapefile do comando COPY, consulte SHAPEFILE.
Em alguns casos, o tamanho da geometria resultante pode ser maior que o máximo para armazenar uma geometria no Amazon Redshift. Em caso afirmativo, você pode usar a opção COPY SIMPLIFY
ou SIMPLIFY AUTO
para simplificar as geometrias durante a ingestão da seguinte forma:
Especifique
SIMPLIFY tolerance
para simplificar todas as geometrias durante a ingestão usando o algoritmo Ramer-Douglas-Peucker e a tolerância dada.Especifique
SIMPLIFY AUTO
sem tolerância para simplificar apenas geometrias maiores que o tamanho máximo usando o algoritmo Ramer-Douglas-Peucker. Essa abordagem calcula a tolerância mínima que é grande o suficiente para armazenar o objeto dentro do limite máximo de tamanho.Especifique
SIMPLIFY AUTO max_tolerance
para simplificar apenas geometrias maiores que o tamanho máximo usando o algoritmo Ramer-Douglas-Peucker e a tolerância calculada automaticamente. Essa abordagem garante que a tolerância não exceda a tolerância máxima.
Para obter informações sobre o tamanho máximo de um valor de dados GEOMETRY
, consulte Considerações ao usar dados espaciais no Amazon Redshift.
Em alguns casos, a tolerância é baixa o suficiente para que o registro não possa diminuir abaixo do tamanho máximo de um valor de dados GEOMETRY
. Nesses casos, você pode usar a opção MAXERROR
do comando COPY para ignorar todos ou até um certo número de erros de ingestão.
O comando COPY também suporta o carregamento de shapefiles GZIP. Para fazer isso, especifique o parâmetro COPY GZIP. Com essa opção, todos os componentes shapefile devem ser compactados independentemente e compartilhar o mesmo sufixo de compactação.
Se existir um arquivo de descrição de projeção (.prj) com o shapefile, o Redshift o usará para determinar o ID do sistema de referência espacial (SRID). Se o SRID for válido, a forma geométrica resultante terá essa SRID atribuída. Se o valor de SRID associado à forma geométrica de entrada não existir, o valor da SRID da forma geométrica resultante será zero. Você pode desabilitar a detecção automática de ID do sistema de referência espacial no nível da sessão usando SET read_srid_on_shapefile_ingestion
para OFF
.
Consulte nas visualizações do sistema SYS_SPATIAL_SIMPLIFY
ou SVL_SPATIAL_SIMPLIFY
quais registros foram simplificados, bem como a tolerância calculada. Quando você especifica SIMPLIFY
tolerance
, esta vista contém um registo para cada operação COPY. Caso contrário, ele contém um registro para cada geometria simplificada. Para obter mais informações, consulte SYS_SPATIAL_SIMPLIFY ou SVL_SPATIAL_SIMPLIFY.
Para obter exemplos de carregamento de um shapefile, consulte Carregar um shapefile no Amazon Redshift.