Salta el contingut

API panorames

Documentació API panorames. Aquesta API s’utilitza al visor de panorames i núvols de punts del geoportal i MapiaStreets.

Model

Campanyes

A la taula mapia_panoramas_project s’hi defineixen les diferents campanyes de Mobile Mapping. P.e. Panorames 2018, Panorames 2020, etc.

Camp Definició
id id autogenerat
code Codi de la campanya, p.e. pano-2020
name Nom de la campanya, p.e. Panorames 2020

Panorames

La taula mapia_panoramas_panorama conté tota la informació dels panorames:

Camp Definició
id id autogenerat
file_name Nom de la imatge. Si es posa la ruta sencera (comença per http) hi accedeix directament, si no va al directori per defecte i li afegeix. Exemple:
https://(…)/apps/giscube-admin/plugins/mapia_panoramas/files/(file_folder)/file_name
file_type Tipus (extensió) de la imatge
file_folder Directori on es troben les imatges. Si es posa la ruta sencera (comença per http) hi accedeix directament, si no va al directori per defecte i li afegeix. Exemple:
https://(…)/apps/giscube-admin/plugins/mapia_panoramas/files/file_folder
source_id Id definit per l’usuari, pot servir per ordenar els panorames
date Data i hora de captura de la panoràmica
altitude Altura sobre el nivell del mar del panorama
roll Angle respecte l’eix longitudinal
pitch Angle respecte l’eix transversal
pan Angle respecte l’eix vertical (orientació amb el nord)
geom Geometria, coordenades del punt
project_id Projecte definit a la taula mapia_panoramas_project on es defineixen p.e. diferents campanyes de MoMa
category String per definir una categoria p.e. diferents plantes d’un edifici

Laterals

La taula mapia_panoramas_lateral conté tota la informació de les imatges laterals:

Camp Definició
id id autogenerat
file_name Nom de la imatge. Si es posa la ruta sencera (comença per http) hi accedeix directament, si no va al directori per defecte i li afegeix. Exemple:
https://(…)/apps/giscube-admin/plugins/mapia_panoramas/files/(file_folder)/file_name
file_folder Directori on es troben la imatge. Si es posa la ruta sencera (comença per http) hi accedeix directament, si no va al directori per defecte i li afegeix. Exemple:
https://(…)/apps/giscube-admin/plugins/mapia_panoramas/files/file_folder
file_type Tipus (extensió) de la imatge
pan Orientacio de l’imatge respecte al Nord
panorama_id Id del panorama al que correspon

Núvols de punts

La taula mapia_panoramas_pointcloud conté tota la informació dels núvols de punts al servidor:

Camp Definició
id id autogenerat
code Codi descriptiu núvol de punts
name Nom del núvol de punts
file_folder Directori on es troben els núvols de punts
geom Geometria, polígon que conté el núvol de punts
project_id Projecte definit a la taula mapia_panoramas_project on es defineixen p.e. diferents campanyes de MoMa

Núvols de punts Local

La taula mapia_panoramas_localpointcloud conté tota la informació dels núvols de punts en local:

Camp Definició
id id autogenerat
code Codi descriptiu núvol de punts
name Nom del núvol de punts
file_folder Directori on es troben els núvols de punts en local
geom Geometria, polígon que conté el núvol de punts
project_id Projecte definit a la taula mapia_panoramas_project on es defineixen p.e. diferents campanyes de MoMa

Autenticació

Es tracta d’una API pública, no cal autenticació

Endpoints

El projecte de panorames es tracta d’un mòdul extern al giscube-admin, per tant s’afegirà com un plug-in. Hi ha un endpoint per obtenir les campanyes definides. Per cada campanya hi ha un endpoint per obtenir els panorames, els núvols de punts al servidor (actualment no usat) i els núvols de punts en local.

Campanyes

Endpoint que retorna totes les campanyes definides.

URL

Endpoint plugins/mapia_panoramas/api/projects/
Exemple https://xxxxxxx.xxxxxxx.xxx/apps/giscube-admin/plugins/mapia_panoramas/api/projects/

Parametres

No es necessiten parametres

Resultat

