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.
- Android
- iOS
Requisitos previos
Antes de exportar, asegúrate de lo siguiente:
- El servidor PostgreSQL está en marcha y es accesible desde la red del dispositivo (wifi, datos móviles o VPN).
- La extensión PostGIS está instalada en la base de datos de destino (
CREATE EXTENSION IF NOT EXISTS postgis;). - El acceso de red permite que el dispositivo se conecte directamente al host y al puerto de la base de datos.
- Los datos de conexión están configurados en la aplicación (ver más abajo).
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
- Abre Ajustes desde el menú principal.
- Ve a Conexiones remotas → Ajustes de PostgreSQL.
- Introduce los datos de conexión:
| Ajuste | Descripción | Ejemplo |
|---|---|---|
| Host | Nombre de host o IP del servidor de base de datos | db.ejemplo.com o 192.168.1.50 |
| Puerto | Puerto de PostgreSQL | 5432 (predeterminado) |
| Usuario | Usuario de la base de datos | mapit_user |
| Contraseña | Contraseña de la base de datos | |
| Nombre de la base de datos | Base de datos de destino | field_data |
- Usa el botón Probar conexión para verificar la conectividad antes de salir al campo.
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
- Abre la pantalla de capas.
- Mantén pulsada la capa que quieras exportar.
- Toca Exportar en el menú contextual.
- En el panel de destinos, toca Exportar a PostgreSQL.
Elige un modo de exportación
Un panel inferior presenta dos opciones:
| Modo | Comportamiento |
|---|---|
| Sobrescribir | Elimina la tabla existente (si la hay) y crea una nueva con los datos exportados |
| Añadir | Agrega los elementos a una tabla existente, o crea la tabla si no existe |
Sobrescribir borra de forma permanente todos los datos existentes en la tabla de destino. Úsalo con precaución en entornos de producción.
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 GeoPackage | Tipo en PostgreSQL |
|---|---|
| TEXT | TEXT |
| INTEGER | BIGINT |
| REAL / DOUBLE | DOUBLE PRECISION |
| BOOLEAN | BOOLEAN |
| DATE | DATE |
| DATETIME | TIMESTAMP |
| BLOB | BYTEA |
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_GeomFromWKBy 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ón | Comportamiento |
|---|---|
| Los datos de conexión no están configurados | La exportación se rechaza con un mensaje que pide configurar la conexión a la base de datos |
| Red inaccesible o conexión rechazada | La exportación falla con un error de conexión |
| Permiso denegado en la base de datos | La exportación falla con un error de autenticación o de privilegios |
| Geometría no válida en un elemento | El 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:
- En campo: recoge elementos con Mapit GIS y un receptor GNSS externo para conseguir alta precisión.
- 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.
- 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;
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.
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.
La exportación a PostgreSQL requiere el derecho de importación/exportación, disponible en los planes Pro y Pro+.
Mapit GIS para iOS puede exportar capas de elementos directamente a una base de datos PostgreSQL con la extensión PostGIS. La conexión se establece directamente desde el dispositivo: no hace falta ningún relé ni servidor proxy.
La exportación a PostgreSQL requiere Mapit Pro+ en iOS. Los usuarios Pro ven un muro de pago que ofrece la mejora a Pro+ al tocar cualquiera de los dos botones de exportación.
Requisitos previos
Antes de exportar:
- El servidor PostgreSQL está en marcha y es accesible desde el dispositivo (wifi, datos móviles o VPN).
- La extensión PostGIS está instalada en la base de datos de destino (
CREATE EXTENSION IF NOT EXISTS postgis;). - Los datos de conexión están configurados en la aplicación: consulta Conexiones remotas: PostgreSQL.
Configurar la conexión
Abre Ajustes → Conexiones remotas → PostgreSQL y rellena los datos de conexión:
| Ajuste | Descripción | Predeterminado |
|---|---|---|
| Host | Nombre de host o dirección IP del servidor | — |
| Puerto | Puerto de PostgreSQL | 5432 |
| Base de datos | Nombre de la base de datos de destino | — |
| Usuario | Usuario de la base de datos | — |
| Contraseña | Se guarda de forma segura en el llavero de iOS | — |
| Esquema | Esquema de destino | public |
| Modo SSL | disable / prefer / require | prefer |

El modo prefer confía en cualquier certificado del servidor, igual que el valor predeterminado de Android. En bases de datos de producción accesibles por la internet pública, usa require y asegúrate de que el certificado de tu servidor es válido.
Exportar una capa
- Abre la pantalla de capas.
- Toca la capa que quieras exportar y elige Exportar.
- En el panel de destinos, elige Exportar a PostgreSQL: sobrescribir o Exportar a PostgreSQL: añadir.

La exportación a PostgreSQL es una operación solo de capas. No se admite exportar un proyecto completo a PostgreSQL: usa GeoPackage, Dropbox o SFTP para transferir proyectos enteros.
Modos de exportación
| Modo | Comportamiento |
|---|---|
| Sobrescribir | Elimina la tabla existente (si la hay), crea una tabla nueva con un índice de geometría GIST y después inserta todos los elementos. Destructivo. |
| Añadir | Crea la tabla si no existe (CREATE TABLE IF NOT EXISTS) y después inserta los elementos. Las filas existentes no se tocan. |
Antes de cualquiera de las dos operaciones aparece un panel de confirmación que detalla el nombre de la capa, el host y la base de datos, para que puedas verificarlo antes de confirmar.


Sobrescribir borra de forma permanente todos los datos existentes en la tabla de destino. Úsalo con precaución en entornos de producción.
Cada modo puede ocultarse por separado en Ajustes → Conexiones remotas → PostgreSQL → Opciones de exportación, para limitar un flujo de trabajo a solo añadir o solo sobrescribir. Consulta Conexiones remotas: PostgreSQL para más detalles.
Progreso de la exportación
Los elementos se escriben en lotes de 250 filas, cada uno envuelto en una transacción BEGIN / COMMIT. Solo se deshace la transacción si falla el lote en curso: los lotes ya confirmados permanecen en el servidor. Un indicador muestra el progreso de la exportación.

Sistema de coordenadas de salida
Las geometrías se exportan con el formato de visualización fijado en Ajustes → Unidades y coordenadas. Si ese sistema difiere de WGS84, todas las geometrías se reproyectan en el dispositivo antes de subirlas: no hace falta ninguna reproyección en el servidor.
Estructura de la tabla
La tabla se crea en el esquema configurado (public de forma predeterminada) con el nombre de la capa. En las exportaciones con sobrescritura se crea un índice espacial GIST sobre la columna de geometría. Las columnas de atributo se asignan así:
| Tipo en GeoPackage | Tipo en PostgreSQL |
|---|---|
| TEXT | TEXT |
| INTEGER | BIGINT |
| REAL / DOUBLE | DOUBLE PRECISION |
| BOOLEAN | BOOLEAN |
| DATE | DATE |
| DATETIME | TIMESTAMP |
| BLOB | BYTEA |
Tratamiento de errores
| Situación | Comportamiento |
|---|---|
| La conexión no está configurada | La exportación se rechaza con un mensaje que te pide configurar la conexión |
| Red inaccesible | La exportación falla con un error de conexión |
| Permiso denegado | La exportación falla con un error de autenticación o de privilegios |
| Geometría no válida | El elemento se omite y la exportación continúa con el resto |