Al contrario de la geocodificación que ya conocemos, la geocodificación inversa es el proceso que, mediante coordenadas geográficas obtenemos una dirección física (topónimo).
La geocodificación inversa nos permite la identificación de direcciones postales a partir de un par de coordenadas XY o latitud y longitud.
Por ello la geocodificación inversa es el proceso contrario a la geocodificación, en el que a partir de unas coordenadas dadas obteníamos la dirección física textual de los elementos que deseamos.
API Open Street Map para Geocodificación Inversa
Como mencionamos anteriormente, la geocodificación inversa o Revese Geocodig, genera una dirección postal a través de una Latitud y Longitud.
Open Street Map nos brinda la siguiente API para realizarla:
https://nominatim.openstreetmap.org/reverse?<query>
Parámetros para Reverse Geocoding
Formato de Salida
format=[xml|json|jsonv2|geojson|geocodejson]
Con este parámetro, configuramos el formato de salida.
Detalles de Salida
addressdetails=[0|1]
Con addressdetails, incluímos o no un desglose de elementos de la dirección postal.
extratags=[0|1]
extratags incluye información adicional, siempre y cuando esté disponible para el lugar que buscamos, como por ejemplos horario, enlaces a web, entre otros.
namedetails=[0|1]
namedetails incluye nombres alternativos a los resultados buscados.
Idioma
accept-language=<browser language string>
Especificamos el idioma del resultado con una codificación estándar RFC2616 o una lista simple de códigos de idiomas separados por comas.
Detalle de los resultados
zoom=[0-18]
Con el parámetro zoom especificamos el detalle de los resultados obtenidos. Como predeterminado, tenemos el valor 18, que nos indica el máximo detalle. Las diferentes opciones son:
zoom address detail
3 country
5 state
8 county
10 city
14 suburb
16 major streets
17 major and minor streets
18 building
Latitud y Longitud
lat=<value>
lon=<value>
Para enviar la ubicación que estamos buscando, utilizamos los parámetros lat y lon especificando latitud y longitud respectivamente.
Las coordenadas deben estar en formato WGS84.
Ejemplo de Geocodificación Inversa
El ejemplo anterior nos brinda en detalle una dirección postal de Gran Bretaña, obtenido en formato JSON, el resultado que obtenemos es el siguiente:
{
"place_id":106832064,
"licence":"Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright",
"osm_type":"way",
"osm_id":90394420,
"lat":"52.54877605",
"lon":"-1.8162703328316416",
"display_name":"137, Pilkington Avenue, Sutton Coldfield, Birmingham, West Midlands Combined Authority, Inglaterra, B72 1LH, Gran Bretaña",
"address":{
"house_number":"137",
"road":"Pilkington Avenue",
"town":"Sutton Coldfield",
"city":"Birmingham",
"county":"West Midlands Combined Authority",
"state":"Inglaterra",
"postcode":"B72 1LH",
"country":"Gran Bretaña",
"country_code":"gb"
},
"boundingbox":
["52.5487321","52.5488299","-1.8163514","-1.8161885"]
}
Proyecto GInv
Con la necesidad de realizar un informe con la geocodificación inversa de de innumerables puntos, desarrollé GInv, una herramienta que realiza el proceso de forma automática y simple para el usuario.
Para descargar GInv, siga el siguiente enlace GInv.