El resultat és un array amb les campanyes definides

"results": [
  {
    "code": "pano-2020",
    "name":"Panorames 2020",
    "description":null,
    "zone":null,
    "date_start":null,
    "date_end":null,
    "folder_panorama":"pano-2020",
    "folder_images":"pano-2020",
    "folder_point_cloud":null,
    "layer_panorama":null
  },
  {...}
]

Panorames

L’Endpoint panorames depèn de la campanya en la que volguem fer la creca (introduint el codi de la campanya a la URL). S’obtenen els panorames a partir d’una coordenada i un radi de cerca

URL

Endpoint plugins/mapia_panoramas/api/projects/{code}/panoramas/
Exemple https://xxxxxxx.xxxxxxx.xxx/apps/giscube-admin/plugins/mapia_panoramas/api/projects/pano/panoramas/

Paràmetres

Els paràmetres de cerca d’aquesta API són els següents

Paràmetre Definició Obligatori Exemple
p Coordenades (lat, lng) del punt que busquem * p=41.3997,2.1133
r Radi de cerca en metres * r=15
c Cerca els que tenen la mateixa categoria c=planta_1

L’API retorna tots els panorames que es troben dins del radi de cerca (r) ordenats per distància respecte el punt(p)

Exemple https://xxxxxxx.xxxxxxx.xxx/apps/giscube-admin/plugins/mapia_panoramas/api/projects/pano-2020/panoramas/?p=41.47379866069745,2.089445418340398&r=15

Resultat

[
  {
    "id": 11596,
    "project": "pano-2020",
    "category": null,
    "file_name": "Track_C-Sphere-144.jpg",
    "file_type": null,
    "file_folder": "201028",
    "source_id": 11596,
    "date": "2020-10-28T07:01:13Z",
    "altitude": 122.654,
    "roll": -358.432473,
    "pitch": 4.585543,
    "pan": -93.647597,
    "geom": {
      "type": "Point",
      "coordinates":[
        2.089445418340398,
        41.47379866069745
      ]
    },
    "laterals": [
      {
        "file_name": "Track_C-CAM1-144_2020.10.28_08.01.13(278).jpg",
        "file_type": null,
        "file_folder": "201028/Track_C01",
        "pan": -48.647597000000005
      },
      {...},
      {...}
    ]
  },
  {...},
  {...}
]

Núvols de punts (actualment no usat)

Endpoint que retorna els núvols de punts que es troben sobre una coordenada.

URL

Endpoint plugins/mapia_panoramas/api/projects/{code}/point_cloud/
Exemple https://xxxxxxx.xxxxxxx.xxx/apps/giscube-admin/plugins/mapia_panoramas/api/projects/pano-2020/point_cloud/

Paràmetres

Els paràmetres de cerca d’aquesta API són els següents

Paràmetre Definició Obligatori Exemple
p Coordenades (lat, lng) del punt que busquem * p=41.3997,2.1133

L’API retorna tots els núvols de punts que contenen la coordenada (els polígons que contenen el punt).

Resultat

El resultat és un array amb les campanyes definides

"results": [
  {
    "id": '',
    "project": '',
    "code": '',
    "name": '',
    "file_folder": '',
    "geom" '':
  },
  {...}
]

Núvols de punts Local

Endpoint que retorna els núvols de punts que es troben sobre una coordenada.

URL

Endpoint plugins/mapia_panoramas/api/projects/{code}/local_point_cloud/
Exemple https://xxxxxxx.xxxxxxx.xxx/apps/giscube-admin/plugins/mapia_panoramas/api/projects/pano-2020/local_point_cloud/

Paràmetres

Els paràmetres de cerca d’aquesta API són els següents

Paràmetre Definició Obligatori Exemple
p Coordenades (lat, lng) del punt que busquem * p=41.3997,2.1133

L’API retorna tots els núvols de punts que contenen la coordenada (els polígons que contenen el punt).

Resultat

El resultat és un array amb les campanyes definides

"results": [
  {
    "id": '',
    "project": '',
    "code": '',
    "name": '',
    "file_folder": '',
    "geom" '':
  },
  {...}
]