Hvorfor ligger bildene mine på kartet i havet utenfor Afrika?

Du importerte en Google Takeout inn i et bildebibliotek, og en stor haug av bildene dine har landet på ett punkt i Atlanterhavet, noen hundre mil sør for Ghana. De ligger ikke spredd feilaktig utover. De ligger stablet på nøyaktig samme punkt i åpent hav.

Kan du få det tilbake?

Det er ingenting å hente tilbake, og det er den gode nyheten og ikke den dårlige. De bildene har aldri hatt et sted. De har ikke fått feil sted ved et uhell, og ingen reparasjon vil finne det riktige, for det ble aldri registrert noe. Det du kan gjøre noe med, er at de tegnes inn på kartet i det hele tatt.

Hva som faktisk skjedde

Breddegrad 0, lengdegrad 0 er et virkelig punkt på jorda. Det er der ekvator krysser nullmeridianen, i Guineabukta, og det er ikke noe der annet enn hav. Sjøfolk kaller det Null Island på spøk, fordi så mye ødelagt programvare ender opp med å peke dit.

Google skriver et sted for hvert eneste bilde i JSON-fila ved siden av det, også for dem den ikke har noe sted for. Har den ingen, utelater den ikke feltet - den fyller det med nuller. Et verktøy som leser tallet og tegner det inn, uten å spørre om null betyr Guineabukta eller betyr ingenting, sender hvert eneste av dem til den samme havflekken.

Det er vanlig fordi nullene er vanlige. I én ekte eksport bar rundt sju av ti sidevognfiler et sted på nøyaktig null.

Sidevognfila gir deg ikke et sted bildet ikke allerede har

Det er verdt å vite dette før du går på leting etter en løsning, for det sparer mye arbeid. Talt opp i den samme eksporten: omtrent en fjerdedel av bildene bar ekte koordinater, og hvert eneste av dem hadde dem allerede inni bildet. Antallet bilder der sidevognfila ga et sted fila ikke hadde, var null. Ikke en håndfull - ingen. Så for de tre fjerdedelene uten noe holder ikke Google tilbake et sted, og intet verktøy kan hente ut et. Det er skjermbilder, lagrede bilder, og alt som kom gjennom en meldingsapp, som stripper posisjon på veien. Datoer er det motsatte tilfellet, og det er lett å tro at de oppfører seg likt: for omtrent halve biblioteket er sidevognfila eneste kopi av datoen som finnes. Verdt å beholde JSON-filene av den grunn, bare ikke av denne.

Slik retter du det

To framgangsmåter, avhengig av om bildene allerede ligger i biblioteket ditt.

Fjern nullene før du importerer
Ble koordinatene skrevet inn i filene av en tidligere reparasjonsrunde, tar exiftool dem ut igjen der de er null og lar hvert ekte sted være i fred: exiftool -r -if "$GPSLatitude eq '0' and $GPSLongitude eq '0'" -gps:all= -overwrite_original . Kjør den på en kopi først. Det er -if-testen som hindrer den i å tørke ut den fjerdedelen av biblioteket ditt som har ekte koordinater.
Hvis de allerede er importert
De fleste bildebibliotek lar deg markere alt på ett kartpunkt og fjerne det. I Immich, PhotoPrism og Apple Bilder kan du søke eller filtrere på sted, markere hele Null Island-klyngen, og fjerne stedet fra utvalget. Det går som regel raskere enn å importere på nytt.
Sjekk før en stor import
Importer noen hundre bilder først og se på kartet. Et feil sted som lander på tjue tusen filer er atskillig mer tungvint å gjøre om enn ett du fanger opp på to hundre.

Slik gjør Muletto det

Muletto behandler et sted som er nøyaktig null som fraværende, for det er det det betyr. De bildene får ingen koordinater skrevet inn i seg og dukker ikke opp på kartet, mens de med ekte koordinater gjør det. Ingenting må stilles inn for det, og det er ingenting å gjøre om etterpå.

Open an export

Slik unngår du det neste gang

Dette er en egenskap ved eksporten og ikke ved noe du gjorde, så det finnes ingen innstilling å endre hos Google. Det ene som hjelper er å sjekke et utvalg på et kart før du overlater et helt bibliotek til et nytt hjem.

Målt mot én ekte Takeout med over to tusen bilder. Rundt sju av ti sidevognfiler bar et sted på nøyaktig null, omtrent en fjerdedel av bildene hadde ekte koordinater, og i intet tilfelle ga en sidevognfil et sted som ikke allerede lå i fila. Det er én eksport og ikke en undersøkelse, så ta andelene som en pekepinn.