Skip to content

Usage

Upload pictures

The picture upload command is available under the upload subcommand:

panoramax_cli upload --help

If you want to upload pictures from a my_sequence directory to a Panoramax instance (running locally in this example), launch this command:

panoramax_cli upload --api-url https://my.panoramax.server/ ./my_sequence

You can also add a --wait flag to wait while the server processes all the pictures.

Note

You can launch again the same command to recover a partial sequence import, for example if only some pictures failed to upload.

đŸ”‘ Authentication

If your Panoramax instance requires a login for the upload, the upload command will ask for a login on the instance by visiting a given url with a browser.

You can also login before hand with the command:

panoramax_cli login --api-url https://my.panoramax.server/

Both will store the credentials in a configuration file, located either in a XDG defined directory or in a user specific .config, in a subdirectory geovisio/config.toml.

If you do not want to use this, you can also provide an API token with the --token parameter.

External metadata

By default, picture metadata are read from EXIF tags of the image file. If they are not set, you can also use a CSV file. This file should be placed in the same directory as pictures, and should be named panoramax.csv.

The CSV file should contain all following columns:

Header Type Mandatory ? Description
file str Yes File name of the picture
lon float No WGS84 longitude (for example 55.56 for RĂ©union Island)
lat float No WGS84 latitude (for example -21.14 for RĂ©union Island)
capture_time str No Capture time of the picture, in RFC 3339 (like 1985-04-12T23:20:50.52Z). If no timezone is given, considered as local time (and thus the date + position would be used to localize it).
Exif.* str No Any EXIF tag, with column name following Exiv2 scheme (example Exif.Image.Artist). You can create as many columns as necessary.
Xmp.* str No Any XMP tag, with column name following Exiv2 scheme (example Xmp.digiKam.TagsList). You can create as many columns as necessary.

All metadatas defined in the CSV are optional. If a metadata is not defined in CSV for a given image, Panoramax CLI will try to read it from picture EXIF metadata.

Note

A Panoramax server will always need some metadata to be present (the GPS coordinates and the capture time), no matter where they are read from.

Collection status

Prints the status of a collection.

panoramax_cli collection-status --id <some collection id> --api-url https://my.panoramax.server

You can alternatively give the location of the sequence (its full url) like:

panoramax_cli collection-status --location https://my.panoramax.server/api/collections/dae288b2-9e8d-4896-af39-d35ce6bc9d4e

You can also add a --wait flag to wait for the server to process all the pictures.

Download pictures

You can easily down pictures from a panoramax instance with the download subcommand.

You can download the pictures from a specific collection:

panoramax_cli download --api-url https://my.panoramax.server/ --collection "12345678-94c5-4c13-871f-0c82e24e3fc6" --path ./downloaded_pictures

or all the pictures of a user:

panoramax_cli download --api-url https://my.panoramax.server/ --user "12345678-94c5-4c13-871f-0c82e24e3fc6" --path ./downloaded_pictures

or your own pictures with the user id me (it will require a login):

panoramax_cli download --api-url https://my.panoramax.server/ --user me --path ./downloaded_pictures

Transfer pictures

You can transfer pictures from one Panoramax instance to another with the transfer subcommand.

You can transfer a specific collection:

panoramax_cli transfer --from-api-url https://my.old.panoramax.server/ --to-api-url  https://my.new.shiny.panoramax.server/ --from-collection "12345678-94c5-4c13-871f-0c82e24e3fc6"

or all the pictures of a user:

panoramax_cli transfer --from-api-url https://my.old.panoramax.server/ --to-api-url  https://my.new.shiny.panoramax.server/ --user "12345678-94c5-4c13-871f-0c82e24e3fc6"

or your own pictures with the user id me (it will require a login):

panoramax_cli transfer --from-api-url https://my.old.panoramax.server/ --to-api-url  https://my.new.shiny.panoramax.server/ --user me