Migración

Migrar desde OpenStreetMap Nominatim

Nominatim ocupa un lugar poco común entre las opciones de geocodificación, porque es a la vez un software de código abierto que puedes ejecutar tú mismo y una instancia pública de demostración que cualquiera puede consultar directamente, regida por una política de uso que espera una cabecera User-Agent descriptiva y un ritmo de solicitudes razonable en lugar de una clave de API formal. Su respuesta JSON incluye una cadena display_name, un par lat y lon como cadenas en lugar de números, y un objeto address con las convenciones de etiquetado propias de OpenStreetMap, como road, suburb y postcode.

Los equipos suelen chocar con un muro en la instancia pública cuando su tráfico crece más allá de lo que un recurso comunitario compartido está pensado para absorber, y autoalojar Nominatim es una opción real, pero pesada: exige descargar e importar un gran extracto de datos de OpenStreetMap del planeta o de una región, mantener esos datos actualizados y gestionar tú mismo la infraestructura de servidores de forma indefinida. Ese compromiso, trabajo de infraestructura y mantenimiento a cambio de control, merece una valoración honesta antes de comprometerse con cualquiera de los dos caminos.

El host de compatibilidad de Nominatim de My Geocode reproduce exactamente la estructura de los campos display_name, lat, lon y de dirección, y los textos de copyright, términos y privacidad son el único contenido que difiere de la salida del propio Nominatim. Los detalles de referencia están en /compatibility/nominatim/. El código escrito para la instancia pública de Nominatim, incluidos sus campos de coordenadas de tipo cadena, debería analizar las respuestas del host de compatibilidad sin cambios.

Lo que realmente cambia en esta migración concreta:

  • Se acabó el requisito de la cabecera User-Agent ligado a una política de uso compartido; la autenticación usa en su lugar una clave, enviada como cabecera X-API-Key, cabecera Authorization: Bearer, autenticación HTTP Basic o un parámetro de consulta
  • Una cuota diaria previsible en lugar de un límite de frecuencia indeterminado de un recurso compartido: 2.500 solicitudes al día gratuitas sin clave y otras 2.500 gratuitas por clave y por día, contadas por red
  • Sin infraestructura que gestionar ni extracto de datos de OpenStreetMap que mantener, ya que de eso se encarga el servicio alojado

Más allá de la cuota gratuita, el precio es crédito prepago a 0,0001 € por solicitud o una clave Unlimited a 50 € al mes, y todos los endpoints, incluido este host de compatibilidad, tienen el mismo precio que cualquier otro de la plataforma.

Para los equipos que valoraban específicamente la base de Nominatim en datos geográficos abiertos, conviene saber que los nombres de campo basados en las convenciones de OpenStreetMap, como suburb y postcode en lugar de términos más genéricos, se mantienen en la estructura de este host de compatibilidad, así que el vocabulario de direcciones que tu código ya espera debería seguir teniendo sentido al otro lado de la migración.