Carregar um shapefile no Amazon Redshift - Amazon Redshift

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 na Wikipédia.

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.