Saltar al contenido principal

Exportar a PostgreSQL

Mapit GIS puede exportar capas de elementos directamente a una base de datos PostgreSQL con la extensión PostGIS. La exportación usa una conexión JDBC directa desde el dispositivo: no hace falta ningún relé intermedio en la nube ni servidor proxy.

Resulta útil para volcar los datos recogidos en campo a una base de datos central destinada al análisis, a los informes o a la integración con flujos GIS corporativos.

Requisitos previos

Antes de exportar, asegúrate de lo siguiente:

  1. El servidor PostgreSQL está en marcha y es accesible desde la red del dispositivo (wifi, datos móviles o VPN).
  2. La extensión PostGIS está instalada en la base de datos de destino (CREATE EXTENSION IF NOT EXISTS postgis;).
  3. El acceso de red permite que el dispositivo se conecte directamente al host y al puerto de la base de datos.
  4. Los datos de conexión están configurados en la aplicación (ver más abajo).
tip

Desde la versión 3.0.4, la aplicación se conecta directamente a PostgreSQL por JDBC. No hace falta autorizar la IP de ningún servidor de relé: la conexión parte del propio dispositivo.

Configurar la conexión

  1. Abre Ajustes desde el menú principal.
  2. Ve a Conexiones remotas → Ajustes de PostgreSQL.
  3. Introduce los datos de conexión:
AjusteDescripciónEjemplo
HostNombre de host o IP del servidor de base de datosdb.ejemplo.com o 192.168.1.50
PuertoPuerto de PostgreSQL5432 (predeterminado)
UsuarioUsuario de la base de datosmapit_user
ContraseñaContraseña de la base de datos
Nombre de la base de datosBase de datos de destinofield_data
  1. Usa el botón Probar conexión para verificar la conectividad antes de salir al campo.
precaución

Las credenciales de conexión se guardan localmente en el dispositivo. Asegúrate de que el usuario de la base de datos tiene solo los privilegios mínimos necesarios: normalmente CREATE, INSERT, SELECT y DROP sobre el esquema de destino.

Exportar una capa

  1. Abre la pantalla de capas.
  2. Mantén pulsada la capa que quieras exportar.
  3. Toca Exportar en el menú contextual.
  4. En el panel de destinos, toca Exportar a PostgreSQL.

Elige un modo de exportación

Un panel inferior presenta dos opciones:

ModoComportamiento
SobrescribirElimina la tabla existente (si la hay) y crea una nueva con los datos exportados
AñadirAgrega los elementos a una tabla existente, o crea la tabla si no existe
peligro

Sobrescribir borra de forma permanente todos los datos existentes en la tabla de destino. Úsalo con precaución en entornos de producción.

tip

Cualquiera de las dos opciones puede ocultarse en Ajustes → Ajustes de exportación si quieres evitar sobrescrituras accidentales o limitar tu flujo de trabajo a solo añadir.

Progreso de la exportación

Un cuadro de progreso muestra el número de elementos exportados. Los elementos se envían en lotes de 500 filas mediante sentencias INSERT multifila, por rendimiento.

Al terminar, un mensaje de confirmación muestra el nombre de la tabla y el total de elementos exportados.

Estructura de la tabla

La tabla creada en PostgreSQL se estructura así:

  • La tabla se crea en el esquema public con el nombre de la capa.
  • Se añade una columna de geometría mediante PostGIS, con el tipo de geometría y el SRID correctos.
  • Todas las columnas de atributo de la capa del GeoPackage se asignan a tipos de datos de PostgreSQL:
Tipo en GeoPackageTipo en PostgreSQL
TEXTTEXT
INTEGERBIGINT
REAL / DOUBLEDOUBLE PRECISION
BOOLEANBOOLEAN
DATEDATE
DATETIMETIMESTAMP
BLOBBYTEA

Tratamiento de la geometría

  • Las geometrías simples (punto, línea, polígono) se convierten automáticamente en sus equivalentes multiparte (MultiPoint, MultiLineString, MultiPolygon) por coherencia.
  • Si la capa de origen tiene coordenadas Z, la geometría se crea con ST_Force3DZ.
  • Las geometrías se insertan con ST_GeomFromWKB y el SRID correspondiente.
  • El SRID se deduce del sistema de coordenadas de la capa (4326 de forma predeterminada si no está definido).

Tratamiento de errores

SituaciónComportamiento
Los datos de conexión no están configuradosLa exportación se rechaza con un mensaje que pide configurar la conexión a la base de datos
Red inaccesible o conexión rechazadaLa exportación falla con un error de conexión
Permiso denegado en la base de datosLa exportación falla con un error de autenticación o de privilegios
Geometría no válida en un elementoEl elemento se omite y la exportación continúa

Ejemplo de flujo de trabajo

Un flujo habitual desde el campo hasta la base de datos:

  1. En campo: recoge elementos con Mapit GIS y un receptor GNSS externo para conseguir alta precisión.
  2. De vuelta en la oficina (o por datos móviles): abre la pantalla de capas, mantén pulsada la capa y expórtala a PostgreSQL en modo Añadir.
  3. En el servidor: consulta los datos en QGIS, pgAdmin o tus herramientas de informes. La tabla incluye la geometría completa y todos los atributos.
-- Ejemplo: ver los datos exportados en PostgreSQL
SELECT fid, name, ST_AsText(geometry) FROM tree_survey LIMIT 10;

-- Ejemplo: contar elementos por estado
SELECT overall_condition, COUNT(*) FROM tree_survey GROUP BY overall_condition;
tip

Para exportaciones periódicas de la misma capa, usa el modo Añadir y agrega una columna de fecha al esquema de tu capa para distinguir entre sesiones de recogida.

tip

Si te conectas por internet, valora usar una VPN o un túnel SSH para proteger la conexión con la base de datos. La conexión JDBC no va cifrada de forma predeterminada, salvo que tu servidor PostgreSQL esté configurado con SSL.

nota

La exportación a PostgreSQL requiere el derecho de importación/exportación, disponible en los planes Pro y Pro+.