Salta el contingut

Carga y gestión de los datos

A nivel general, la carga de datos se divide en 3 partes principales:

  • Preparar datos: Optimizar, transformar formatos, geolocalizar, combinar archivos, tesselar nubes de puntos, ofuscar datos sensibles…
  • Cargar archivos: Cargar los archivos al servidor o servidores que alojan los datos (imágenes, nubes de puntos, …)
  • Cargar atributos: Cargar los atributos y propiedades de los datos a la base de datos mediante la aplicación Mapia STREETS Manager

Captura de pantalla

Dentro de Mapia SERVER, el módulo de Mapia STREETS se encuentra localizado dentro de la aplicación MSTREETS:

Captura de pantalla

Configuraciones

Permite agregar diferentes configuraciones iniciales al sistema. Si no se informan, se utilizarán los valores por defecto o los valores definidos en la instalación. Podemos agregar las siguientes variables:

  • api_url: URL de la API de MapiaStreets que gestiona los datos de la aplicación
  • api_info_url: URL de la API para obtener información extra de un punto o panorama
  • folder_poi: Ubicación archivos puntos de interés (panoramas, imágenes…)
  • folder_img: Ubicación archivos imágenes
  • folder_pc: Ubicación archivos nubes de puntos
  • page_no_img: Imagen a mostrar cuando no existe el archivo panorama
  • epsg_pc: Sistema de coordenadas de los archivos de nubes de puntos
  • page_panellum: Componente vista panorama de MapiaStreets
  • page_potree: Componente vista nube de puntos de MapiaStreets
  • radius: Radio de búsqueda inicial en la API de panoramas
  • wms_location: Ruta WMS de las ubicaciones de la aplicación
  • wms_zone: Ruta WMS con las zonas
  • wms_campaings: Ruta WMS con las campañas
  • camera_height: Altura de la cámara de captura de panoramas respecto al suelo (valor por defecto 2,8m)
  • hotspots_add: Si queremos mostrar o no los hotspots en los panoramas (valor por defecto true)
  • hotspots_dist_min: Distancia mínima a partir de la cual se muestran los hotspots (valor por defecto 4m)
  • hotspots_dist_max: Distancia máxima hasta la que mostraremos hotspots (valor por defecto 25m)
  • hotspots_height_max: Diferencia de elevación máxima hasta la que mostraremos los hotspots (valor por defecto 3m)
  • pc_ini_color: Color inicial al visualizar la nube de puntos. Valores aceptados: rgba, classification, intensity, elevation
  • pc_ini_point_size: Tamaño del punto inicial en la nube de puntos
  • category: Categoría de los elementos, servirá para agrupar elementos en listas, por ejemplo las nubes de puntos en la lista de capas (valor por defecto Data)

Zonas

Las zonas son ámbitos geográficos que se utilizan para dar permisos a los usuarios. Cada una de las campañas cargadas al sistema forma parte de 1 o más zonas. Cada zona contiene la siguiente información:

  • Nombre: nombre de la zona
  • Activa: si la zona está activa o no. Si está desactivada la aplicación no permitirá consultar los datos
  • Permisos: grupos de usuarios que tienen permisos en esta zona (consulta el apartado de gestión de usuarios de esta documentación para más información)
  • Geometría: ámbito geográfico de la zona

Captura de pantalla

información

Podemos definir tantas zonas como sean necesarias. Las zonas pueden estar duplicadas si es necesario asignar permisos diferentes.

Campaña

