Skip to content

SichengYang/Java-JPEG-Exif-GeoTag-Editor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Java JPEG Exif GeoTag Editor

Description

  • This is a Java library that can let user scan jpeg/jpg exif, report all tags, and change or remove geotag.
  • This project offers App.java which can process all images in assets and a command line tool. For the instruction, please see the content below.
  • Project that use this library: https://github.com/tahaafzal5/AugieGeoTag

Functions

  • This library offers Jpeg which can parse jpeg/jpg and find exif raw data.
  • This library offers JpegExif can scan the exif data and report to users.
  • This library offers JpegOutputSet which can let user customize geotag (remove or update).

Download

git clone https://github.com/SichengYang/Java-JPEG-Exif-GeoTag-Editor.git

Compile Instruction

javac -d bin -cp .:./lib/hamcrest-core-1.3.jar:./lib/junit-4.13.2.jar --module-path <your javafx library path> --add-modules javafx.controls */*.java */*/*.java

Running Instruction

  • Run App
java -cp bin App
  • Run Tool
java -cp bin Tool <command>
  • Run JUnit Test
java -cp .:bin:./lib/hamcrest-core-1.3.jar:./lib/junit-4.13.2.jar tests.<a test runner>
  • Run JavaFX Progrma Editor
java -cp bin --module-path <your javafx library path> --add-modules javafx.controls Editor

Tool Command Instruction

command type:

-m remove for remove geotag, update for update geotag, verify for verify whether file is a jpeg, and print to print geotag (required)

-i name of input file or folder in assets folder. It could also be "." means process all images under assets (required)

-la latitude as a String (required when you select to update geotag)

-lo longitude as a String (required when you select to update geotag)

-help print help menu

Note: flag order does not matter

  • remove geotag command sample:
-m remove -i <file path under assets>
  • update geotag command sample:
-m update -i <file path under assets> -la <latitude> -lo <longitude>
  • print geotag command sample:
-m print -i <file path under assets>
  • verify jpeg command sample:
-m verify -i <file path under assets>
  • print all tag command sample:
-m tag -i <file path under assets>
  • print help menu:
-help

Geotag Support Format

  • 100 30 20.99 N
  • 100 40.99 S
  • 100.88 W
  • 100 30 20.99 (you can type in positive or negative to represent the direction)
  • -100 -30 -20.99
  • 100 40.99
  • -100 -40.99
  • 100.88
  • -100.88

License

Sample Usage

Import Guide

  • import jpeg.*;

Test Files

  • Pease go to folder tests under src