← Zpět na projekty

Photo Sorter

Nahrajte složku fotek a aplikace je automaticky roztřídí podle místa pořízení. Extrakce GPS dat, clusterování pomocí DBSCAN a reverzní geokódování — z hromady souborů vzniknou přehledné složky pojmenované podle lokací.

Djangoscikit-learnPillowNominatim
500 mradius pro seskupení
DBSCANclusterovací algoritmus
EXIFzdroj GPS dat

Výzva

Po dovolené nebo focení v terénu máte stovky fotek v jedné složce. Ruční třídění zabírá hodiny — otevřít fotku, vzpomenout si kde to bylo, přesunout do správného adresáře. Přitom každá fotka v sobě nese GPS souřadnice v EXIF metadatech, které nikdo nevyužívá.

Problém je, že samotné souřadnice nestačí. Fotky ze stejného místa mají mírně odlišné GPS pozice, takže je potřeba je chytře seskupit. A složka pojmenovaná „50.0755_14.4378“ nikomu nic neřekne — je potřeba přeložit souřadnice na čitelné názvy míst.

Jak to funguje

Photo Sorter automaticky extrahuje GPS data z EXIF metadat každé fotky. Fotky s blízkými souřadnicemi seskupí pomocí DBSCAN algoritmu, který najde přirozené clustery bez nutnosti předem definovat počet skupin. Nakonec souřadnice přemění na čitelné názvy míst přes reverzní geokódování a vše zabalí do přehledného ZIP archivu.

  • GPS extrakce — Automatické čtení souřadnic z EXIF dat. Podporuje JPEG, PNG i HEIC formáty. Fotky bez GPS dat se zařadí do samostatné složky, aby se žádná neztratila.
  • DBSCAN clustering — Fotky z blízkého okolí se automaticky seskupí do clusterů. DBSCAN nepotřebuje předem vědět počet skupin — najde je sám na základě hustoty bodů v prostoru.
  • Reverzní geokódování — GPS souřadnice se přemění na čitelné názvy míst pomocí Nominatim API. Místo „50.0755, 14.4378“ uvidíte „Praha — Staré Město“.
  • Export do ZIP — Výsledkem je přehledný ZIP archiv s organizovanými složkami pojmenovanými podle lokací. Stáhnete, rozbalíte a máte hotovo — bez dalšího třídění.

Technologie a přístup

Django backend přijme nahraný archiv fotek a orchestruje celý pipeline — od extrakce EXIF dat přes clusterování až po generování výsledného ZIP souboru. Pillow čte metadata, scikit-learn zajišťuje DBSCAN algoritmus a Nominatim překládá souřadnice na adresy.

Celý proces běží synchronně a zvládne stovky fotek během sekund. Aplikace nepotřebuje žádnou databázi — je to čistý nástroj, který zpracuje vstup a vrátí výstup.

Výsledky

Automatizace

Žádné ruční třídění fotek do složek. Nahrajete archiv, počkáte pár sekund a stáhnete organizovaný výstup. Práce, která dříve zabrala hodiny, je hotová okamžitě.

Inteligentní seskupení

DBSCAN najde přirozené clustery bez předem definovaného počtu skupin. Fotky z jednoho místa skončí ve společné složce, i když mají mírně odlišné GPS souřadnice.

Hotovo za vteřiny

Stovky fotek zpracovaných okamžitě — od nahrání po stažení organizovaného ZIP archivu. Žádné čekání, žádné ruční přesouvání souborů.

Řešíte podobnou výzvu?

Pojďme si o tom promluvit.

Domluvit schůzku