El concepto de campaña se corresponde a una campaña de campo de recogida de datos. La campaña contiene la siguiente información:

  • Nombre campaña: nombre de la campaña. Es recomendable indicar el año en el nombre, por ejemplo Tarragona 2022
  • Zonas: zonas en las que se debe poder visualizar esta campaña
  • Metadades: metadatos de la campaña realizada (consulta el apartado metadatos)
  • Activa: permite desactivar la campaña y que no esté disponible en la aplicación
  • Fecha inicio: Fecha de inicio de la campaña. Solo la fecha.
  • Fecha final: Fecha final de la campaña. Solo la fecha.
  • Ruta panoramas: Ruta completa o relativa respecto a la ruta de la zona de los panoramas de la campaña. Si es igual a la principal puede tomar el valor nulo.
  • Ruta imágenes: Ruta completa o relativa respecto a la ruta de la zona de las imágenes de la campaña. Si es igual a la principal puede tomar el valor nulo.
  • Ruta nubes de puntos: Ruta completa o relativa respecto a la ruta de la zona de las nubes de puntos de la campaña. Si es igual a la principal puede tomar el valor nulo.
  • Configuraciones adicionales: Permite guardar configuraciones de la campaña (camera_height, hotspots_add, hotspots_dist_min, hotspots_dist_max, hotspots_height_max, pc_ini_color, pc_ini_point_size, pc_ini_visible, category, pc_order)
  • Geometría: Perímetro de la campaña. No hace falta que esté completamente dentro de la zona, puede haber una campaña partida por dos zonas con permisos diferentes.

Captura de pantalla

Perímetro de la campaña

Junto a las trayectorias, pero a una escala diferente dentro del visor, se visualizan las áreas de la campaña. Estas aparecen a una escala menor. Para crear estas geometrías, se utiliza la acción situada en «Campañas» denominada «Creación del perímetro de la campaña».

Screenshot

Se pueden seleccionar tantas campañas como sea necesario para crear el área. El resultado se puede ver dentro de la campaña, en la sección Geometría y en el visor.

Sin embargo, es importante haber creado primero las trayectorias, ya que sirven como punto de partida.

Metadades

Se utilizan para informar cada campaña del sensor utilizar, operadores… Permite guardar la siguiente información:

  • Sensor: sensor lidar utilizado
  • Precisión: (opcional) precisión de los datos
  • Empresa: (opcional) empresa que ha realizado la campaña o post-proceso
  • Contacto: (opcional) contacto del proveedor de los datos

Nubes de puntos

Son las nubes de puntos visualizadas desde la web. Las nubes de puntos web se cargan en formato Potree.

Las nubes de puntos se cargan en Mapia utilizando el visor de datos LiDAR llamado Potree. Para transformar los datos del formato LAS a Potree, se utiliza PotreeConverter. Esta aplicación se puede descargar siguiendo el enlace siguiente:

https://github.com/potree/PotreeConverter/releases

Una vez instalada, la ejecutaremos con los parámetros necesarios.

PotreeConverter.exe C:\point_cloud.las -o C:\outputFolder –generate-page index

Point_cloud especifica la entrada de la nube de puntos, -o la carpeta de salida donde se almacenarán los archivos convertidos, generate_page la conversión al formato web e index donde se puede visualizar la nube de puntos. En cualquier caso, los archivos que hay que subir al servidor son los siguientes:

  • .bin
  • .txt
  • .json
  • .bin

En Mapia, hay dos botones en la sección Nubes de puntos: Subir archivo y Añadir nubes de puntos. Para añadir una nube, hay que hacerlo a través de Añadir nubes de puntos.

Captura de pantalla

En la interfaz de Mapia Streets, en la sección de carga de nube de puntos, los componentes son los siguientes:

  • Campaña: campaña a la que pertenece la nube de puntos
  • Nombre nube de puntos: Nombre de la capa nube de puntos a mostrar al usuario
  • Nombre archivo: Nombre del archivo de la nube de puntos. Solo el nombre del archivo. En el caso del formato v2 de Potree equivale al nombre de la carpeta que contiene los datos
  • Ruta: Ruta completa o relativa respecto a la ruta de la campaña
  • Entorno local: Indica si la nube de puntos está pensada para un entorno local o no (plugins)
  • Descargable: Si la nube de puntos es descargable o no
  • Formato: Formato del archivo de la nube de puntos. Valores aceptados: POTREE, POTREE2, LAS, POD
  • Etiqueta: Etiqueta de la nube de puntos para clasificaciones o organizaciones futuras
  • Configuraciones adicionales: Permite guardar configuraciones de la nube de puntos (pc_ini_color, pc_ini_point_size, pc_ini_visible, category, pc_order)
  • Geometría: Perímetro de la nube de puntos. Debe estar dentro de la campaña a la que corresponde.

Captura de pantalla Screenshot

El botón Subir archivo se utiliza cuando hay que subir un gran número de archivos. Para obtener más información, ponte en contacto con Mapia.

Puntos de interés

Los POI (puntos de interés) son los puntos desde los que se han tomado las panorámicas (fotografías de 360°). Para subir esta serie de panorámicas, debes utilizar el botón de la esquina superior derecha SUBIR ARCHIVO, lo que abrirá la siguiente pantalla:

Captura de pantalla

Uno de los formatos que se pueden utilizar es el CSV de MapiaStreetsV3. Resulta útil para mobile mapping o los levantamientos estáticos. Su estructura es la siguiente:

Nom Imatge,GPS StandardTime,X,Y,Z Ortometrica,Z Elipsoidal,Omega,Phi,Kappa,Heading,Roll,Pitch,R11,R12,R13,R21,R22,R23,R31,R32,R33,Data,Hora,ID_Tram
1437646982.20_sp_0012.jpg,1437646982.2,342280.016,4669420.518,918.204,969.446,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,2025-07-27,10:22:44.2,12
1437646980.66_sp_0012.jpg,1437646980.66,342275.097,4669421.203,918.491,969.733,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,2025-07-27,10:22:42.66,12
1437646979.19_sp_0012.jpg,1437646979.19,342270.172,4669421.967,918.793,970.035,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,2025-07-27,10:22:41.19,12
1437646977.79_sp_0012.jpg,1437646977.79,342265.254,4669422.883,919.127,970.369,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,2025-07-27,10:22:39.79,12
1437646976.15_sp_0012.jpg,1437646976.15,342260.443,4669424.21,919.124,970.366,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,2025-07-27,10:22:38.15,12
1437646974.52_sp_0012.jpg,1437646974.52,342255.656,4669425.423,918.773,970.015,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,2025-07-27,10:22:36.52,12
1437646973.19_sp_0012.jpg,1437646973.19,342250.733,4669426.085,918.428,969.67,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,2025-07-27,10:22:35.19,12
1437646984.27_sp_0012.jpg,1437646984.27,342286.262,4669419.286,917.608,968.85,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,2025-07-27,10:22:46.27,12
1437646985.67_sp_0012.jpg,1437646985.67,342291.065,4669417.928,917.201,968.443,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,2025-07-27,10:22:47.67,12
1437646987.01_sp_0012.jpg,1437646987.01,342295.731,4669416.202,916.822,968.064,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,2025-07-27,10:22:49.01,12
1437646988.37_sp_0012.jpg,1437646988.37,342300.385,4669414.394,916.547,967.79,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,2025-07-27,10:22:50.37,12
1437646989.86_sp_0012.jpg,1437646989.86,342305.256,4669413.307,916.6,967.843,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,2025-07-27,10:22:51.86,12

En el caso de una nube de puntos aérea, debe cargar un geojson con un conjunto de puntos en los que haya decidido que desea visualizar el LiDAR de Mapia Streets. Debería ser algo como lo siguiente:

