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" '':
  },
  {...}
]