Geotagging my coordinates with images

8 visualizzazioni (ultimi 30 giorni)
Moa
Moa il 16 Gen 2025
Modificato: Walter Roberson il 17 Gen 2025
Hi,there . The code that i want to write is :(i have a file of images and each images has a gps coordination in my csv excel file , well i need a code that gets a coordinates from my excel and tags it to it’s own picture… and at the end when i get the properties of my pictures i can see the coordinates in details) … i wrote to many codes but I wasn’t successful …plz help me to solve it ..thank you . And i took an example of my code .
Picfile=(address);coordsfile=(address.csv);
for i = 1:height(coords)
filename = coords.Filename{i};
lat = coords.Latitude(i);
lon = coords.Longitude(i);
command = sprintf( lat, lon, filename);
system(['exiftool ' command]);
end
  4 Commenti
Walter Roberson
Walter Roberson il 17 Gen 2025
Modificato: Walter Roberson il 17 Gen 2025
MATLAB is case sensitive, so For will not be recognized as being a for loop.
Also, the quotes ‘ and “ are unicode U+2018 and U+201C which are not recognized by MATLAB. You need to use U+0027 and U+0022 instead.
Walter Roberson
Walter Roberson il 17 Gen 2025
Cmd=sprintf('exiftool -gpslatitude=%g -gpslongitude=%g filename', Lat, Lon);

Accedi per commentare.

Risposte (1)

Sandeep Mishra
Sandeep Mishra il 16 Gen 2025
Hi Moa,
You can use the ‘Exiftool’ open-source software to modify the EXIF Data of an image.
Refer to the following example code snippet to modify the GPS property:
imagePath = 'image_file_name.png';
latitude = 38.7041;
longitude = 77.1025;
% Creating exiftool command to set GPS location
cmd = sprintf('exiftool -GPSLatitude=%f -GPSLatitudeRef=%s -GPSLongitude=%f -GPSLongitudeRef=%s "%s"', ...
latitude, latRef, longitude, lonRef, imagePath);
% Executing the exiftool command
status = system(cmd);
I hope this helps you!
  1 Commento
Moa
Moa il 16 Gen 2025

I have problem in creating exiftool command to set gps location ….can you please explain what should i put or not in there !? This part of my code is : Cmd=sprintf(‘exiftool -gpslatitude=lat -gpslongitude=lon filename’); Status = system(cmd) And i get this error Warning:error converting value for gps:gpslatitude(valueconvinv)

And my full code is : Clc Clear all Coord(“path of coords.csv”) Photo=(“path of my image file”) Coords=readtable(coord) For i=1:numel(coords.filename) Filename= coords.filename(i) Lat= coords.latitude(i) Lon= coords.longitude(i) Cmd=sprintf(‘exiftool -gpslatitude=lat -gpslongitude=lon filename’); Addpath(genpath(“path of my run_exiftool file that I downloaded from here”) Status = system(cmd) Thanks for your help in advance

Accedi per commentare.

Categorie

Scopri di più su Convert Image Type in Help Center e File Exchange

Tag

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by