{
    "type" : "FeatureCollection", 
    "features" : [ 
        {
            "type" : "Feature", 
            "geometry" : { 
                "type" : "Point", 
                "coordinates" : [ 3.136007, 42.245518 ] 
            },
            "properties" : { 
                "pan" : "0", 
                "date" : "2026-02-19T12:00:00Z", 
                "type" : "PANO", 
                "roll" : "0", 
                "altitude" : "2.5",  
                "filename" : "",  
                "pitch" : "0" 
            }  
        },  
        {  
            "type" : "Feature",  
            "geometry" : {  
                "type" : "Point",  
                "coordinates" : [ 3.130436, 42.251703 ]  
            },  
            "properties" : {  
                "pan" : "0",  
                "date" : "2026-02-19T12:00:00Z",  
                "type" : "PANO",  
                "roll" : "0",  
                "altitude" : "2.5",  
                "filename" : "",  
                "pitch" : "0"  
            }  
        }  
    ]  
}  

De las propiedades, solo se deben cambiar la fecha y la altitud, que será la altura del punto que se abrirá en Mapia con respecto al suelo.

Tipos de puntos:

Los tipos de puntos que se aceptan son los siguientes:

  • PANO: panorama equirectangular con formato JPG
  • IMG: una imagen con formato JPG/PNG. No hace falta informar los ángulos.
  • ELEVATION: un punto de elevación. En este caso no hay documento y no hace falta informar la ruta, nombre de archivo, ángulos…

Si desea modificar un punto específico, la interfaz que se abre es la siguiente:

  • Campaña: campaña a la que pertenece el nube de puntos
  • Nombre archivo: Nombre del archivo del poi. Solo el nombre del archivo.
  • Formato: Formato archivo asociado. Valores aceptados: JPG, PNG
  • Tipo punto de interés: Tipo de punto. Valores aceptados: PANO, IMG, ELEVATION
  • Fecha/Hora: Fecha y hora de captura
  • Altura punto: Altura (Z) del fotocentro del poi
  • Roll: Ángulo roll del poi (en sexa.)
  • Pitch: Ángulo pitch del poi (en sexa.)
  • Pan: Ángulo pan del poi (en sexa.)
  • Anchura del ángulo: Ángulo horizontal que abarca la imagen, por defecto es 360 (en sexag.)
  • Altura del ángulo: Ángulo vertical que abarca la imagen, por defecto es 180 (en sexag.)
  • Desplazamiento vertical del ángulo: Desplazamiento del ángulo vertical (en sexa.)
  • Ruta: Ruta completa o relativa respecto a la ruta de la campaña del archivo del poi
  • Etiqueta: Etiqueta del poi para una clasificación, organización o estructuración futura
  • Configuraciones adicionales: Permite guardar configuraciones del poi (color)
  • Geometría: Punto con el fotocentro del poi

Captura de pantalla

Trayectorias

Para visualizar la ruta seguida para recopilar los datos, se utilizarán trayectorias. Estas son la unión de los diferentes puntos de interés (POI), lo que da como resultado una geometría lineal. Se almacenarán en la base de datos para añadirlas posteriormente al visor mediante QGIS.

Para añadir las trayectorias a la base de datos, utilice la acción «Crear trayectorias a partir de los PDI seleccionados» en la sección Puntos de interés.

Captura de pantalla

Al ejecutar la acción, aparecerá un formulario en el que se solicitará la distancia máxima. Esta es la distancia a partir de la cual el programa detecta que dos puntos no pertenecen a la misma trayectoria y crea una nueva. A modo de ejemplo, si se aplica una distancia máxima de 7, todos los puntos de la siguiente imagen pertenecerían a la misma trayectoria. Por el contrario, si se aplicara una distancia de 5,7, solo los dos primeros estarían dentro de la tolerancia.

Captura de pantalla

Básicamente, la distancia dependerá de la distancia entre los puntos.

Captura de pantalla

Básicamente, la distancia dependerá de la separación entre puntos de cada trabajo. La tabla siguiente recomienda qué distancia utilizar para cada tipo de levantamiento.

Método de levantamiento Distancia recomendada
Cartografía móvil 20 metros
Estático 20 metros
RTK 5 metros

