Christian Schulzendorff 2 years ago
parent
commit
091667efa1
  1. 47
      README.md
  2. 2
      deploy.sh
  3. 39
      import.sh
  4. 40
      import.sh.alt
  5. BIN
      out/20231005-140740-X-S10.jpg
  6. 1
      out/gps.csv
  7. BIN
      out/tile_20231005-140740-X-S10.jpg

47
README.md

@ -52,10 +52,10 @@ Auf einem Linux-Rechner muss installiert sein:
Es ist das Wurzelverzeichnis `~/Pictures/digikam` anzulegen in Digikam als Album einzurichten. Darin ist folgende Albenstruktur anzulegen:
```text
🗁 Alben
🗁 Import # Import- und Arbeitsverzeichnis
🗁 Digikam
🗁 pendel # Ausgang für Pendel
Alben
Import # Import- und Arbeitsverzeichnis
Digikam
pendel # Ausgang für Pendel
```
Digikam muss eingerichtet werden, damit geänderte Metadaten als XMP-Metadaten geschrieben werden und somit vom exiftool ausgelesen werden können. Unter _Einstellungen > Digikam einrichten > Metadaten > Verhalten > Informationen als Metadaten schreiben_:
@ -77,9 +77,9 @@ In das Verzeichnis noch die Datei _credentials_ aus dem Keepass hinzufügen.
Die Verzeichnisstruktur sieht dann wie folgt aus:
```text
🗁 ~/kollegen/pendel
🗁 in # Eingangsdaten
🗁 out # Ausgangsdaten
~/kollegen/pendel
in # Eingangsdaten
out # Ausgangsdaten
credentials # Secrets
<bash-skripte> # *.sh
readme.md # Diese Datei
@ -121,9 +121,14 @@ upload --> update
Um einen weiteren Eintrag dem Projekt hinzuzufügen, werden folgende Dateien benötigt:
* **Original** - Jpeg-Datei mit Meta-Daten
* _gpsposition_: Längen- und Breitengrad
* _gpsposition_: Längen- und Breitengrad<br>
* Für Title und Beschreibung:<br>
ENTWEDER
* _title_ im Format `Pendel <Römische Zahl>`
* _description_ Nicht zu lang, einzeilig
* _description_ Kurz und einzeilig<br>
ODER
* _title_ im Format `Pendel <Römische Zahl> - <Beschreibung, kurz und einzeilig>`
* _description_ -- Wird ignoriert --
* Endung: muss _jpg_ lauten (klein geschrieben)
* **Tiles** - Jpeg-Datei mit einem rechteckigem Bild-Ausschnitt
* Dateiname: _tile\_\<Original-Dateiname\>_
@ -154,12 +159,12 @@ Tiles-Bild daraus erstellen.
Das fertige Bild und die erstellte Tile-Datei dort ablegen. Das fertige Album sieht dann wie folgt aus:
```text
🗁 Alben
🗁 Digikam
🗁 pendel
🗁 100
🖻 20230901-182900-X-S10.jpg
🖻 tile_20230901-182900-X-S10.jpg
Alben
Digikam
pendel
100
20230901-182900-X-S10.jpg
tile_20230901-182900-X-S10.jpg
```
@ -215,6 +220,18 @@ Die so hochgeladenen Daten werden aber noch nicht verwendet.
### Hintergrundinfos
#### Datei gps.csv
Die Spalten sind mit Tabs getrennt. Aufbau:
1. Dateiname
1. Longitude
1. Latitude
1. Titel
1. Beschreibung
### Alter Kram
#### GPS in Datei extrahieren
Wenn alle jpg in direkten Unterverzeichnissen liegen und mit einer Zahl anfangen, kann so eine Datei mit GPS-Location erstellt werden:

2
deploy.sh

@ -2,7 +2,7 @@
USER=kollegen
HOST=despina.uberspace.de
LOCAL_OUT="/home/chris/kollegen/pendel/out/"
LOCAL_OUT="/Users/chris/kollegen/pendel/out/"
# the directory where your web site files should go
RSYNC_DEST_DIR=html/pendel/wp-content/uploads/pendel/ffm

39
import.sh

@ -1,6 +1,6 @@
#!/bin/bash
IN="/home/chris/Pictures/digikam/pendel"
OUT="/home/chris/kollegen/pendel/out"
IN="/Users/chris/Pictures/digikam/pendel"
OUT="/Users/chris/kollegen/pendel/out"
# case in-sensitive matching
shopt -s nocaseglob
@ -10,8 +10,8 @@ if [ -z "$1" ]
echo "Add new pendel tour(s) to out/ by importing and resizing new images."
echo "In the out folder for all existing tours the images and tile images must exists. File gps.csv will be recreated with every call."
echo "Usage:"
echo " import.sh all: Rebuild out/ completetly. All tour directories must exist in the import folder."
echo " import 023 : Import single tour from import directory and rebuild gps.csv"
echo " import.sh all: Rebuild out/ completetly. All tour directories must exist in the import folder. BE CAREFUL!!!"
echo "Configuration:"
echo " Import folder: $IN"
echo " Out folder : $OUT"
@ -68,8 +68,37 @@ if [ "$1" = "all" ]
fi
done
echo Create and chmod gps.csv...
find $OUT -regex $OUT/[0-9].*\.jpg | sort | xargs exiftool -filename -gpsposition -title -description -n -s -t -S -q -f > $OUT/gps.csv
echo "Create and chmod gps.csv in $OUT..."
# clear file content
> $OUT/gps.csv
# renew content by images in out
total=0
for file in $OUT/*; do
fname=$(basename $file)
pat="^[0-9].*\.jpg"
if [[ $fname =~ $pat ]];
then
let "total++"
echo -ne " $total\033[0K\r"
title=$(exiftool -title -t -S $file)
if [[ $title == *" - "* ]]
then
title1=$(exiftool -title -t -S $file | sed 's/\(.*\) - .*/\1/')
title2=$(exiftool -title -t -S $file | sed 's/.* - \(.*\)/\1/')
else
title1=$title
title2=$(exiftool -description -t -S $file)
fi
part3=$(exiftool -filename -gpsposition -n -s -t -S -q -f $file)
# echo "WERT=$part1 $part2 $part3"
echo -e "$part3\t$title1\t$title2" >> $OUT/gps.csv
fi
done
echo "Wrote $total lines"
chmod 664 $OUT/gps.csv

40
import.sh.alt

@ -1,40 +0,0 @@
#!/bin/bash
SRC="/home/chris/Pictures/digikam/pendel"
DST="/home/chris/kollegen/pendel/in"
# case in-sensitive matching
shopt -s nocaseglob
if [ -z "$1" ]
then echo Missing pendel nr. E. g. Call 'import 023'
exit 0
else
echo Importing pendel "$1"...
fi
if [ ! -e $DST/$1 ]
then echo Create $DST/$1
mkdir $DST/$1
fi
# Copy images from Digikam album
i=0
for file in $SRC/$1/*.jpg; do
imgs[i]="$file"
(( ++i ))
done
for file in "${imgs[@]}"; do
cp "$file" "$DST/$1"
done
# # Copy tcx or gpx file from work directory
# for file in $SRC/$1/work/*.*x; do
# tcxs[i]="$file"
# (( ++i ))
# done
# for file in "${tcxs[@]}"; do
# cp "$file" "$DST/$1"
# done
# List dir
echo Imported into "$DST/$1":
ls "$DST/$1"

BIN
out/20231005-140740-X-S10.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 441 KiB

1
out/gps.csv

@ -99,3 +99,4 @@
20200309-191959-DSCF0639.jpg 50.179867298175 8.92629624202222 Pendel XCIX Abendglocken, Bruchköbel
20230901-182900-X-S10.jpg 50.1122069444444 8.80916666666667 Pendel C Freilauf
20230904-182550-X-S10.jpg 50.1099630555556 8.67053638888889 Pendel CI Gallusanlage 8
20231005-140740-X-S10.jpg 50.1146527833333 8.72496813333333 Pendel CII Umbrüche

1 20170313-180536-DSCF4779.jpg 50.1555543999528 8.95522409999722 Pendel I Baerlauchwald
99 20200309-191959-DSCF0639.jpg 50.179867298175 8.92629624202222 Pendel XCIX Abendglocken, Bruchköbel
100 20230901-182900-X-S10.jpg 50.1122069444444 8.80916666666667 Pendel C Freilauf
101 20230904-182550-X-S10.jpg 50.1099630555556 8.67053638888889 Pendel CI Gallusanlage 8
102 20231005-140740-X-S10.jpg 50.1146527833333 8.72496813333333 Pendel CII Umbrüche

BIN
out/tile_20231005-140740-X-S10.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Loading…
Cancel
Save