De latitud y longitud a dirección física con bash
En la compañía para la cual trabajo diariamente tengo que manipular datos geográficos. He aprendido mucho sobre GIS, GPS y los API de mapas como el de Google. Aunque la mayor parte del tiempo programo en Python, encuentro que los scripts en bash continúan siendo la forma más rápida para manipular datos y probar ideas.
El siguiente script que llamé “findnearest” utiliza el servicio de “reverse geocode” de Google para obtener una dirección física (pueblo, calle, avenida, etc.) dadas la latitud y longitud del lugar:
#!/bin/bash # findnearest # Usage: findnearest latitude longitude # Ex. findnearest 17.976227 -66.111016 lat=$1 long=$2 result=$(lynx -dump "http://maps.google.com/maps/geo?output=csv&oe=utf-8&ll=$lat,$long") echo $result | cut -f3- -d,
El script depende de que el navegador web “lynx” esté instalado. Este es un navegador web que se usa en el terminal de texto.
Luego de guardar el script como “findnearest” lo hice ejecutable:
$ chmod +x findnearest
Este es un ejemplo de su ejecución;
$ ./findnearest 17.976227 -66.111016 "Calle Num 9, Guayama 00784, Puerto Rico"
El resultado devuelto por Google lo almaceno en la variable “result” y luego extraigo los campos que necesito usando el comando “cut”. En particular le pido que muestre desde el tercer campo en adelante, suponiendo que el delimitador es una coma: echo $result | cut -f3- -d,
Más artículos como este en:
Algunos artículos relacionados:

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