Una vez añadidas las trayectorias a la base de datos, se debe crear un proyecto QGIS a partir de ellas y subirlo al servidor Mapia. Este proceso se detalla en la siguiente sección: Crear proyecto QGIS

También existe la opción de crear un GeoJSON a partir de los PDI. El proceso es el mismo, pero da como resultado un archivo que se descarga automáticamente. Esto puede resultar útil si se desea modificar las rutas manualmente.

Subir vídeos georreferenciados

En esta sección se explica el proceso para subir un vídeo georreferenciado a Mapia Streets. Este tipo de vídeo contiene coordenadas que permiten integrarlo en el visor. En primer lugar, vaya a la pestaña MSTREETS, donde encontrará la sección Vídeos georreferenciados. El botón Añadir vídeo georreferenciado es el que utilizaremos para añadirlos.

Datos

La primera sección contiene los datos que añadiremos, que incluyen:

  • Nombre: El nombre que aparecerá en el visor.
  • Nombre del archivo: El nombre del archivo de vídeo MP4 que tenemos en el servidor, por ejemplo, en FileZilla. Es importante que ambas cadenas sean idénticas, tanto en el servidor como en el nombre del archivo.
  • Fecha de captura: El día en que se capturaron los datos.
  • Campaña: Debe definirse previamente en la sección correspondiente. En este caso, MSTREETS-Campañas.
  • URL: Creada tras añadir el vídeo. Es una URL al vídeo.
  • PK Inicio: Punto de inicio del eje.
  • Delay: En casos excepcionales, se puede aplicar un delay al vídeo.

Screenshot

Geometría

Para georreferenciar el vídeo, debemos añadir una cadena de líneas en el sistema de coordenadas WKT (Well-Known Text). Debe seguir el siguiente formato: LINESTRING (lng1 lat1, lng2 lat2, lng3 lat3, lng1 lat1). Aquí hay un ejemplo real:

LINESTRING (2.19904512882965 41.4301743942329,2.19921750908082 41.4302169348637,2. 19946540990077 41.4302668886061)

Screenshot

La cadena de líneas debe añadirse a la sección Editar geometría, donde la geometría se visualizará automáticamente en la sección Geometría del eje.

CSV

Se debe adjuntar un archivo CSV que contenga las coordenadas de cada fotograma del vídeo. Estos datos permiten geolocalizar con precisión cada fotograma calculando la distancia entre el PK inicial y los segundos transcurridos.

  • Segundos
  • Longitud (utilizando el sistema de coordenadas 4326)
  • Latitud (utilizando el sistema de coordenadas 4326)
  • Coordenada Z (opcional)

El archivo CSV debe tener el siguiente formato:

Temps de video (s),Longitud,Latitud 
0,2.673645004355977,41.77051999805678 
2,2.6737066723774654,41.77033833063928 
4,2.6737333307607942,41.77024167103148 
7,2.67376499443733,41.7701283356337 
9,2.6737850016123423,41.770038331320556 
11,2.6738083342182404,41.76994500384897 
13,2.6738266642195097,41.76984167339129 
15,2.673836667369809,41.76972667322188 
17,2.6738449981422963,41.76961166830173 

En el número de puntos, se mostrará el número total de coordenadas contenidas en cada CSV.

Screenshot

En conclusión, el CSV con coordenadas y marcas de tiempo se proyecta sobre el eje. A continuación, los puntos CSV se posicionan en este eje, que se ha añadido utilizando un WKT en formato LINESTRING. Cada punto contiene un campo de marca de tiempo, que se utilizará para vincular el vídeo al eje. Cada momento del vídeo que aparece en una coordenada a través del campo temp puede geolocalizarse. Es fundamental mencionar que los trenes tienen una aceleración no constante, por lo que cuantos más puntos haya medido correctamente el CSV, más preciso será el resultado. El PK es extremadamente importante, ya que es el punto de partida del eje, ya que todos los demás puntos se calculan a partir de él.