Carga de un shapefile en Amazon Redshift - Amazon Redshift

Carga de un shapefile en Amazon Redshift

Puede utilizar el comando COPY para capturar los ESRI Shapefiles almacenados en Amazon S3 en las tablas de Amazon Redshift. Un shapefile almacena la ubicación geométrica y la información de los atributos de las características geográficas en un formato vectorial. Con el formato shapefile, se pueden describir de forma espacial distintos objetos espaciales como puntos, líneas y polígonos. Para obtener más información acerca de un shapefile, consulte Shapefile en Wikipedia.

El comando COPY admite el parámetro de formato de datos SHAPEFILE. De forma predeterminada, la primera columna del shapefile es una columna GEOMETRY o IDENTITY. Todas las columnas posteriores tienen el orden especificado en el shapefile. No obstante, la tabla de destino no necesita tener este mismo diseño porque se puede usar el mapeo de columnas de COPY para establecer el orden. Para obtener información acerca de la compatibilidad del formato shapefile del comando COPY, consulte SHAPEFILE.

En algunos casos, el tamaño de la geometría resultante puede ser mayor que el máximo para almacenar una geometría en Amazon Redshift. Si esto sucede, puede usar la opción SIMPLIFY o SIMPLIFY AUTO de COPY para simplificar las geometrías durante la ingesta de la siguiente manera:

  • Especifique SIMPLIFY tolerance para simplificar todas las geometrías durante la ingesta utilizando el algoritmo de Ramer-Douglas-Peucker y la tolerancia dada.

  • Especifique SIMPLIFY AUTO sin tolerancia para simplificar solo las geometrías mayores que el tamaño máximo mediante el algoritmo de Ramer-Douglas-Peucker. Con este enfoque, se calcula la tolerancia mínima, que es lo suficientemente grande como para almacenar el objeto dentro del límite de tamaño máximo.

  • Especifique SIMPLIFY AUTO max_tolerance para simplificar solo las geometrías mayores que el tamaño máximo mediante el algoritmo de Ramer-Douglas-Peucker y la tolerancia calculada de forma automática. Este enfoque garantiza que la tolerancia no supere su valor máximo.

Para obtener información acerca del tamaño máximo de un valor de datos GEOMETRY, consulte Consideraciones al usar datos espaciales con Amazon Redshift.

En algunos casos, la tolerancia es lo suficientemente baja como para que el registro no pueda reducirse por debajo del tamaño máximo de un valor de datos GEOMETRY. En estos casos, puede utilizar la opción MAXERROR del comando COPY para ignorar todos los errores de ingesta o hasta un cierto número de ellos.

El comando COPY también admite la carga de shapefiles GZIP. Para ello, especifique el parámetro COPY GZIP. Con esta opción, todos los componentes del shapefile deben comprimirse de forma independiente y compartir el mismo sufijo de compresión.

Si existe un archivo de descripción de proyección (.prj) con el shapefile, Redshift lo utiliza para determinar el id. del sistema de referencia espacial (SRID). Si el SRID es válido, la geometría resultante tiene este SRID asignado. Si el valor SRID asociado a la geometría de entrada no existe, la geometría resultante tendrá cero como valor SRID. Puede desactivar la detección automática del ID del sistema de referencia espacial en el nivel de la sesión utilizando SET read_srid_on_shapefile_ingestion en OFF.

Consulte las vistas del sistema SYS_SPATIAL_SIMPLIFY o SVL_SPATIAL_SIMPLIFY para ver qué registros se han simplificado, junto con la tolerancia calculada. Cuando especifica SIMPLIFY tolerance, esta vista contiene un registro para cada operación COPY. De lo contrario, contiene un registro para cada geometría simplificada. Para obtener más información, consulte SYS_SPATIAL_SIMPLIFY o SVL_SPATIAL_SIMPLIFY.

Para ver ejemplos de carga de un shapefile, consulte Carga de un shapefile en Amazon Redshift.