Panoramax
Panoramax | |
---|---|
Author: | Panoramax Team |
License: | MIT License |
Platform: | Web |
Version: | 2.7.0 [1] (2024-10-10) |
Website: | Panoramax.fr |
Source code: | https://gitlab.com/panoramax |
Programming languages: | JavaScript and Python |
"The free alternative to photo-mapping territories"[1] |
Panoramax is a federation offering geolocated street-level pictures. Pictures are offered through a decentralized architecture, with a set of free and open-source tools. In other words, it is "like a self-hosted Street View"[2] that does not impose its own app and gives you the right to fork the server.
The main selling points are:
- self-hostable, as a public instance or in your private organization
- free-licensed server (unlike Mapillary or Mapilio)
- freedom to choose or develop your favorite client app
- federation through a meta-catalog, which gives a single entrypoint (API, web viewer) to all publicly available servers
Instances
Some services store in-app uploads on custom Panoramax servers, which means that photos are accessible not only through an in-browser slippy map (i.e. the default Panoramax frontend), but also via the federation API, the Panoramax API, and the STAC API.
URL | Region | Publicly viewable | Publicly editable | License | Other notes |
---|---|---|---|---|---|
https://panoramax.xyz | 🌐 Global | Yes | No | Mixed | The meta-catalog list all pictures available across the public federation. After uploading an image, you may have to wait some time before it is visible on the meta-catalog[3]. |
https://panoramax.openstreetmap.fr | 🇫🇷 France (and outside for tests) | Yes | Yes, with OSM-account | CC-BY-SA 4.0 (see below) | by OSM France
In the short term, OSM FR can host pictures from the outside of France, but worldwide coverage is not sustainable in the long term, due to storage limits (and costs). Therefore, it is preferred that other local communities set up their own federated instances.[4] |
https://panoramax.ign.fr | 🇫🇷 France | Yes | etalab-2.0 | by Institut national de l'information géographique et forestière | |
https://panoramax.mapcomplete.org | 🌐 Global | Yes | Yes, but only via https://mapcomplete.org, requires OSM-account | CC-BY-SA 4.0 | Images uploaded in MapComplete are stored here |
OSM-France adopted CC-BY-SA for the pictures, but also grant a right to create non photographic derivates under CC-BY or ODbL.
Software
As Panoramax is a federation, the main matter is to agree on standards. Servers have to offer their pictures through a STAC API. Beyond that, any compliant server can be a part of Panoramax.
Main software used for Panoramax is listed below.
Server-side
All servers are running under the Panoramax API, which is fully free and open-source. It's a Python and Flask API, relying on a PostgreSQL database with PostGIS. It handles users, as well as uploading and serving of pictures.
Client-side
Many clients can be made available for Panoramax, as long as they accept STAC and/or WFS servers.
Clients from the Panoramax project itself:
- Panoramax website, the front-end of public servers
- Panoramax web viewer, a stand-alone JS viewer
- Panoramax CLI interface, a Python-based CLI tool for uploading and downloading images
Clients using the standard STAC or WFS APIs:
Third-party clients:
- Panoramax-js, a Typescript library with which one can upload images to a Panoramax instance and with some other API calls made available; developed and used by MapComplete
- MapComplete, an OSM editor and viewer, lets users browse nearby pictures from Panoramax and also upload pictures to Mapcomplete's own Panoramax instance. They moved all old images (hosted on imgur) to their panoramax-instance. This is documented in this issue
- OsmApp.org shows Panoramax-images as well but doesn't (yet) shows a correct attribution (as of 2024-11-21)
- QGis plugin: https://gitlab.com/panoramax/clients/qgis-plugin
- A plugin for JOSM has been requested here on the JOSM issue tracker.
- Vespucci feature request is here
iD integration
- iD support with ability to filter by capture date, contributor and image type has been implemented, see screenshot below
Work in progress:
- New features for iD will be available for testing here. iD support was initially requested here and was then a project in GSOC 2024; see the current state of implementation in this OSM diary entry by Juicio.
Third-party viewers
- In MapComplete, click a map feature, then click "Browse nearby pictures" in the panel at the right. This includes the pictures from the Panoramax meta-catalog - so not only the pictures that were uploaded to MapComplete.
See also
OSM wiki
- panoramax=* - Associate a Panoramax picture to an OSM feature.
- Panoramax talk at State of the Map Europe 2023 for the slides and the talk on YouTube
- List of OSM-based services
- Photo linking - Create links between OSM features and external pictures
- Street-level imagery services
Wikipedia
External Websites
- Official website
- Meta-catalog for all photos available
- Panoramax on GitLab
- Android mobile app for taking & uploading pictures (v1.1.1-beta pre-release on 11 September 2024 - please provide feedback)
For developers
To convert a panoramax-hash into the src for an image, query https://api.panoramax.xyz/api/search/?ids=<hash> which will give you a .json. A normal-sized image is available at features[0].assets.sd
. Use .hd
or .thumb
for other sizes
Alternatively, one can use https://api.panoramax.xyz/api/pictures/{hash}/sd.jpg
References
- ↑ https://panoramax.fr
- ↑ https://gitlab.com/panoramax/server/api
- ↑ Source taking MapComplete as an example.
- ↑ Message from the OSM FR infrastructure maintainer, in #panoramax_fr:matrix.org, on Aug 26, 2023; message in #panoramax_fr:matrix.org, on Aug 25, 2023.