Folgendes Shell Script ergibt bei Aufruf mit den Lat Long Koordinaten die Strassenadresse inkl. Postleitzahl.
Beispiel:
./QueryLatLong 50.769681 6.080055
gibt folgendes aus:
Stephanstraße 42-44, 52064 Aachen, Germany
So kriegst da also die PLZ zu einer Geokoordinate raus…
Falls du jetzt ne Massenabfrage starten willst, würde ich zwischen die Einzelnen Aufrufe aber schon ein Sleep reinpacken, ich denke, deren Server macht bei zu vielen Aufrufen per Zeitfenster zu.
Hier der Code:
tmpfilex=”/tmp/tempLatLong.$$.tmp”
tmpfiley=”/tmp/tempLatLong2.$$.tmp”
Lat=”$1"
Long=”$2"
wget -o $tmpfilex -O $tmpfiley “http://maps.googleapis.com/maps/api/geocode/json?latlng=$Lat,$Long&sensor=true”
StreetAddress=$(cat $tmpfiley | awk {‘if (index($0, “address”)>0) {printf($0)}’} | awk -F”street_address” {‘print $1′} | awk -F”formatted_address” {‘print $2′} | awk -F\” {‘print $3′})
echo “$StreetAddress”
rm $tmpfilex
rm $tmpfiley
(Sicherlich kann man die AWK-Anweisung auch “schöner” hinbekommen, aber es funktioniert!)