Git Product home page Git Product logo

photo-metadata-updater's Introduction

Photo Metadata Updater and Geotagger

  • View and update photo metadata, timezone, and geotag/coordinates/location
  • Able to batch update photos in bulk based on extensive array of filters
  • Built to geotag and time date images correctly to work with Google Photos
  • Supports viewing equirectangular/360 photos
  • Dark mode option

This app is only meant to be run locally on your own computer

Node.js backend, Vue.js frontend. Runs on Mac/Unix systems, not tested on Windows.

Please make backups of all photos before using the app and editing metadata, in case of unexpected errors.

Live Demo (Note: Metadata is reset every 3 hours)

Run App Guide

  1. Download the latest release based on your system
  2. Extract the zip to a new directory
  3. (Highly recommended, not required) Add your Bing maps API key to the config.properties file
  4. Run the photo-metadata-updater file, you will see a console window open
  5. In a browser, navigate to http://localhost:8000

If you want to contribute, instructions for local setup for development is in the wiki

Using the App

Usage

  1. Enter full system path to the directory of photos you wish to edit in the text box in the header, then press Enter
  2. All JPG and/or PNG images will load into the list on the side bar
  3. Select a photo from the list to view the photo, a map of where it was taken, and the photo metadata
  4. Edit the metadata fields as needed, these fields include:
    • Date: Local date from when the photo was taken
    • Time: Local time from when the photo was taken - NOT UTC Time
    • Timezone Offset: The timezone offset between the local time and UTC time
      • (e.g. Hawaii offset is -10 hours, and it is written as -10:00 using +/-HH:MM notation)
    • Elevation: Elevation in meters of where photo was taken (negative or positive, including decimal values)
    • Latitude: GPS latitude of where the photo was taken
    • Longitude: GPS longitude of where the photo was taken
  5. Click 'Save' to save the metadata

Tip 1: Click the search icon next to timezone offset field to calculate timezone offset based on the GPS and date/time information

Tip 2: You can either click on the map itself to select new coordinates, or enter them manually in the text boxes

Tip 3: You can paste coordinates in decimal degrees format "latitude, longitude" in either the latitude or longitude fields, and the app will automatically detect this and populate both coordinates values for you automatically

Tip 4: You can disable warnings, or change to dark mode in the options menu (top left corner)

EXIF/Metadata information

This application writes to the following EXIF metadata fields:

  1. Create Date (local time)
  2. Date/Time Original (local time)
  3. Modify Date (local time)
  4. GPS Altitude (elevation in meters)
  5. GPS Altitude Ref (Above/Below Sea Level)
  6. GPS Date/Time (UTC datetime)
  7. GPS Date (UTC date)
  8. GPS Time (UTC time)
  9. GPS Latitude (decimal degrees)
  10. GPS Longitude (decimal degrees)
  11. GPS Latitude Ref (N or S)
  12. GPS Longitude Ref (W or E)
  13. Offset Time (timezone offset - corresponds to Modify Date)
  14. Offset Time Original (timezone offset - corresponds to Date/Time Original)
  15. Offset Time Digitized (timezone offset - corresponds to Create Date)

Libraries/Resources Used

  • Exiftool - Tool used to view and edit photo metadata
  • Vue.js - Frontend framework
  • Vuetify - Vue UI library based on Google's material design
  • Vite - Frontend tooling
  • Pannellum - Equirectangular image projection viewer
  • SSE - Eventsource SSE alternative
  • Bing Maps - Map view and timezones API
  • Axios - HTTP Client
  • Express.js - Web framework for Node apps
  • pkg - Enables packaging node apps into executables

photo-metadata-updater's People

Contributors

kylmp avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.