Hier ein Skript, das mit Hilfe von GoogleMaps Geokoordinaten zu Adressen sucht, die in einer Textdatei stehen.
Die Geokoordinaten werden in die Datei adressliste.gpx geschrieben. Die zu suchenden Adressen stehen in einer txt-Datei (adressen.txt). Die einzelnen Felder sind durch ein „,“ getrennt:
Vorname,Nachname,Straße,Hausnummer,PLZ,Ort,Icon-Nr
#! /bin/bash outfile="adressliste.gpx" echo "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>" > "$outfile" echo "<gpx xmlns:xsi=\"\" version=\"1.1\" xmlns:gpxtpx=\"\" xmlns=\"\" xmlns:rmc=\"\" creator=\"\" xsi:schemaLocation=\"\" xmlns:gpxx=\"\" xmlns:ql=\"\">" >> "$outfile" for j in $(cat adressen.txt); do name1=`echo $j | cut -d, -f1` name2=`echo $j | cut -d, -f2` name="$name1 $name2" addr1=`echo $j | cut -d, -f3` addr2=`echo $j | cut -d, -f4` addr3=`echo $j | cut -d, -f5` addr4=`echo $j | cut -d, -f6` addr="$addr1+$addr2+$addr3+$addr4" icon=`echo $j | cut -d, -f7` case "$icon" in "1") icon="Pin, Blue";; "2") icon="Pin, Red";; esac wget -O ~tmp.csv "http://maps.google.com/maps/geo?q=$addr&output=csv&sensor=false&key=abcdefg" 2> /dev/null quality=`cat ~tmp.csv | cut -d, -f2` coordinatesL=`cat ~tmp.csv | cut -d, -f3` coordinatesB=`cat ~tmp.csv | cut -d, -f4` echo $quality - $name - $addr1 $addr2, $addr3 $addr4 - $coordinatesL $coordinatesB echo "<wpt lon=\""$coordinatesB"\" lat=\""$coordinatesL"\">" >> "$outfile" echo "<name>$name</name>" >> "$outfile" echo "<desc>$addr1 $addr2" >> "$outfile" echo "$addr3 $addr4</desc>" >> "$outfile" echo "<sym>$icon</sym>" >> "$outfile" echo "</wpt>" >> "$outfile" done echo "<extensions/>" >> "$outfile" echo "</gpx>" >> "$outfile" exit