Git Product home page Git Product logo

geotagninja's Introduction

Welcome to GeoTagNinja

GeoTagNinja is an open-source photo geotagger GUI for Windows. GTN uses exifTool to read and write EXIF info. This also sets the limitations and capabilities. If exifTool can read/write a file, chances are so can GTN.

There is a "short" (15 mins) demo on YouTube if you feel like watching it. It's from the original (Aug 2022) release but it still covers the main features more or less. It's only gotten better since...

Download & Install (Windows 7+ only)

  • Download the .msi file from Releases - Find the newest release (topmost, easy) then click on Assets if they are not showing. [There are now Development and Prod releases, both should be stable but if you'd like to be on the safer side, pick the prod updates.]
  • As of 20221202 I've removed the built-in webView2 installer because it was more of a pain in the backside than benefit. If the app breaks complaining about the lack of webView2, it's available here
  • The app is unsigned. This is because a certificate costs in the vicinity of £250 per year but the app is free, and I don't particularly feel like splurging out on this at the moment.
    • Due to the lack of a signed certificate, when installing SmartScreen will complain that the app is unsafe. SmartScreen is meant to be called StupidScreen but MS made a typo there.
    • Just run the installer. As the code is public and people may compile on their own, everyone is welcome to ascertain the app is safe should they feel like.

Things to Note, Usage

  • Build 8361 [20221122]+: There is now a hold when the user enters a folder - it is kept on until the folder completes load. This is a bit annoying perhaps but is needed because otherwise people can start issuing write-commands before the read-process finishes and that can result in files being written the wrong info.
  • This is mentioned in Known Issues briefly but just to reiterate: if you have issues with file data not showing please try renaming/moving your files to a "simple" folder like "C:\temp" and make sure your file names don't contain umlauts, special characters and anything "odd". This is a limitation of exifTool.
  • I have tried to test reasonably thoroughly but bugs probably remain. Do make backups of your files if you feel that's the right thing to do.
  • As per usual I don't accept any liability for damage and/or any other inconvenience you may suffer while/from using this app, no warranties and/or guarantees. The script is open source, and everyone is welcome to read it.
  • I'm kind of hoping this won't come up a problem but don't bash me about country names please. I'm thinking disputed country names and areas here. They are ISO standards, the API returns those values, that's it. Being from the UK I do think that the long name of "United Kingdom of Great Britain and Northern Ireland (the)" is a bit lengthy but it is what it is (and it's relatively rarely disputed but for example Crimea does return Ukraine as a value, regardless of what's been going on there since 2014; again, this isn't a statement either way, it's the API reply).
    • On this particular note above --> the script won't change existing country details in files unless you explicitly edit them. So, it may happen that your existing file has the CountryCode GBR and the Country "United Kingdom", that won't be changed unless you do a "Get From Web" because the CountryCode-to-Country matching only runs in that case. That's a feature, not a bug.
  • Altitude: in some cases, the API returns 32K or negative 32K as an altitude. Those are being blanked out.
  • Pressing Get From Web in Edit mode will always query the lat/long data for the file as in the main listview (the main page, in less geeky terms.). This is a feature. The assumption is that you aren't going to change coordinates manually by typing stuff in and then query data. It's a lot more likely you'll change stuff using the map.
  • Time Zones (in the Edit File) are left as blank on open regardless of what the stored value is. There is no Exif Tag for TZ but only "Offset", which is something like "+01:00". As there is no indication for neither TZ nor DST per se I can't ascertain that "+01:00" was in fact say BST rather than CET, one being DST the other not. Either adjust manually or pull from web - the combination of coordinates + createDate would decisively inform the program of the real TZ value.
  • See my comment above re: the app being unsigned and SmartScreen getting derpy once in a while. On top of that...
    • If you have Avast running or some other nightmare that tries to capture iframes within apps the app will most likely crash sooner rather than later, at least on the first run. I think it should be okay afterwards.
    • I've seen once (and only once) ESET being silly about the app. Tbh no idea as to why. While I'd say the source code is open for public viewing and building it is probably clearer to just say: the app isn't tracking or recording your data and isn't doing anything that's not strictly related to its function. If I ever were to include any tracking (no such plans for the foreseeable future), it'd be entirely anonymised anyway.
  • Build 8646 [20230903]+: I've finally gotten around to displaying the GPSImgDirection on the map. The logic is, as not to clutter the map the direction "line" will only show when only one image (with GPSImgDirection) is selected; if more than one such image is selected then the lines don't show.
    • The way this is calculated requires a "distance" so that the target coordinate pair ("the image direction") can be calculated. This is defaulted to 10km for the line and 1km for the triangle and is unlikely to change at this point.
  • Build 8651 [20230908]+: The other thing I've gotten around to was adding some method of displaying the Destination in images. WebView2 seems to be buggy about this and see below for details - also suggestions on fix welcome.
  • Build 8658 [20230915]+: There is now some support for Dark Mode. This is a little "unbeautiful", however there is no proper API support in .NET Framework 4.8.x for "real" (read: Windows 11 style) Dark Mode.
    • Some Borders and Scrollbars don't draw proper "dark" lines/brushes - so there's a discrepancy around the edges. From what I gather as an outcome of the above (lack of support).
    • Point being Dark Mode is an option so that the app doesn't burn your eyes if you are the night owl type, rather than to be pretty, apologies.
    • In newer builds there has been considerable improvements wrt Dark Mode as I now have a slave to do some of the dirty work (ReSharper AI FTW).
  • Build 8829 [20240304]+: Added a feature to Paste coordinate pairs into the GPSData (Lat/Long) of the Edit File.
    • The logic is that a Clipboard of only a pair of coordinates separated by (preferably) the Culture-invariant [aka comma] ListSeparator would be pasted into the Edit Form when pressing CTRL+V (e.g.: 56.1234, 12.5678) <-- and nothing else.
    • I coded this in a relatively foolproof way but try not to outsmart it.
  • Build 8831 [20240306]+: ExifTool should now auto-update into the Roaming folder upon app shutdown. (that's c:\Users\username\AppData\Roaming\GeoTagNinja)

A Particular Note on Working with Adobe Bridge (ACR) and RAW files > Saving as JPGs or Other Formats.

Basically, there appear to be two schools of thoughts, one propagating that RAW files themselves shouldn't ever be edited, whereas the other is less specific on this matter. GTN allows to set a "Process the original image" on a per-extension basis. If set so then the updates will go into the RAW files as well as (subject to further settings) an XMP file. When not set then only the XMP file will be edited, leaving the RAW file intact. This latter (do-not-process-the-raw-file) can cause some issues:

  • Current versions of GTN are coded so that data in XMP files take precedence over RAW files when there is conflicting information. The logic is that discrepancies should only happen if the user does not overwrite the RAW file and therefore whatever is in the XMP is created (and has been modified) on purpose and thus is the will of the user.
  • When using Bridge (and/or ACR) as a workflow tool, it has its own quirks, one being that GPS coordinates are read from the RAW file, not the XMP file, even if there is a discrepancy. To make matters worse, any updates to the GPS coords within Bridge are saved in the XMP file but upon refresh (F5) the values revert to those in the RAW file. One can say that is a feature of sorts.
    • This becomes a particular problem because if a user has the following workflow: download RAW from Camera > process & change coords in GTN (only write XMP) > save as JPG in Bridge then the JPG files will likely contain the wrong coordinates (those from the RAW file). There is nothing I can do about this. FWIW I checked and GeoSetter has the same thing, which is sensible given that this is ultimately an external factor. Amusingly enough a quick googling shows that users have reported this issue as early as 2017 but, while acknowledged, it's been ignored by Adobe, certainly as late as Bridge v2022 (haven't tried newer ones).
    • The only way to get around this is to process the RAW image (edit/overwrite as above) within GTN

Collection Mode (Hooking up GTN with Jeffrey Frield's LightRoom Classic Plugin "Run Any Command"

As of Build 8475 [20230316] onwards we now have a CollectionMode. The initial logic/usage is as follows:

  1. Download (and install) the plugin from http://regex.info/blog/lightroom-goodies/run-any-command - there are installation notes in Jeffrey's website, if you are having issues with this part, please nudge him, not me.
  2. Within LRC under "File | Plug-in Extras | jf Run Any Command | Configure..." -> Configure the plugin as such: "c:\Program Files\GeoTagNinja\GeoTagNinja.exe" --collection={MANIFEST} (where {MANIFEST} is a literal string, i.e. just type that in with the curly brackets).
  3. Launch the Custom Command. This should trigger GTN in CollectionMode.
  4. Edit and interact with your files as usual. Don't forget to save!
  5. When all's done, close GTN. At the moment it doesn't support being called twice with an updated file list. That may come later.

Things to note:

  • Technically this function also works if you provide a txt file path outside of LRC, such as "c:\Program Files\GeoTagNinja\GeoTagNinja.exe" --collection=C:\tmp\filelist.txt
  • If you specify a txt file that doesn't exist, or there are no viable files in it then the app will just run normally (in "normal mode" that is.)
  • Lines in the txt file shouldn't have trailing spaces.
  • When you're in CollectionMode it's generally possible to do anything, the app otherwise does apart from changing folders.

Building & Testing

If you want to build the project, probably use Visual Studio - I used v2022 Community. Instead of downloading the source code as zip please pull from Git, you can do that via VS if you want. There are 2 parts to the project. One is the "main" the other is the installer. You'll generally have problems w/ the installer bcs it hasn't been pushed to git so it's going to be missing that half. For the "main" project you should be okay without anything separate. It has worked ok for me on a blank VM when pulled from Git. Just build and F5/run.

There is currently no preset release cycle. I don't expect one to happen in a systematic way. There is a development branch as mentioned above for people that like to live dangerously.

Pull Requests

I'm generally happy for anyone competent to add pull requests but I don't always sync the commits as they come with GitHub until there is an actual release - it's therefore possible that my local commits are lightyears away from the public ones. If you'd like to do a pull request, drop a message/open a ticket first please and we can sync the details.

ToDos

  • IPTC Keywords & XMP Subjects alignment (see further below)

Known Issues

  • There is a likelihood that the app will struggle to read file data if your files are kept in folders with accent marks (umlauts, non-standard English, Asian, Russian, Unicode, etc. characters) in the path and/or filename. This is a limitation of exifTool + cmd. If you encounter a problem, move your files to something like "C:\temp" and see if it works better.
    • On top of that above exifTool has a hard limit of 260 characters for file names including paths. Anything beyond that will fail. Again, rename your files or temporarily move them to C:\temp if this is an issue. Unicode (e.g. most Chinese and other Asian) characters have an up to 4-byte size per character. This is to say you'll run into errors with these files more often than not.
    • Alternatively, you can enable this feature if you're running v1903 Windows 10 or later but it may have some unwanted effects so keep an eye out for changes caused by it.
  • The API has its rather odd ways of dealing with the "City" tag [not the least because there isn't such a tag in the API].
    • For a detailed rundown on the above see the code if interested + an overall discussion here
    • As of 20230105 there is now a "Custom Rules" section in Settings where users can amend their own rules and there is a wiki on the overall workings of this.
  • Pressing Get From Web either in Edit mode or on the map will always set the affected file to write-queue even if the values don't actually change.
  • If user zooms "too far out" on Map they will get odd longitude values. The code handles this internally but map feedback is what it is.
  • I didn't really manage to test this but for Nikon D5 the camera outputs NEF files with a built-in "Rating=0" tag. This becomes an issue in Adobe Bridge if an XMP is created and then the NEF file is subsequently overwritten by GTN because Bridge would ignore the Rating value in the XMP file going forward. For this reason, Rating is always sent back to the RAW files if they are saved. I don't think this would be a problem but more of a heads-up that there are some oddities like this. Btw this force-save-Rating isn't limited to Nikon camera saves in GTN.
  • If you change Time Offset (time zone) and nothing else at all then you'll get a warning that "nothing has changed" in the xmp sidecar file. This is not a bug. There is no XMP tag for OffsetTime.
  • Destinations: See below.
  • IPTC Keywords & XMP Subjects: when using Adobe Bridge or certain other tools, keywords get added by that software. This can be anything whatsoever (e.g. mum or I love you or Stratford) either defined by the user or the software. The problem is that there most often is no indicator as to what a keyword is, e.g. no City= or some such -> this makes it extremely difficult (read: impossible) to sync data with keywords. See: [XMP] Subject: England, GBR, geo:lat=51.54131500, geo:lon=-0.01036167, geotagged, Stratford, Stratford and New Town Ward, United Kingdom
    • At the moment there's some groundwork-code in the codebase to enable some future interaction with keywords but I haven't quite worked out an efficient way around this. You'll notice that the two geo: are easy to capture and edit but the rest are just undefined character strings. A remove all geodata command therefore wouldn’t be able to identify whether say Fxxking is a verb or a town in Austria or perhaps Bugyi is a character string that refers to the Hungarian town called Bugyi, or the otherwise equivalent noun that translates as panties. If you think I'm entirely crazy, then read the Wikipedia article regarding that settlement.
    • This means that if your file has Keywords/Subjects and you edit the geo-data the keywords will become out of sync with the changes.
    • What's therefore likely to happen is that I'll attempt to replace existing geo: keywords with up-to-date values as required and ignore the rest.

Destinations/Possible Bug in WebView2

TL; DR: the arrows are missing. Longer: Hypothetically the idea with Destinations is that if there are groups of images that have GPSDestLat/Long defined then the app draws a path on the map for each of these. Assume the following:

  • You have N groups of images (N>0) where GPSDestLat/Long is defined and is the same within each group

  • Each group has C (-> C>1) count of images where the GPSLat/Long is different. Basically, you have a bunch of photos from a path walked/driven/etc, and you want to map them.

  • The script parses these N groups, separates them and puts them independently on the map with a bunch of arrows.

    • When viewing the HTML file out of GTN and open in Edge or Chrome there are the appropriate number of grouped paths and arrows show between the individual images, aka it works as expected.
    • When viewing the same thing within GTN the arrows are missing. Upon inspection it is found that Uncaught TypeError: Cannot read properties of undefined (reading 'arrowHead') ... - so basically the arrowHead of the polylineDecorator breaks the WebView2 JS engine, something that isn't a problem in "real" Chrome or Edge.
  • For those better versed in JS I've put a try/catch block around this, but I still think there should be some way around the issue so any suggestions here pls shout.

Possible Issues & Solutions

  • Read/Save file process fails semi-randomly: (yes this is a copy-paste from above but it seems not everyone's reading the known issues section)
    • If your files are kept in folders with accent marks (umlauts, non-standard English, Asian, Russian, Unicode, etc. characters) in the path and/or filename. This is a limitation of exifTool + cmd. If you encounter a problem, move your files to something like "C:\temp" and see if it works better.
    • On top of that above exifTool has a hard limit of 260 characters for file names including paths. Anything beyond that will fail. Again, rename your files or temporarily move them to C:\temp if this is an issue. Unicode (e.g. most Chinese and other Asian) characters have an up to 4-byte size per character. This is to say you'll run into errors with these files more often than not.
    • Alternatively, you can enable this feature if you're running v1903 Windows 10 or later but it may have some unwanted effects so keep an eye out for changes caused by it.
  • You get an "unauthorized" error when pulling data from the GeoNames API:
    • I've been told that by default the API usage is disabled for (some?) new accounts. In that case you have to activate the free web service ---> After registering and clicking the link in the activation email, you still need to activate your account for using web services. To do so, go to your "Manage Account" page [ http://www.geonames.org/manageaccount ] make sure your email shows up correctly. From here, click the "Free Webservice" activation link.
    • Make sure you have provided a valid username and password for GeoNames in the Settings. For username do not use your email address but just the username itself. If you think you've done everything correctly, do the following:
      • If you need screenshots for the below visit this ticket reply.
      • Download & install the newest sqlitebrowser from here (any version will do)
      • Open sqlitebrowser and then in it open the file C:\Users\YOURUSERNAME\AppData\Roaming\GeoTagNinja\database.sqlite
      • Go to Browse Data
      • Pick the Settings table
      • In the filter for the SettingID type in "geo" (or just find the value on the screenshot)
      • Check that the username and password is what you'd expect to find (check for extraneous spaces pls). If it isn't, open a ticket.
    • If everything looks as expected then try the following:

When reporting bugs please specify

  • The OS's version,
  • The OS's language (incl region such as English/UK or English/USA),
  • Full path of your photo if the bug is related to reading or writing data,
  • Possibly upload the picture somewhere if not sensitive so I can test.

System Requirements

  • Windows 7+ is needed.
  • SQLite is running x86 but fwiw the app isn't really memory-hungry so it will do. Chances are if you're still on a 1st-gen Intel Core you're not on Windows 7. Hopefully.
  • You'll need an ArcGIS API key to use the map search functionality. Register for free here
  • You'll need a geoNames username and password to use toponomy search. Register for free here
  • WebView2 is required but should come with your OS most likely. If not, get it from here

geotagninja's People

Contributors

nemethviktor avatar pbranly avatar urmel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

urmel

geotagninja's Issues

Option to ignore reverse geocoding

Is your feature request related to a problem? Please describe.
I want to define the location names myself, because I want to have the places in the local language, not e.g. in English. I haven't defined the Geonames account, and when I add coordinates from the GPX file, I get two error messages for each file that I have to acknowledge.

Describe the solution you'd like
If the Geonames account is empty, skip the reverse geocoding.

Describe alternatives you've considered
A maybe more clear alternative would be to have a tick box for reverse geocoding (do you want ...), and if it is ticked, then the username and password field would be active.

(Rejected) Show Preview Images in Map

When the position of selected images is shown on the map, I would like to also see (if I want that) preview images at these location.

The only use case I know that I would have liked it to use it for is when reviewing a GPX track sync result. Apart from that, it might just look cool.... :)

no information about new release

Hi,
I currently have the version 0.6.8350. At start up I should receive a notification for downloading the last 0.6.8358
But no info
Regards
Phil

Metadata writes

I'm not real clear on how the metadata gets written to the file. I can copy and paste geodata from one picture to the next, and when I move to another photo the pasted data turns red. Then I do File->Save All and the red turns to black. But when I attempt to verify the coordinates in a program like digiKam, the map reports no geolocation data found. However, if I push "Loc to File" under the map, the data again turns red and if I do File->Save All the coordinates do register in digiKam (e.g. I get a map with the correct location). I would think that the File->Save All does the same thing in both instances. I'm assuming that Save All only updates modified photos, correct? Note that the text data turns red as modified only after moving to another line in the photo list.

Saving places for later retrieval

First of all: it is great to have a GeoSetter replacement!! I have been looking for something like GeoTagNinja for quite some time! Many thanks!

What I miss most is the ability to save locations (coordinates) for later reuse when manually geocoding images taken in places where I am consistly (home, work, etc.).

[Bug] EditForm: DateTime greyed out after changing between pictures with and without take datetime

Describe the bug

I cannot change the Taken Date anymore, as the dt picker and the insert button are grayed out:
grafik

To Reproduce

  1. Select multiple images w/o taken date: grafik
  2. Start editing these (edit form opens)
  3. For the first image, insert a new taken date
  4. switch to a different picture without taken date
  5. switch back to the picture for which the taken date was just inserted
  6. After that, I cannot edit or insert the taken date in any picture currently in the edit form

Expected behavior
The dialog should be presented as before switching to the other picture.

Additional info
The same behavour happens when...

  1. Select images with and without a taken date
  2. Start editing these (for me, a picture with taken date is selected automatically):
    grafik
  3. switch to a picture without taken date:
    grafik
  4. After that, I cannot edit or insert the taken date in any picture currently in the edit form

Lat/long for photos without GPS data

This looks like a worthy replacement for GeoSetter. It would be nice if, instead of centering on 0°N 0°E, when adding GPS data to a series of photos without it, the map would default to either a usergiver location or to the location of the last photo treated.

importing locations to a specif list of photos is applied to all the active directory

Version: 0.7.8378 [20221209:1226]

i have a batch of 50 photos;
I want to add localisations to 5 photos only ( because I dont want to change orthers, or because I want to keep the existing localisation)
after the localisation importation, all the 50 photos are modified.

Normal behavior should (must) be to modify th selected photos only

Regards
Phil

Application fails to process full gpx file to all images

Describe the bug
I tried to import a gpx file to 173 images in a folder, but GeoTag Ninja fails silently. The import terminates quickly, and when looking at the import report it is empty. If I import the file in pieces, i.e. select a subset of the images (roughly half), the import completes normally for all parts.

To Reproduce
Steps to reproduce the behavior:

  1. Open a folder with very large number of images (170+)
  2. Import a gpx file covering all the images
  3. See error

Expected behavior
All images are tagged without issues, or if there are technical limitations, a clear message showing the error and asking to do the task in pieces.

Desktop (please complete the following information):

  • OS: Win11 Enterprise 22H2
  • Language/Culture: en-FI

Additional context
GPX file I tired to import.
2023-03-03.zip

Paste Meta Data: Remember Last Selection + General All/None Buttons

Is your feature request related to a problem? Please describe.
I often use copy / past to set the time zome of images. When I past multiple times, I always have to set the check mark at time zone again.

Describe the solution you'd like

  • The paste meta data dialog remembers which meta data I pasted last time and checks these fields again
  • In order to easily change things, there should also be an all and none button that un/sets all check marks

Map doesn't show up, and ''Get From Web' doesn't work

Hi,
I set up the two accounts needed (API key and user password). searching for "Chrüzegg" returned valid json. When I select a picture with coordinates, no map appears. Also, when I use 'Get From Web' it pops up a window that has 'Info' as the title, an 'i' in a circle for content, and an OK button. No information is filled in.
I'd really love to get this working.

Manage Favorites missing option to change country

Describe the bug
Manage Favorites dialog has an option to change Lat, Long, Alt, State, City and Sublocation, but not Country.

To Reproduce
Open the Manage Favorites dialog.

Expected behavior
There should also be a possibility to update the Country.

Screenshots
image

Go To Favorite Button

Is your feature request related to a problem? Please describe.
Sometimes, I want to go some place near a favorite, which at the moment means manually (or using the address search) going there.

Describe the solution you'd like
I would like to have a button "go to favorite" so that the map is centered on the selected favorite.

Copy-Paste Geoinformation across different folders

Is your feature request related to a problem? Please describe.
Copy-Paste (Ctrl-Shift-C/Ctrl-Shift-V) doesn't work across folders.

I took pictures in the same place in two different days. I had created a GPX file during the first day, but didn't do that on the second day. I import my images into a folder structure based on dates, and I couldn't copy-paste the location from the first day images to the second day images. Only workaround I had was to create a favorite on that place, and use it, but I think it is an overkill for random locations.

Describe the solution you'd like
Copy-Paste works across folders, and don't forget the information, when the folder is changed.

Describe alternatives you've considered

Better map resolution?

I can't zoom in as much as I would like on the map to pinpoint a location. Any way to get closer?

Exception when moving fast between images that cannot be displayed

Hi!

first of all thanks for taking on the task of starting this project. I've been using GeoSetter for quite some time, but as it now is almost completely useless due to the latest Google Api update, was looking for an alternative. And your project for sure looks like a good one!

Setting

So I started with the latest greatest you provided in this issue: #15.

Running on a German Win10 machine.

Error

I have a folder with files that the Ninja can display (the upper ones) and 4 images the Ninja cannot display (the lower ones; issue #17):
grafik

When I quickly curser up and down through the images that Ninja can display, everything is fine. The application takes some time to update the preview and it works it way throught the long list of keypresses after I finished - but nothing crashes.

When I do this with the images in the lower part - i.e. quickly cursor up and down - I get this exception:

System.ArgumentException: Ungültiger Parameter.
bei System.Drawing.Bitmap..ctor(String filename)
bei GeoTagNinja.HelperStatic.d__33.MoveNext()
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
bei System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
bei GeoTagNinja.FrmMainApp.<lvw_FileList_KeyUp>d__58.MoveNext()
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
bei System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.b__6_0(Object state)

I have no clue, why it's in German (ok, my windows is, but....). So...

  • Ungültiger Parameter -> "illegal argument" / parameter
  • "Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde" seems like an automatically translated thing. Sounds like "end of stack trace for observed scope"

Note that this will not happen, when I cursor slowly through them ...

GPS Lat and Long Reference removed from EXIF data

Describe the bug
Setting geolocation to a western longitude creates conflicting EXIF information

To Reproduce
Steps to reproduce the behavior:

  1. Geotag an image with western coordinates
  2. Save the image
  3. Validate the coordinates with exiftool
  4. See error

Expected behavior
All GPS related EXIF fields are updated correctly

Screenshots

exiftool -a -G \Users\xxx\Pictures\2023\03\2023_03_01\_3010149.ORF | findstr /i gps
[EXIF]          GPS Version ID                  : 2.3.0.0
[EXIF]          GPS Latitude Ref                : North
[EXIF]          GPS Latitude                    : 38.707384
[EXIF]          GPS Longitude Ref               : West
[EXIF]          GPS Longitude                   : 9.142500
[EXIF]          GPS Altitude Ref                : Above Sea Level
[EXIF]          GPS Altitude                    : 10.6 m
[EXIF]          GPS Speed                       : 0
[Composite]     GPS Altitude                    : 10.6 m Above Sea Level
[Composite]     GPS Latitude                    : +38.707384
[Composite]     GPS Longitude                   : -9.142500
[Composite]     GPS Position                    : +38.707384, -9.142500

Note the difference between composite and EXIF GPS Longitude Ref. Also if I remove the .Exiftool_config the Composite section looks like

[Composite]     GPS Altitude                    : 10.6 m Above Sea Level
[Composite]     GPS Latitude                    : 38 deg 42' 26.58" N
[Composite]     GPS Longitude                   : 9 deg 8' 33.00" W
[Composite]     GPS Position                    : 38 deg 42' 26.58" N, 9 deg 8' 33.00" W

Desktop (please complete the following information):

  • OS: Win11 Enterprise 22H2
  • Language/Culture: en-FI

Additional context
An example file geotagged to Lisbon to which the output is referring to
_3010149.zip

Installation shortcut self-references

Forgot to mention, but when I use the .msi installer the shortcut for the start menu points back to the folder where the shortcut resides (e.g. for me, C:\Users\Tom\AppData\Roaming\Microsoft\Windows\Start Menu\Programs), instead of the executable (C:\Program Files\GeoTagNinja\GeoTagNinja.exe).

Building

I off-handedly attempted a build with Visual Studio 2019 and got all kinds of arbitrary compiler errors. Don't know what kind of .NET framework I should be using or other configuration/build parameters. Anything special about building this beast?

Copy-Paste tags copies also times by default

Is your feature request related to a problem? Please describe.
I don't want to change the timestamps of my images, but copy-paste tags has it enabled by default. I would prefer to have it turned on optionally.

image

Additional context
I think this is introduced in the latest development version. I don't think this existed earlier.

[Feature Request] Edit dialog to change attributes (date+time captured) of an image

Hi @nemethviktor,

is it ok to also file feature request...? I just stumbled accross this one while going through my usual tagging workflow.

I would like to by hand modify the date (and time) the image was captured.

As I was not able to do this with system standard tools and it seems to me like a thing that one would like to do in such an app. I open this feature request.

Maybe it also makes sense to add other attributes that can then also be modified by the user.

Use EXIFTool Available to also Generate ImagePreviews

As discussed in #40, image previews should also be called by the EXIFTool stay_open version. Basically most pics are likely to require a generated preview so firing up ET each time when we have this already working seems like a no-brainer for switch.

  • Check how this can be done with stay_open
  • Adapt logic to use the stay_open Wrapper

Sublocation and City fields seem swapped for many locations.

As mentioned in another issue: Many thanks for developing GeoTagNinja!!

I only used GeoTagNinja on a few ORF files, but I can already report that it works smoothly together with Capture One and IMatch. These two programs displayed the GPS data corectly.

Hower, Sublocation and City seem to be swapped, with Sublocation showing the city name and City showing the neighbourhood name.

The swap happens for most places I checked: Finland, Sweden, Argentina, USA. I see the swap in New York, while at least some places in London seem o.k. (Tested by selecting different locations on the map, and copying the data to an image).

Please, let me know if I can help in some way.

[Feature] Adjust Column Sort Order for File List to Handle Folders Differently

New Sorting Rule: Folders, ".." and drives should always come at the top

Whatever column, we sort by, we should keep folders and ".." at the top (and in alphabetical order).

Implementation Proposal

In order to implement this, I propose to create an object model containing the image information. For a start just the info on type and name. The longer term idea is to migrate the other data also into this model. This will allow us to easily extend it, implement logic and caching (preview images for example) in it and also allow for an encapsulted functionality to track changes to the single objects.

The other option would be to use the methods as used in the image preview / generation, where for folders or alike, no images are generated.

Remember Altitude/Toponomy answer

Perhaps another 'nice to have': 'a 'don't ask me again' checkbox in the Altitude/Toponomy popup. The answer for the first photo will often also be the answer for all the subsequent ones.

Track Sync: Remember Shift Track Time

Is your feature request related to a problem? Please describe.
When I sync my files, I discover that I missed to adjust the clock in my camera. After I did the syncing, I forget to do so and run into the same situation next time.

Describe the solution you'd like
Instead of every time trying to figure out the exact shift, I would like to have as a preset the last used Shift Track Time:
grafik

exiftool should be configurable externally

it seems that the version of exiftool is 3 months old.
as in the geosetter program the exiftool executable should be modified externally as it evolves very often.
Current situation is that it is compiled with the whole package

For a future release.... not urgent

Phil

GTN thinks it wrote changes even if write failed (+ localization issue)

Failing to write results in loosing the changes, because GTN thinks that it already wrote them.

To Reproduce

Steps to reproduce the behavior:

  1. Start editing a file that previously has no geo info:
    grafik

  2. Using the map, assign a long/lat to it
    grafik

  3. Save (which must fail in order to reproduce the issue, e.g. by setting the file to write protected)
    grafik

  4. Although the data is not saved, it is marked as saved and the write-queue is emptied:
    grafik

Second issue: localization

  • As can be seen in above screenshots, localizations of 3 error dialogs are missing

Expected behavior

The changes that failed to get persisted still remain as changed.

Desktop (please complete the following information):

Used GTN version: #52

Exception when trying to select time zone in GPX import dialog

Describe the bug
Unhandled exception dialog pops when trying to select a different time zone.
image

To Reproduce
Steps to reproduce the behavior:
1.Open import GPX/JSON File dialog
2. Tick Use this time zone
3. Click on the drop down
4. See error

Using the a different time zone works without problems if I ignore the error and select Continue in the dialog.

Expected behavior
No error message

Screenshots
The error text in the dialog is

************** Exception Text **************
System.ArgumentOutOfRangeException: startIndex cannot be larger than length of string.
Parameter name: startIndex
   at System.String.Substring(Int32 startIndex, Int32 length)
   at GeoTagNinja.FrmImportGpx.updatelbl_TZValue()
   at GeoTagNinja.FrmImportGpx.ckb_UseTimeZone_CheckedChanged(Object sender, EventArgs e)
   at System.Windows.Forms.CheckBox.OnCheckedChanged(EventArgs e)
   at System.Windows.Forms.CheckBox.set_CheckState(CheckState value)
   at System.Windows.Forms.CheckBox.OnClick(EventArgs e)
   at System.Windows.Forms.CheckBox.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9139.0 built by: NET481REL1LAST_B
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
GeoTagNinja
    Assembly Version: 0.8.8436.22440
    Win32 Version: 0.8.8436.22440
    CodeBase: file:///C:/Program%20Files/GeoTagNinja/GeoTagNinja.exe
----------------------------------------
System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9075.0 built by: NET481REL1LAST_C
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9139.0 built by: NET481REL1LAST_B
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9032.0 built by: NET481REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
NLog
    Assembly Version: 5.0.0.0
    Win32 Version: 5.1.0.1480
    CodeBase: file:///C:/Program%20Files/GeoTagNinja/NLog.DLL
----------------------------------------
System.Core
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9139.0 built by: NET481REL1LAST_B
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Configuration
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9032.0 built by: NET481REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9032.0 built by: NET481REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Accessibility
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9032.0 built by: NET481REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------
System.Data
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9110.0 built by: NET481REL1LAST_B
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Numerics
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9032.0 built by: NET481REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Numerics/v4.0_4.0.0.0__b77a5c561934e089/System.Numerics.dll
----------------------------------------
System.Data.DataSetExtensions
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9032.0 built by: NET481REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Data.DataSetExtensions/v4.0_4.0.0.0__b77a5c561934e089/System.Data.DataSetExtensions.dll
----------------------------------------
CsvHelper
    Assembly Version: 30.0.0.0
    Win32 Version: 30.0.1.0
    CodeBase: file:///C:/Program%20Files/GeoTagNinja/CsvHelper.DLL
----------------------------------------
Microsoft.Bcl.AsyncInterfaces
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.22.51805
    CodeBase: file:///C:/Program%20Files/GeoTagNinja/Microsoft.Bcl.AsyncInterfaces.DLL
----------------------------------------
System.Data.SQLite
    Assembly Version: 1.0.117.0
    Win32 Version: 1.0.117.0
    CodeBase: file:///C:/Program%20Files/GeoTagNinja/System.Data.SQLite.DLL
----------------------------------------
System.Transactions
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9032.0 built by: NET481REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.Transactions/v4.0_4.0.0.0__b77a5c561934e089/System.Transactions.dll
----------------------------------------
Newtonsoft.Json
    Assembly Version: 13.0.0.0
    Win32 Version: 13.0.2.27524
    CodeBase: file:///C:/Program%20Files/GeoTagNinja/Newtonsoft.Json.DLL
----------------------------------------
Microsoft.Web.WebView2.Core
    Assembly Version: 1.0.1462.37
    Win32 Version: 1.0.1462.37
    CodeBase: file:///C:/Program%20Files/GeoTagNinja/Microsoft.Web.WebView2.Core.DLL
----------------------------------------
System.EnterpriseServices
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9032.0 built by: NET481REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.EnterpriseServices/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll
----------------------------------------
Microsoft.Web.WebView2.WinForms
    Assembly Version: 1.0.1462.37
    Win32 Version: 1.0.1462.37
    CodeBase: file:///C:/Program%20Files/GeoTagNinja/Microsoft.Web.WebView2.WinForms.DLL
----------------------------------------
TimeZoneConverter
    Assembly Version: 6.0.1.0
    Win32 Version: 6.0.1.0
    CodeBase: file:///C:/Program%20Files/GeoTagNinja/TimeZoneConverter.DLL
----------------------------------------
System.Runtime.InteropServices.RuntimeInformation
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9032.0
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.InteropServices.RuntimeInformation/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Runtime.InteropServices.RuntimeInformation.dll
----------------------------------------

Desktop (please complete the following information):

  • OS: Win11 Enterprise 22H2
  • Language/Culture: en-FI

Migrate GPXTrackSync to use EXIFWrapper and Remove ObjectExifIn-Mapping

As discussed in #40, the usage of the stay_open and internalization of the EXIF Tags to Attribute mapping should be made more consequent.

The only other part of the programm that uses the "in" part of EXIF Mapping in SQLite is the sync of tracks. Thus, we should migrate this to also use ExifWrapper and then remove this SQLite table.

  • Discuss if an implementation of "update list view" using DE model is needed first
  • Migrate the GPSTrackSync to use the ExifWrapper logic
  • Check that there are no other uses of the SQL table
  • Remove the SQL table

Latitude is cleared before it can be saved

Windows 11, English

When I paste in a latitude value, it stays long enough for me to get the reverse geocode information, but when I press OK it shows up in the main window as zero.

When going from maxed window to normal size panels arrange strangely

Setting

  • Latest greatest provided in this issue: #15.
  • Running on a German Win10 machine.

Error

When the app has its window maximized, one can resize it to "normal" in two ways:

  • Pressing the reduce size button in the upper right
  • Pulling down on the title bar

Taking the first approach (reduce button), I can change the size between max and normal. I can also - when in normal size - resize the window by dragging the lower right corner. --> Fine.

But using the second approach (title bar), it reduces it sizes and re-arranges the panels in a funny way:
grafik

  • The effect seems to be bigger when the initial reduced size (directly after pulling on the title bar) is smaller.
  • The effect seems to have a varying degree of "severity".
  • The effect cannot be healed by (multiple times) bringing it to max size and reducing the size with the button again.

Workaround

Use the resize button to change from max to normal size.

[DEV] Empty Toponmy Result Results in Exception

Describe the bug

In the edit form, we get an exception when trying to retrieve toponomy data for an image w/o coordinates:
grafik

Error

In FrmEditFileData.cs Error

System.IndexOutOfRangeException: "An der Position 0 befindet sich keine Zeile."
(no row at position 0)
grafik

Reproduce

Steps to reproduce the behavior:

  1. Open the Edit Dialog for 1...N images that have no coordinates set
  2. Select to update toponomy data for image w/o coordinates

Expected behavior

I guess it should do... nothing (like for altitude data) or maybe a short message telling you that you need coordinates first?

Further context

Using DEV branch with commit 31a2466

Program hangs in the start

I get an error of invalid date format. If I Ignore the JIT error message, the reading dates window remains visible and nothing happens, if I select Quit, the program aborts.

My date format is
hh.mm DD/MM/YYYY

What I can do to pinpoint the issue?

************** Exception Text **************
System.FormatException: String was not recognized as a valid DateTime.
   at System.DateTimeParse.Parse(String s, DateTimeFormatInfo dtfi, DateTimeStyles styles)
   at System.DateTime.Parse(String s, IFormatProvider provider)
   at GeoTagNinja.HelperStatic.<ExifGetExifFromFolder>d__2.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at GeoTagNinja.FrmMainApp.<lvwFileList_LoadOrUpdate>d__80.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.<ThrowAsync>b__6_0(Object state)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9105.0 built by: NET481REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
GeoTagNinja
    Assembly Version: 0.7.8391.21578
    Win32 Version: 0.7.8391.21578
    CodeBase: file:///C:/Program%20Files/GeoTagNinja/GeoTagNinja.exe
----------------------------------------
System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9075.0 built by: NET481REL1LAST_C
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9065.0 built by: NET481REL1LAST_C
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9032.0 built by: NET481REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
NLog
    Assembly Version: 5.0.0.0
    Win32 Version: 5.1.0.1480
    CodeBase: file:///C:/Program%20Files/GeoTagNinja/NLog.DLL
----------------------------------------
System.Core
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9115.0 built by: NET481REL1LAST_B
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Configuration
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9032.0 built by: NET481REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9032.0 built by: NET481REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Data
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9110.0 built by: NET481REL1LAST_B
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Numerics
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9032.0 built by: NET481REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Numerics/v4.0_4.0.0.0__b77a5c561934e089/System.Numerics.dll
----------------------------------------
System.Data.SQLite
    Assembly Version: 1.0.117.0
    Win32 Version: 1.0.117.0
    CodeBase: file:///C:/Program%20Files/GeoTagNinja/System.Data.SQLite.DLL
----------------------------------------
System.Transactions
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9032.0 built by: NET481REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.Transactions/v4.0_4.0.0.0__b77a5c561934e089/System.Transactions.dll
----------------------------------------
Newtonsoft.Json
    Assembly Version: 13.0.0.0
    Win32 Version: 13.0.2.27524
    CodeBase: file:///C:/Program%20Files/GeoTagNinja/Newtonsoft.Json.DLL
----------------------------------------
Microsoft.Web.WebView2.Core
    Assembly Version: 1.0.1462.37
    Win32 Version: 1.0.1462.37
    CodeBase: file:///C:/Program%20Files/GeoTagNinja/Microsoft.Web.WebView2.Core.DLL
----------------------------------------
System.EnterpriseServices
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9032.0 built by: NET481REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.EnterpriseServices/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll
----------------------------------------
System.Data.DataSetExtensions
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9032.0 built by: NET481REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Data.DataSetExtensions/v4.0_4.0.0.0__b77a5c561934e089/System.Data.DataSetExtensions.dll
----------------------------------------
CsvHelper
    Assembly Version: 30.0.0.0
    Win32 Version: 30.0.1.0
    CodeBase: file:///C:/Program%20Files/GeoTagNinja/CsvHelper.DLL
----------------------------------------
Microsoft.Bcl.AsyncInterfaces
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.22.51805
    CodeBase: file:///C:/Program%20Files/GeoTagNinja/Microsoft.Bcl.AsyncInterfaces.DLL
----------------------------------------
Microsoft.Web.WebView2.WinForms
    Assembly Version: 1.0.1462.37
    Win32 Version: 1.0.1462.37
    CodeBase: file:///C:/Program%20Files/GeoTagNinja/Microsoft.Web.WebView2.WinForms.DLL
----------------------------------------

version 0.7.8391 cant update photos

Hi
Happy new year.
I just try to update photos with gpx positions without success
i select all the photo and select either the gpx file or the directory where the file is and click on OK
the OK becomes grey and even after several minutes, i dont have any result
The solution is to click on the "Cancel" button but there is not any photos updated and no message

Phil
2023-01-04_12-52

French translation

Hi
Thanks for your very promising application
Would you need any help for French translation ?
If yes provide me the source and procedure
Regards
Phil

bad numeric position

Hi
When I select a position, it is good in the popup but latitude longitude is wrong
see screen copy
Si it write the bad references in the photos
Phil
2022-11-19_15-24

Map changes zoom level when selecting a new image

Describe the bug
When I change the image the map resets it's zoom to the original, and doesn't keep the zoom level previously selected.

To Reproduce
Steps to reproduce the behavior:

  1. Open a folder
  2. Select an image
  3. Zoom close to the location
  4. Select another image
  5. The zoom level reverts to the original

Expected behavior
The selected zoom level would be respected.

Screenshots

Desktop (please complete the following information):

  • OS: Win11
  • Version: 0.7.8421

Additional context
The problems started when I zoomed and panned from Finland to Lisbon, when I tried to geotag my vacation photos.

I tried to close the program and restart it – it didn't help.

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.