Package: geopic-tag-reader
GeoVisiois a complete solution for storing andserving your own 📍📷 geolocated pictures(likeStreetView/Mapillary).➡️Give it a tryatpanoramax.ign.frorgeovisio.fr!📦 ComponentsGeoVisio ismodularand made of several components, each of them standardized and ♻️ replaceable.All of them are 📖open-sourceand available online:🌐 Server💻 ClientAPIWebsiteBlur APIWeb viewerGeoPic Tag ReaderCommand line📷 GeoPic Tag ReaderThis repository only contains the Python library toread and write standardized metadatafrom geolocated pictures EXIF metadata.FeaturesThis tool allows you to:🔍 Analyse various EXIF variables to extract standardized metadata for geolocated pictures applications (coordinates, date, orientation, altitude...)✏️ Edit a picture to change its EXIF variables through a simpler command💻 Either as Python code or as a command-line utilityInstallThe library can be installed easily, for a quick glance:pipinstallgeopic_tag_reader
geopic-tag-reader--helpTo know more about install and other options, seeinstall documentation.If at some point you're lost or need help, you can contact us throughissuesor byemail.UsageThis library can be used both from command-line or as Python module.As command-lineTo see all available commands:geopic-tag-reader--helpTo read metadata from a single picture:geopic-tag-readerread--image/path/to/my_image.jpgTo edit metadata of a single picture, for example change its capture date:geopic-tag-readerwrite\--input/path/to/original_image.jpg\--capture-time"2023-01-01T12:56:38Z"\--output/path/to/edited_image.jpgFull documentation is also available here.As Python libraryIn your own script, for reading and writing a picture metadata, you can use:fromgeopic_tag_readerimportreader,writer,model# Open image as binary fileimg=open("my_picture.jpg","rb")imgBytes=img.read()img.close()# Read EXIF metadatametadata=reader.readPictureMetadata(imgBytes)print(metadata)# Edit picture EXIF metadataeditedMetadata=writer.PictureMetadata(picture_type=model.PictureType.equirectangular,direction=writer.Direction(125))editedImgBytes=writer.writePictureMetadata(imgBytes,editedMetadata)# Save edited fileeditedImg=open("my_new_picture.jpg","wb")editedImg.write(editedImgBytes)editedImg.close()Full documentation is also available here.ContributingPull requests are welcome. For major changes, please open anissuefirst to discuss what you would like to change.More information about developing is available indocumentation.🤗 Special thanksGeoVisio was made possible thanks to a group of ✨amazingpeople ✨ :GéoVéloteam, for 💶 funding initial development and for 🔍 testing/improving softwareCarto 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 thePanoramaxinitiative and core team (Camille Salou, Mathilde Ferrey, Christian Quest, Antoine Desbordes, Jean Andreani, Adrien Pavie)Manymanywonderful peoplewho 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 GeoVisioAnd you all ✨GeoVisio usersfor making this project useful !⚖️ LicenseCopyright (c) GeoVisio team 2022-2023,released under MIT license.