Skip to content

Open Street Map – Geocodificación inversa

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

https://nominatim.openstreetmap.org/reverse?format=json&lat=52.5487429714954&lon=-1.81602098644987&zoom=18&addressdetails=1

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.