De latitud y longitud a dirección física con bash - versión 2
Extendí el script bash que publiqué previamente para incluir como opción el servicio gratuito de “reverse geocode” de Geonames. Ahora el script requiere como tercer argumento la fuente de la dirección física: google o geonames.
#!/bin/bash # findnearest lat=$1 long=$2 src=$3 if [ $# -ne 3 ] then echo "Usage: findnearest” echo “Ex. findnearest 17.98 -66.109 google” exit 1 fi if [ “$src” == “google” ] then result=$(lynx -dump “http://maps.google.com/maps/geo?output=csv&oe=utf-8&ll=$lat,$long”) echo $result | cut -f3- -d, elif [ “$src” == “geonames” ] then result=$(lynx -dump “http://ws.geonames.org/findNearestAddress?lat=$lat&lng=$long” | egrep “placename|adminName1|adminName2|countryCode”| sed ’s/<[^>]*>//g’) echo \”$result\” fi
Ejemplos de su uso:
$ ./findnearest 17.98 -66.109 google "43 Calle Carlota, Guayama 00784, Puerto Rico" $ ./findnearest 17.98 -66.109 geonames "Guayama Guayama Puerto Rico US"
Como pueden apreciar, en este ejemplo el servicio de Google da información más precisa que Geonames y he observado que eso es así en general. Utilizo Geonames en combinación con Google cuando tengo que hacer “reverse geocode” en masa, alternándolos cuando uno de ellos deja de responder.
Más artículos como este en:
Algunos artículos relacionados:

Sindicación RSS para que pueda seguir los comentarios en este artículo.

