Salta el contingut

Conectar base de datos

Para crear servicios GeoJSON a partir de tablas de la base de datos

En el Geoportal de Mapia, las conexiones a la base de datos se utilizan principalmente para:

  • Visualización de los datos: los datos se muestran en el Geoportal como una capa normal con formato vectorial.
  • Edición de datos: el geoportal permite editar los datos de una capa creada a partir de una conexión de una base de datos.
  • Crear capas GeoJSON: podemos crear nuevas capas GeoJSON mediante la URL pública que genera el DatabaseLayer.

Información

Las capas creadas a partir de conexiones de tablas a la base de datos reciben el nombre de: DATABASE LAYERS.


Captura de pantalla


El procedimiento para crear estos tipos de capas es el siguiente:

  1. Crear la conexión a la base de datos desde: Inicio › Configuraciones generales › Conexiones de base de datos.
  2. Crear una nueva capa a partir de una tabla desde: Inicio › Gestor de capas › DataBaseLayers.
  3. Configurar la nueva capa con las propiedades correspondientes.

Conexión a la base de datos

Para realizar la conexión, iremos a Inicio › Configuraciones generales › Conexiones de base de datos y definiremos una nueva conexión con los siguientes valores:

Captura de pantalla

  • Alias: indicar el alias o el nombre conocido por los usuarios de la base de datos para poderla identificar correctamente.
  • Motor: el motor de la base de datos al que queremos conectar, normalmente PostGIS.
  • Nombre de la base de datos: nombre de la base de datos.
  • Usuario: usuario de la base de datos con el que se realizará la conexión.
  • Contraseña: contraseña base de datos.
  • Host: servidor de la base de datos.
  • Puerto: puerto de conexión.

Crear nueva capa

Crear una nueva capa desde Inicio › Gestor de capas › DataBaseLayers. Antes de nada, deberemos indicar los siguientes valores:

Captura de pantalla

  • Database connection: elegir la conexión con la base de datos. En caso de que ya tuviéramos alguna conexión previa, solo se debe elegir la que sea de interés. En caso de que no haya ninguna previa, se debe conectar a una nueva según se explica en el punto anterior.
  • Geometry columns: seleccionar el nombre del campo geometría de la tabla que queremos conectar. Solo acepta tablas que contengan geometrías.
  • Nombre: nombre interno de la capa del geoportal.
  • Tabla: nombre de la tabla de la base de datos. Solo acepta tablas que contengan geometrías.
  • Campo con geometría: nombre del campo geometría que contiene la información espacial.
  • Srid: sistema de coordenadas con formato EPSG (p.e. 25831 para ETRS89 o 4326 para WGS84).
  • Clave primaria: clave primaria de la tabla. Es obligatorio, si la tabla no tiene, se deberá crear una.
  • Aplicar filtro a los datos: permite filtrar los datos de entrada según valores de los campos. Tenemos los campos y los valores con notación JSON. Acepta los mismos filtros que los de las URLs públicas de los databaselayers (información filtros).
{
    "CampoA": "carrer",
    "CampoB__isnull": true,
    "nom camp__filtro": "valor"
}

Configuraciones

Una vez creada la capa, deberemos configurar todas las opciones igual que en el resto de capas del geoportal:


Captura de pantalla


  1. Consulta todas las propiedades generales en Información, propiedades de las capas.

Algunos conceptos:

  • Campos: son todos los campos de la tabla conectada. Principalmente nos permite modificar los nombres de visualización y qué campos queremos que aparezcan y cuáles no. También permite definir opciones de edición, es decir, qué campos pueden aceptar valores blancos, qué tipo de control presentará el formulario de edición, etc.
  • Ginys: permiten configurar opciones de edición específicas para cada campo, consulta la información técnica.
  • Campos virtuales: permite realizar dos tipos de operaciones con campos en el modo edición:
    • Campo enlazado: modificar o mostrar el nombre de un campo que depende de otro. Por ejemplo, la descripción de un conjunto de códigos (valor y dominio).
    • Relación 1 a muchos: permitir elegir el valor de un campo desde otra tabla.
  • Referencias: permite definir uno o varios WMS de fondo que se activarán en el momento de la edición de la capa. Por defecto, utilizamos las opciones ya explicadas de las capas externas mediante Datasets.

Edición de datos

Todas las DatabaseLayer podrán ser editadas desde el Geoportal si el usuario dispone de los permisos correspondientes. Consulta la siguiente página para obtener toda la información:

Edición de datos desde el Geoportal

Captura de pantalla

Refrescar capa DataBaseLayer

Si una vez hemos creado la capa Databaselayer se necesita actualizarla porque ha habido cambios en la tabla de la base de datos solamente hace falta:

  • Abrir el Databaselayer desde la aplicación
  • Guardar de nuevo la capa desde la aplicación

Al guardar se actualitzarán todos los cambios realizados en la tabla original.

Filtrar en capas GeoJSON

Una vez disponemos de la conexión realizada y el DatabaseLayer creado, podemos utilizar la URL pública de la nueva capa para crear otras capas GeoJSON filtradas según el caso.

Imaginemos que tenemos una tabla que tiene 3 campos:


id codi Descripción Tipo
1 VEG Árbol Palmera
2 VEG Árbol Platanero
3 ENE Farol E-256
4 ENE Farol E-256
5 MOB Banco


En este caso, podríamos tener una capa DatabaseLayer creada a partir de la tabla de la base de datos que no se visualice en el Geoportal y 3 capas GeoJSON creadas con las siguientes URLs:

  • https://geoportal.xxxxx.cat/apps/giscube-admin/layerserver/databaselayers/xxxxxx/data/?codi=VEG
  • https://geoportal.xxxxx.cat/apps/giscube-admin/layerserver/databaselayers/xxxxxx/data/?codi=ENE
  • https://geoportal.xxxxx.cat/apps/giscube-admin/layerserver/databaselayers/xxxxxx/data/?codi=MOB

Podemos obtener la URL pública de cada DatabaseLayer desde el listado principal de capas:

Captura de pantalla

Consulta toda la información disponible (opciones y filtros) sobre las URL públicas de las DatabaseLayer desde la página: API Databaselayer