Cómo importar una tabla Excel a PostGIS

Las hojas de cálculo de Excel son una fuente común de datos geográficos, pero son difíciles de analizar porque no tienen la componente espacial (como por ejemplo un shapefile). En este tutorial te mostraremos cómo podemos importar una tabla de Excel a una base de datos PostGIS.

En ocasiones, algunos datos para su manipulación en un software GIS son suministrados en un archivo .xls, hoja de cálculo, con sus respectivas coordenadas almacenadas en sus respectivos campos.

Con las recientes actualizaciones del cliente gráfico pgAdmin este proceso de importación se ha mejorado bastante, reduciendo la necesidad de generar código SQL.

Si no conoces todas las ventajas de trabajar con bases de datos espaciales PostGIS puedes echar un vistazo a nuestro post 10 motivos para utilizar PostGIS.

También, en nuestro post shapefiles vs bases de datos espaciales analizamos por qué es una buena opción el uso de bases de datos espaciales frente al tradicional shapefile, cuyo uso va quedando obsoleto.

Por lo general, debemos convertir el archivo .xlsx en un .csv y luego crear una tabla en la base de datos espacial para que se ajuste a ese formato. Solo después de eso podremos cargar el archivo de Excel en la base de datos, normalmente usando el comando COPIAR (COPY) de PostgreSQL.

Convertir una tabla a formato .csv

En nuestro ejemplo, vamos a emplear una tabla que almacena una serie de vértices geodésicos con sus correspondientes coordenadas cartesianas X e YImportar tabla a PostGIS

El primer paso para importar una tabla .xls a PostGIS es guardar la misma en formato de archivo delimitado por comas o .csv

Para ello, desde Guardar como, seleccionamos la ubicación, nombre para el nuevo fichero, y el tipo CSV (delimitado por comas)(*.csv)

Importar tabla a PostGIS

También podemos emplear algún convertidor gratuito a CSV online.

Crear una tabla en una base de datos PostGIS

El siguiente paso sería crear una tabla dentro de una base de datos PostGIS en la que debemos de incluir los mismos campos que los existentes en nuestra tabla procedente de Excel, así como el mismo tipo de campo.  Para ello tenemos dos opciones:

A) Hacerlo a través de una sentencia SQL empleando la Query Tool en pgAdmin:

B) Desde el árbol de contenido de la base de datos, haciendo clic derecho de ratón en el conjunto Tables dentro del Schema.

Importar tabla a PostGIS

En la ventana Create – Table, indicamos un nombre en la pestaña General, y los campos y su tipo en la pestaña Columns.

Importar tabla a PostGIS

Importar tabla CSV a PostGIS

Una vez ya tenemos creada nuestra tabla en la base de datos, podemos hacer clic derecho de ratón sobre ella y seleccionar Import/Export Data...

Importar tabla a PostGIS

En la pestaña General de la ventana Import/Export data establecemos los siguientes parámetros:

  • Filename: nuestra tabla CSV a importar.
  • Format: el formato csv.
  • Encoding: seleccionamos la codificación BIG5.

Importar tabla a PostGIS

En la pestaña Options asegúrate de activar la opción Header para que se tomen los nombres de los campos del encabezado de la tabla y, en Delimitier, selecciona que el delimitador de los valores de los campos es punto y coma (;).

En la pestaña Columns podemos especificar los campos que queremos importar.

Tras pulsar OK comenzará el proceso de importación de los datos.

Accede a la opción View/Edita data/All rows para comprobar que el proceso se realizó con éxito.

Importar tabla a PostGIS

Si quieres aprender a trabajar con bases de datos espaciales inscríbete ya en nuestro curso online de bases de datos espaciales: PostGIS. Aprenderás a manipular grandes volúmenes de datos con componente espacial. Recuerda que utilizar una base de datos en un proyecto GIS es la solución óptima para gestionar tus datos.