Salta el contingut

Càrrega i gestió de les dades

A nivell general, la càrrega de dades es divideix en 3 parts principals:

  • Preparar dades: Optimitzar, transformar formats, geolocalitzar, combinar fitxers, tessel·lar núvols de punts, ofuscar dades sensibles…
  • Carregar fitxers: Carregar els fitxers al servidor o servidors que allotgen les dades (imatges, núvols de punts, …)
  • Carregar atributs: Carregar els atributs i propietats de les dades a la base de dades mitjançant l’aplicació Mapia STREETS Manager

Screenshot

Dins el Mapia SERVER, el módul de Mapia STREETS es troba localitzat dins l’aplicació MSTREETS:

Screenshot

Configuracions

Permet afegir diferents configuracions inicials al sistema. Si no s’informen, s’utilitzaran els valors per defecte o els valors definits en la instal·lació. Podem afegir les següents variables:

  • api_url: URL de l’API de MapiaStreets que gestiona les dades de l’aplicació
  • api_info_url: URL de l’API per obtenir informació extra d’un punt o panorama
  • folder_poi: Ubicació fitxers punts d’interès (panorames, imatges…)
  • folder_img: Ubicació fitxers imatges
  • folder_pc: Ubicació fitxers núvols de punts
  • page_no_img: Imatge a mostrar quan no existeix el fitxer panorama
  • epsg_pc: Sistema de coordenades dels fitxers de núvols de punts
  • page_panellum: Component vista panorama de MapiaStreets
  • page_potree: Component vista núvol de punts de MapiaStreets
  • radius: Ràdio de cerca inicial a l’API de panorames
  • wms_location: Ruta WMS de les ubicacions de l’aplicació
  • wms_zone: Ruta WMS amb les zones
  • wms_campaings: Ruta WMS amb les campanyes
  • camera_height: Alçada de la camera de captura de panoramas respecte el terra (valor per defecte 2,8m)
  • hotspots_add: Si volem mostrar o no els hotspots als panorames (valor per defecte true)
  • hotspots_dist_min: Distància mínima a partir de la qual es mostren els hotspots (valor per defecte 4m)
  • hotspots_dist_max: Distància màxima fins a la que mostrarem hotspots (valor per defecte 25m)
  • hotspots_height_max: Dif. d’elevació màxima fins a la que mostrarem els hotspots (valor per defecte 3m)
  • pc_ini_color: Color inicial en visualitzar el núvol de punts. Valors acceptats: rgba, classification, intensity, elevation
  • pc_ini_point_size: Mida del punt inicial al núvol de punts
  • category: Categoria dels elements, servirà per agrupar elements en llistes, per exemple els núvols de punts a la llista de capes (valor per defecte Data)

Zones

Les zones són àmbits geogràfics que s’utilitzen per donar permisos als usuaris. Cada una de les campanyes carregades al sistema forma part de 1 o més zones. Cada zona conté la següent informació:

  • Nom: nom de la zona
  • Activa: si la zona està activa o no. Si està desactiva l’aplicació no permetrà consultar les dades
  • Permisos: grups d’usuaris que tenen permisos en aquesta zona (consulta l’apartar de gestió d’usuaris d’aquesta documentació per a més informació)
  • Geometria: àmbit geogràfic de la zona

Screenshot

informació

Podem definir tantes zones com siguin necessàries. Les zones poden estar duplicades si cal assignar permisos diferents.

Campanya

El concepte de campanya es correspon a una campanya de camp de recollida de dades. La campanya conté la següent infdormació:

  • Nom campanya: nom de la campanya. Es recomanable indicar l’any en el nom per exemple Tarragona 2022
  • Zones: zones en les que s’ha de poder visualitzar aquesta campanya
  • Metadades: metadades de la campanya realitzada (consulta l’apartat metadades)
  • Activa: permet desactivar la campanya i que no estigui disponible a l’aplicació
  • Data inici: Data dinici de la campanya. Només la data.
  • Data final: Data final de la campanya. Només la data.
  • Ruta panorames: Ruta completa o relativa respecte a la ruta de la zona dels panormes de la campanya. Si és igual a la principal pot prendre el valor nul.
  • Ruta imatges: Ruta completa o relativa respecte a la ruta de la zona de les imatges de la campanya. Si és igual a la principal pot prendre el valor nul.
  • Ruta núvols de punts: Ruta completa o relativa respecte a la ruta de la zona dels núvols de punts de la campanya. Si és igual a la principal pot prendre el valor nul.
  • Configuracions adicionals: Permet desar configuracions de la campanya (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)
  • Geometria: Perímetre de la campanya. No cal que estigui completament dins de la zona, pot haver unan campanya partida per dos zones amb permisos diferents.

Screenshot

Perímetre Campanya

Conjuntament amb les trajectòries però a diferent escala dintre del visor, es visualitzen les àrees de les campanyes. Aquestes apareixen a una escala més petita. Per a poder crear aquestes geometries, es realitzaran a través de l’acció ubicada dintre de “Campanyes” amb el nom “Creació del perímetre de la campanya”.

Screenshot

Es poden seleccionar tantes campanyes com faci falta crear l’àrea. El resultat el podrem veure dintre la campanya a l’apartat Geometria i al visor.

És important, però, haver creat primer les trajectòries, ja que serveixen com a punt de partida.

Metadades

S’utilitzen per informar cada campanya del sensor utilitzar, operadors… Permet guardar la següent informació:

  • Sensor: sensor lidar utilitzat
  • Precisió: (opcional) precisió de les dades
  • Empresa: (opcional) empresa que ha realitzat la campanya o post-procés
  • Concate: (opcional) contacte del proveïdor de les dades

Núvols de punts

Els núvols de punts es carreguen al Mapia mitjançant el visualitzador de dades LiDAR Potree. Per a poder transformar les dades del format LAS a Potree s’utilitza PotreeConverter. Aquesta aplicació es pot descarregar seguint el següent enllaç:

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

Una vegada la tinguem instal·lada, l’executarem amb els paràmetres necessaris.

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

Point_cloud especifica la entrada del núvol de punts, -o la carpeta de sortida on s’emmagatzemaran els arxius convertits, generate_page la conversió tipus format web i index on es podrà visualitzar el núvol de punts. En tot cas, els fitxers que haurem de penjar al servidor són els següents:

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

Dintre de Mapia, hi han dos botons a l’apartat de Núvols de punts. Upload File i Afegir núvols de punts. Per a afegir un núvol, es fa a través de Afegir núvols de punts .

Screenshot

A la interfície de Mapia Streets, a l’apartat de carregar núvol de punts els components són els següents:

  • Campanya: Campanya a la que pertany el núvol de punts
  • Nom núvol de punts: Nom de la capa núvol de punts a mostrar a lusuari
  • Nom fitxer: Nom del fitxer del núvol de punts. Només el nom del fitxer. En el cas del format v2 de Potree equival al nom de a carpeta que conté les dades
  • Ruta: Ruta completa o relativa respecte a la ruta de la campanya
  • Entorn local: Indica si el núvol de punts està pensat per a un entorn local o no (plugins)
  • Descarregable: Si el núvol de punts és descarregable o no
  • Format: Format del fitxer del núvol de punts. Valors acceptats: POTREE, POTREE2, LAS, POD
  • Etiqueta: Etiqueta del núvol de putns per classificacions o organitzacions futures
  • Configuracions adicionals: Permet desar configuracions del núvol de punts (pc_ini_color, pc_ini_point_size, pc_ini_visible, category, pc_order)
  • Geometria: Perímetre del núvol de punts. Ha d’estar dins de la campanya a què correspon.

Screenshot

El botó Upload File es fa servir per a quan hi ha una gran quantitat de fitxers a pujar. Per a més informació, contactar amb Mapia.

Punts interés

Els POIS (Punts d’Interés) són els punts des d’on han estat agafades les panorames (fotografies en 360º). Per a penjar aquest seguit de panorames, cal utilitzar el botó superior dret UPLOAD FILE, on es obrirà la següent pantalla:

Screenshot

Un dels formats que es poden utilitzar és el MapiaStreetsV3 CSV. Aquest és útil per a Mobile Mapping o aixecaments en estàtic. La seva estructura és la següent:

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 cas de ser un núvol de punts aeris, s’hauria de penjar un geojson amb un seguit de punts que hàgim decidit on es volgués visualitzar el LiDAR des de Mapia Streets. Aquest ha de ser com el següent:

{
    "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"  
            }  
        }  
    ]  
}  

D’entre les properties només s’hauria de canviar la date i la altitude que serà l’altura del punt que s’obrirà al Mapia respecte al terra.

Tipus de punts:

Els tipus de punts que s’accepten són els següents:

  • PANO: panorama equirectangular amb format JPG
  • IMG: una imatge amb format JPG/PNG. No cal informar els angles.
  • ELEVATION: un punt d’elevació. En cas aquest no hi ha document i no cal informar la urta, nom fitxer, angles…

Si es volgués modificar un punt en concret, l’interfície que se’ns obre és la següent:

  • Campanya: Campanya a la que pertany el núvol de punts
  • Nom fitxer: Nom del fitxer del poi. Només el nom del fitxer.
  • Format: Format fitxer associat. Valors acceptats: JPG, PNG
  • Tipus punt interés: Tipus de punt. Valors acceptats: PANO, IMG, ELEVATION
  • Data/Hora: Data i hora de captura
  • Alçada punt: Alçada (Z) del fotocentre del poi
  • Roll: Angle roll del poi (en sexa.)
  • Pitch: Angle pitch del poi (en sexa.)
  • Pan: Angle pa del poi (en sexa.)
  • Amplada de l’angle: Angle horitzontal que agafa la imatge, per defecte són 360 (en sexa.)
  • Alçada de l’angle: Angle vertical que agafa la imatge, per defecte són 180 (en sexa.)
  • Desplaçament vertical de l’angle: Desplaçament de l’angle vertical (en sexa.)
  • Ruta: Ruta completa o relativa respecte a la ruta de la campanya del fitxer del poi
  • Etiqueta: Etiqueta del poi per a una classificació, organització o estructuració futura
  • Configuracions adicionals: Permet desar configuracions del poi (color)
  • Geometria: Punt amb el fotocentre del poi

