From 0f0ec8ba59051969972c7af2c63a90de3cb48b21 Mon Sep 17 00:00:00 2001 From: Bruno21 Date: Tue, 14 Nov 2023 17:42:24 +0100 Subject: [PATCH] Reverse geocode -add city/code/state/region/country (googlemaps) --- keywords2insta.sh | 45 ++++++++++++++++++++++++++++++--------------- 1 file changed, 30 insertions(+), 15 deletions(-) diff --git a/keywords2insta.sh b/keywords2insta.sh index 843e7e1..dca9f73 100755 --- a/keywords2insta.sh +++ b/keywords2insta.sh @@ -256,33 +256,48 @@ altitude=$(echo "$exif" | jq -j '.[] | .GPSAltitude | select( . != null )') echo if [[ -n $iso ]] && [[ -n $speed ]] && [[ -n $aperture ]]; then - printf " %-10s %-35s \n" "Speed:" "${speed}" - printf " %-10s %-35s \n" "Aperture:" "f/${aperture}" - printf " %-10s %-35s \n" "ISO:" "${iso}" - printf " %-10s %-35s \n" "Date:" "${date_original}" - printf " %-10s %-35s \n" "Maker:" "${make}" + printf " %-11s %-35s \n" "Speed:" "${speed}" + printf " %-11s %-35s \n" "Aperture:" "f/${aperture}" + printf " %-11s %-35s \n" "ISO:" "${iso}" + printf " %-11s %-35s \n" "Date:" "${date_original}" + printf " %-11s %-35s \n" "Maker:" "${make}" if [[ "$make" =~ ^SONY ]]; then alpha - printf " %-10s %-35s \n" "APN:" "$alpha_name (${model})" + printf " %-11s %-35s \n" "APN:" "$alpha_name (${model})" else - printf " %-10s %-35s \n" "APN:" "${model}" + printf " %-11s %-35s \n" "APN:" "${model}" fi - printf " %-10s %-35s \n" "Focal:" "${focal}" + printf " %-11s %-35s \n" "Focal:" "${focal}" if [[ -n $lensID ]]; then - printf " %-10s %-35s \n" "LensID:" "${lensID}" + printf " %-11s %-35s \n" "LensID:" "${lensID}" l="$lensID" elif [[ -n $lensModel ]]; then - printf " %-10s %-35s \n" "LensModel:" "${lensModel}" + printf " %-11s %-35s \n" "LensModel:" "${lensModel}" l="$lensModel" else - printf " %-10s %-35s \n" "Lens:" "${lens}" + printf " %-11s %-35s \n" "Lens:" "${lens}" l="$lens" fi if [[ -n $latitude ]] && [[ -n $longitude ]]; then - printf " %-10s %-35s \n" "Latitude:" "${latitude}" - printf " %-10s %-35s \n" "Longitude:" "${longitude}" - printf " %-10s %-35s \n" "Altitude:" "${altitude}" + printf " %-11s %-35s \n" "Latitude:" "${latitude}" + printf " %-11s %-35s \n" "Longitude:" "${longitude}" + printf " %-11s %-35s \n" "Altitude:" "${altitude}" gps=1 + + coords=$(exiftool -n -gpslatitude -gpslongitude "$file") + lat=$(echo "$coords" | sed -n '1p' | awk -F":" '{print $2}' | xargs) + long=$(echo "$coords" | sed -n '$p' | awk -F":" '{print $2}' | xargs) + + gm=$(curl -s "https://maps.googleapis.com/maps/api/geocode/json?latlng=${lat},${long}&sensor=false&key=AIzaSyD94L2Q4K9_ErGSarTBN4FrUxDSspGzNhY" | jq -r '.results[0].address_components') + city=$(echo "$gm" | jq '. | map( select( .types | contains(["locality"]) ) ) | .[].long_name') + code=$(echo "$gm" | jq '. | map( select( .types | contains(["postal_code"]) ) ) | .[].long_name') + state=$(echo "$gm" | jq '. | map( select( .types | contains(["administrative_area_level_2"]) ) ) | .[].long_name') + region=$(echo "$gm" | jq '. | map( select( .types | contains(["administrative_area_level_1"]) ) ) | .[].long_name') + country=$(echo "$gm" | jq '. | map( select( .types | contains(["country"]) ) ) | .[].long_name') + + printf " %-11s %-35s \n" "CP / Ville:" "${code//\"/} ${city//\"/}" + printf " %-11s %-35s \n" "Région:" "${state//\"/}" + printf " %-11s %-35s \n" "Pays:" "${country//\"/}" fi echo @@ -291,7 +306,7 @@ fi # gps if [ $opt_gps = true ]; then if [ $gps -eq 1 ]; then - echo "GPS data available !" + echo -e "${red}GPS data available !${reset}" a=$(echo -e "Do you want to ${bold}erase GPS data${reset} ? (k)eep or (e)rase ") read -p "$a" choice