Skip to main content

GeoVisio

GeoVisio is a complete solution for storing and serving your own 📍📷 geolocated pictures (like StreetView / Mapillary).

➡️ Give it a try at panoramax.ign.fr or geovisio.fr !

📦 Components

GeoVisio is modular and made of several components, each of them standardized and ♻️ replaceable.

GeoVisio architecture

All of them are 📖 open-source and available online:

🌐 Server 💻 Client
API Website
Blur API Web viewer
GeoPic Tag Reader Command line

📷 GeoPic Tag Reader

This repository only contains the Python library to extract standardized metadata from geolocated pictures EXIF metadata.

Features

This tool allows you to:

  • Analyse various EXIF variables to extract standardized metadata for geolocated pictures applications

Install

GeoPicTagReader can be installed using two methods:

GeoPicTagReader is compatible with all python version >= 3.8.

From PyPI

Just launch this command:

pip install geopic_tag_reader

After this you should be able to use the CLI tool with the name geopic-tag-reader:

geopic-tag-reader --help

Alternatively, you can use pipx if you want all the script dependencies to be in a custom virtual env.

You need to install pipx, then:

pipx install geopic_tag_reader

From Git repository

Download the repository:

git clone https://gitlab.com/geovisio/geo-picture-tag-reader.git geopic_tag_reader
cd geopic_tag_reader/

To avoid conflicts, it's considered a good practice to create a virtual environment (or virtualenv). To do so, launch the following commands:

# Create the virtual environment in a folder named "env"
python3 -m venv env

# Launches utilities to make environment available in your Bash
source ./env/bin/activate

Then, install the dependencies using pip:

pip install -e .

If you want to be able to write exif tags, you need to also install the write-exif extra:

pip install -e .[write-exif]

This will install libexiv2 if available in the target platform.

You can also install the dev dependencies if necessary (to have lints, format, tests, ...):

pip install -e .[dev]

Then, you can use the geopic-tag-reader command:

geopic-tag-reader --help

Usage

This library can be used both from command-line or as Python module.

As command-line

To see all available commands:

geopic-tag-reader --help

Full documentation is also available here.

As Python library

In your own script, you can use:

from geopic_tag_reader import reader
from PIL import Image

# Open an image with Pillow
img = Image.open("my_picture.jpg")

# Read EXIF metadata
metadata = reader.readPictureMetadata(img)

# Print results
print(metadata)

Full documentation is also available here.

Development

Tests

Tests are run using PyTest. You can simply run this command to launch tests:

pytest

Documentation

High-level documentation is handled by Typer. You can update the generated USAGE.md file using this command:

make docs

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Note that before opening a pull requests, you may want to check formatting and tests of your changes:

make ci

You can also install git pre-commit hooks to format code on commit with:

pip install -e .[dev]
pre-commit install

Make a release

git checkout main
git pull

vim CHANGELOG.md					# Edit version + links at bottom
vim geopic_tag_reader/__init__.py	# Edit version
make docs ci

git add *
git commit -m "Release x.x.x"
git tag -a x.x.x -m "Release x.x.x"
git push origin main --tags

🤗 Special thanks

Sponsors

GeoVisio was made possible thanks to a group of ✨ amazing people ✨ :

  • GéoVélo team, for 💶 funding initial development and for 🔍 testing/improving software
  • Carto Cité team (in particular Antoine Riche), for 💶 funding improvements on viewer (map browser, flat pictures support)
  • La Fabrique des Géocommuns (IGN) for offering long-term support and funding the Panoramax initiative and core team (Camille Salou, Mathilde Ferrey, Christian Quest, Antoine Desbordes, Jean Andreani, Adrien Pavie)
  • Many many wonderful people who worked on various parts of GeoVisio or core dependencies we use : 🧙 Stéphane Péneau, 🎚 Albin Calais & Cyrille Giquello, 📷 Damien Sorel, Pascal Rhod, Nick Whitelegg...
  • Adrien Pavie, for ⚙️ initial development of GeoVisio
  • And you all ✨ GeoVisio users for making this project useful !

⚖️ License

Copyright (c) GeoVisio team 2022-2023, released under MIT license.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

geopic_tag_reader-0.4.1.tar.gz (778.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

geopic_tag_reader-0.4.1-py3-none-any.whl (13.1 kB view details)

Uploaded Python 3

File details

Details for the file geopic_tag_reader-0.4.1.tar.gz.

File metadata

  • Download URL: geopic_tag_reader-0.4.1.tar.gz
  • Upload date:
  • Size: 778.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.31.0

File hashes

Hashes for geopic_tag_reader-0.4.1.tar.gz
Algorithm Hash digest
SHA256 6d41c3d5e832b2e5f6e3929ea0069a8452b590e7583d8e80ffc5b8f223a0d2fb
MD5 3d1c374c71aebc8a731d8e9ea46b1716
BLAKE2b-256 4a234e54a2aa63431d2ec93255e963893478e01d6698a84ed1fd94879ea8e60d

See more details on using hashes here.

File details

Details for the file geopic_tag_reader-0.4.1-py3-none-any.whl.

File metadata

File hashes

Hashes for geopic_tag_reader-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5091f79c8369f6daa38adac7cbc7d6409c648d7b262bac407a504cbdfc8dc36e
MD5 b0c13686667ad98b4355ba60a7ebbb61
BLAKE2b-256 4956feb6eb3804573528de4735bf368893e2dd15e26eb4a4824c93aa43beddd5

See more details on using hashes here.

Release history Release notifications | RSS feed

1.10.1

2 files

1.10.0

2 files

1.9.0

2 files

1.8.3

2 files

1.8.2

2 files

1.8.1

2 files

1.8.0

2 files

1.7.0

2 files

1.6.0

2 files

1.5.0

2 files

1.4.2

2 files

1.4.1

2 files

1.4.0

2 files

1.3.3

2 files

1.3.2

2 files

1.3.1

2 files

1.3.0

2 files

1.2.0

2 files

1.1.5

2 files

1.1.4

2 files

1.1.3

2 files

1.1.2

2 files

1.1.1

2 files

1.1.0

2 files

1.0.6

2 files

1.0.5

2 files

1.0.4

2 files

1.0.3

2 files

1.0.2

2 files

1.0.1

2 files

1.0.0

2 files

This release

0.4.1 This release

2 files

0.4.0

2 files

0.3.1

2 files

0.3.0

2 files

0.2.0

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

0.0.2

2 files

0.0.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page