Screenshot

Trajectòries

Per a poder visualitzar el recorregut que s’ha seguit per agafar les dades, es farà a través de les trajectòries, les quals són la unió dels diferents POIS resultant en una geometria en format línia. Aquestes s’emmagatzemaran en la BBDD per a posteriorment afegir-les al visor mitjançant un QGIS.

Per a poder agregar a la BBDD les trajectòries, es farà a través de l’acció “Crear trajectòries a partir dels POIS seleccionats” dins de l’apartat Punts d’interès.

Screenshot

Quan s’executi l’acció, apareixerà un formulari demanant-nos la distància màxima. Aquesta és la distància a partir de la qual el programa detecta que dos punts no pertanyen a la mateixa trajectòria i en crea una de nova. A tall d’exemple, si s’aplica una distància màxima de 7, tots els punts de la següent imatge pertanyerien a una mateixa trajectòria. Si, per contra, s’apliqués una de 5.7, només els dos primers estarien dintre la tolerància.

Screenshot

Screenshot

Fonamentalment, la distància dependrà de la distància entre punts per a cada treball. La taula de continuació aconsella quina distància utilitzar per a cada tipus d’aixecament.

Mètode captura Distància aconsellada
Mobile Mapping 20 metres
Estàtic 20 metres
RTK 5 metres

Un cop afegides les trajectòries a la BBDD, s’hauria de crear un projecte QGIS amb elles i pujar-lo al Mapia Server. Aquest procés es detalla al següent apartat: Crear projecte QGIS

També hi ha l’opció de crear un GeoJson a partir dels POIS. El procés és el mateix, però resultant amb un fitxer que se’ns descarrega automàticament. Aquest pot ser útil per si es volen modificar les trajectòries a mà.

Pujar vídeos georeferenciats

En aquest apartat s’explicarà el procés per a pujar un videogeoreferenciat al Mapia Streets. Primer de tot, naveguem fins a la pestaña MSTREETS, on es troba l’apartat Vídeos georeferenciats. El botó Afegir vídeo georeferenciat serà el que utilitzarem per afegir-los.

Dades

El primer apartat s’esdevenen les dades que afegirem, entre les quals hi ha:

  • Nom: Nom que apareixerà al visor.
  • Nom fitxer: Nom del vídeo amb MP4 que tinguem al servidor, per exemple al FileZila. Important que les dues cadenes de caràcters siguin iguals, tant al servidor com al nom del fitxer.
  • Data de captura: Dia que es van capturar les dades.
  • Campanya: S’ha de definir prèviament a l’apartat corresponent. En aquest cas, MSTREETS-Campanyes.
  • URL: Es crea a posteriori d’afegir el vídeo. És un URL amb el vídeo.
  • PK Inici: Punt inicial de l’eix.
  • Delay: En cas excepcional, se li pot posar un retard al vídeo.


Screenshot

Geometria

Per a poder geoposicionar el vídeo georeferenciat, hem d’afegir una Linestring amb el sistema de coordenades WKT (Well-Known Text). Ha de seguir el següent format; LINESTRING (lng1 lat1, lng2 lat2, lng3 lat3, lng1 lat1). A continuació es presenta un exemple real:

LINESTRING (2.19904512882965 41.4301743942329,2.19921750908082 41.4302169348637,2.19946540990077 41.4302668886061)


Screenshot

La Linestring s’ha d’afegir a l’apartat d’Editar geometria, on es visualitzarà la geometria automàticament a l’apartat Geometria de l’eix.

CSV

Cal adjuntar un fitxer en format CSV que contingui les coordenades associades a cada instant del vídeo. Aquestes dades permeten geolocalitzar amb precisió cada fotograma mitjançant el càlcul entre el PK inicial i els segons transcorreguts.

  • Segons
  • Longitud (amb el sistema de coordenades 4326)
  • Latitud (amb el sistema de coordenades 4326)
  • Coordenada Z (opcional)

El CSV ha de ser com l’exemple següent:

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 nombre de punts, es mostraran el nombre total de coordenades que conté cada CSV.


Screenshot

A tall de conclusió, el CSV amb coordenades i temps es projecta sobre l’eix. En aquest eix, que s’ha afegit mitjançant un WKT en format LINESTRING, s’hi posicionaran els punts del CSV. Cada punt conté un camp temps, que serà el que es farà servir per relacionar el vídeo amb l’eix. Cada moment del video que aparegui en una coordenada a través del temps podrà ser geolocalitzat. Esdevé clau mencionar que els trens tenen acceleració no constant, així bé com més punts tingui el CSV metrats correctament més precís serà el resultat. El PK és summament important que sigui el punt d’inici de l’eix, ja que a partir d’aquest es calculen tots els altres.