Christian Schulzendorff 2 years ago
parent
commit
091667efa1
  1. 49
      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

49
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: Es ist das Wurzelverzeichnis `~/Pictures/digikam` anzulegen in Digikam als Album einzurichten. Darin ist folgende Albenstruktur anzulegen:
```text ```text
🗁 Alben Alben
🗁 Import # Import- und Arbeitsverzeichnis Import # Import- und Arbeitsverzeichnis
🗁 Digikam Digikam
🗁 pendel # Ausgang für Pendel 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_: 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: Die Verzeichnisstruktur sieht dann wie folgt aus:
```text ```text
🗁 ~/kollegen/pendel ~/kollegen/pendel
🗁 in # Eingangsdaten in # Eingangsdaten
🗁 out # Ausgangsdaten out # Ausgangsdaten
credentials # Secrets credentials # Secrets
<bash-skripte> # *.sh <bash-skripte> # *.sh
readme.md # Diese Datei readme.md # Diese Datei
@ -121,9 +121,14 @@ upload --> update
Um einen weiteren Eintrag dem Projekt hinzuzufügen, werden folgende Dateien benötigt: Um einen weiteren Eintrag dem Projekt hinzuzufügen, werden folgende Dateien benötigt:
* **Original** - Jpeg-Datei mit Meta-Daten * **Original** - Jpeg-Datei mit Meta-Daten
* _gpsposition_: Längen- und Breitengrad * _gpsposition_: Längen- und Breitengrad<br>
* _title_ im Format `Pendel <Römische Zahl>` * Für Title und Beschreibung:<br>
* _description_ Nicht zu lang, einzeilig ENTWEDER
* _title_ im Format `Pendel <Römische Zahl>`
* _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) * Endung: muss _jpg_ lauten (klein geschrieben)
* **Tiles** - Jpeg-Datei mit einem rechteckigem Bild-Ausschnitt * **Tiles** - Jpeg-Datei mit einem rechteckigem Bild-Ausschnitt
* Dateiname: _tile\_\<Original-Dateiname\>_ * 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: Das fertige Bild und die erstellte Tile-Datei dort ablegen. Das fertige Album sieht dann wie folgt aus:
```text ```text
🗁 Alben Alben
🗁 Digikam Digikam
🗁 pendel pendel
🗁 100 100
🖻 20230901-182900-X-S10.jpg 20230901-182900-X-S10.jpg
🖻 tile_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 ### 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 #### 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: 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 USER=kollegen
HOST=despina.uberspace.de 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 # the directory where your web site files should go
RSYNC_DEST_DIR=html/pendel/wp-content/uploads/pendel/ffm RSYNC_DEST_DIR=html/pendel/wp-content/uploads/pendel/ffm

39
import.sh

@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
IN="/home/chris/Pictures/digikam/pendel" IN="/Users/chris/Pictures/digikam/pendel"
OUT="/home/chris/kollegen/pendel/out" OUT="/Users/chris/kollegen/pendel/out"
# case in-sensitive matching # case in-sensitive matching
shopt -s nocaseglob 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 "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 "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 "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 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 "Configuration:"
echo " Import folder: $IN" echo " Import folder: $IN"
echo " Out folder : $OUT" echo " Out folder : $OUT"
@ -68,8 +68,37 @@ if [ "$1" = "all" ]
fi fi
done done
echo Create and chmod gps.csv... echo "Create and chmod gps.csv in $OUT..."
find $OUT -regex $OUT/[0-9].*\.jpg | sort | xargs exiftool -filename -gpsposition -title -description -n -s -t -S -q -f > $OUT/gps.csv
# 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 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 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 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 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