Projet panoramax2osm

Vous connaissez Panoramax , vous connaissez OpenStreetMap… Pour contribuer à la liaison des deux projets, je lance panoramax2osm :grin:

Le projet, c’est de lier des images Panoramax à des POI OpenStreetMap (à travers le tag panoramax= de OSM, et les tags de Panoramax). Un peu comme panolinker, mais avec une carte, un filtre et à terme dans les deux sens Panoramax <> osm

Pour l’instant je suis bloqué à l’étape d’appel à l’API Panoramax. Ma question est donc :

Comment obtenir la liste des images Panoramax disponibles autour d’un point / dans une BBox ?

J’ai tenté quelque chose comme https://panoramax.xyz/api/v1/pictures/?limit=10&bbox=${bbox}, mais sans succès :grimacing:

Si ça vous intéresse, le github est ici :
(je précise que je tente quelque chose bien au-delà de mes compétences, c’est la première fois que je touche à du vue.js, et globalement au développement web, donc il y a probablement quelques aberrations dans ce code…)

(edit pour la mise en forme, car apparemment le markdown n’est pas pris en compte sur la version mobile de discourse ?)

3 Likes

Oups, il suffisait de lire la doc… :grimacing:

On avance

2 Likes

Bon, maintenant j’ai une question dont je ne trouve pas la réponse dans la doc :upside_down_face:
Dans la doc, il est écrit qu’on peut paramétrer la position ET la visibilité de la map dans la visionneuse web…mais sans donner d’indication sur la manière de la masquer. J’ai essayé map=none, map=false, map=hide mais sans succès

Ravi de voir cette initiative émerger :clap:

Il n’y a plus le paramètre pour modifier la visibilité de la carte : c’est un composant séparé depuis la version 4, cf PhotoViewer - Panoramax - Docs

Intéressant, merci !
Par contre je ne comprends pas du tout comment je pourrais l’utiliser (c’est la première fois que je fais du web, donc je patauge pas mal :sweat_smile:)
Pour l’instant j’intègre dans une iframe
https://api.panoramax.xyz/#pic=${feature.id}&nav=none

Est-ce que ça veut dire que je devrais plutôt passer par l’API ? :thinking:

Plutôt comme c’est décrit ici, il faut embarquer la bibliothèque en JS et charger un PhotoViewer : Quick start - Panoramax - Docs

On expose pas pour l’instant sur une URL accessible le composant PhotoViewer seul (sauf sur la page de test de la prochaine version en développement ici Panoramax Photo Viewer ).

1 Like

Merci @PanierAvide l’intégration du photoviewer marche nickel !
Maintenant je me pose une autre question :
Si j’en crois la doc, je devrais pouvoir interroger l’api sur une image par son id… Par exemple, pour l’image 4f5d8211-ef52-40d4-b951-027c1f9a1ae2 ==> https://api.panoramax.xyz/api/pictures/4f5d8211-ef52-40d4-b951-027c1f9a1ae2
L’image existe bien, puisqu’on peut la voir dans la visionneuse Panoramax, alors pourquoi la requête me donne-t-elle une erreur 404 ? (j’ai testé sur plusieurs images, des instances OSM-FR et IGN)
Même l’openAPI me retourne une erreur 404, c’est moi qui ai mal compris comment ça marche ?

Visiblement l’appel /api/pictures/:picId ne marche que sur les instances, pas le métacatalogue, exemple : https://panoramax.ign.fr/api/pictures/4f5d8211-ef52-40d4-b951-027c1f9a1ae2

Si tu veux récupérer le détail d’une photo par le mécatalogue, deux solutions :

Et j’ai créé un ticket pour qu’on rajoute cette route dans le métacatalogue pour que ce soit cohérent Support /api/pictures/:pictureId route (#44) · Issues · Panoramax / Server / Meta Catalog · GitLab

Ah, j’ai pensé à vérifier les images venant de différentes instances, mais pas directement l’api des instances directement… Ça veut dire que openapi sur panoramax.fr cherche sur le métacatalogue ?

Ça sera ma solution, merci !

La doc de Open API - Panoramax - Docs est celle de l’API de chaque instance, et la doc de l’API du métacatalogue est ici Redoc

On essaye de faire en sorte que les deux soient alignées, mais des fois il y a des petits oublis :sweat_smile:

1 Like

Bon, je crois que j’ai atteint la limite de mes compétences, l’authentification OSM avec oauth me résiste… En fait, c’est un métier le dev ! :grimacing:
J’ai tenté de comprendre le wiki, et si j’arrive à créer une url de connexion fonctionnelle, la suite me dépasse, et je n’ai pas trouvé d’exemple à copier
Il y aurait un tuto ou un exemple quelque part sur comment intégrer ça dans une app en vue.js ? Sinon, je pense que je vais abandonner là, l’idée d’une interface simple pour lier objet osm et image panoramax me plaisait bien mais c’est trop pour moi, je vais continuer à faire ça sur ID :sweat_smile: