Guías

Normaliza las direcciones desordenadas antes de geocodificarlas

Los campos de dirección de texto libre recogen una gran variedad de hábitos de formato: espacios en blanco de más, mayúsculas incoherentes, abreviaturas escritas de forma inconsistente y algún que otro carácter suelto pegado desde otro sitio. Nada de eso rompe necesariamente una solicitud de geocodificación, pero limpiarlo antes suele mejorar la calidad de la coincidencia.

Qué limpiar antes de enviar

Elimina los espacios en blanco del principio y del final y reduce los espacios repetidos a uno solo. Quita los caracteres de control y los signos de puntuación sueltos que claramente no pertenecen a una dirección. No toques el contenido real de la dirección, ya que el endpoint directo está diseñado para analizar texto libre y no necesita que lo dividas tú en campos separados de calle, ciudad y código postal.

GET /v1/forward?q=221b   baker st,  london&limit=1

El endpoint seguirá resolviendo por lo general entradas con un formato poco cuidado como esta, ya que está pensado para tratar texto de direcciones del mundo real y no una plantilla rígida, pero una cadena de entrada más limpia reduce las probabilidades de una coincidencia ambigua o de baja confianza con datos realmente desordenados.

Un segundo ejemplo: abreviaturas tal cual

Una consulta que usa abreviaturas habituales, como "St" por "Street" o "Ave" por "Avenue", no necesita desarrollarse antes de enviarla.

GET /v1/forward?q=500 5th Ave, New York&limit=1

Desarrollar tú mismo cada abreviatura antes de enviar la solicitud es un trabajo extra que rara vez cambia el resultado, ya que el endpoint ya trata las abreviaturas estándar como parte del análisis del texto de direcciones habitual. Centra tu esfuerzo de limpieza en las entradas realmente defectuosas, como saltos de línea pegados o restos de problemas de codificación, en lugar de reescribir abreviaturas que nunca fueron un problema.

Usa el parámetro countries para acotar los resultados

Si ya sabes en qué país debería estar una dirección, por una dirección de facturación registrada o por el enfoque regional de un sitio, indícalo con el parámetro countries para reducir las coincidencias ambiguas con lugares de nombre parecido en otras partes del mundo.

GET /v1/forward?q=Springfield Main Street&countries=US&limit=3

Un error que conviene evitar

Limpiar en exceso una dirección eliminando todo lo que parezca inusual puede quitar información que el geocodificador sí necesitaba. Un número de unidad o de apartamento, una indicación de planta o el nombre de un edificio unido a una dirección postal son contenido significativo, no ruido, aunque parezcan distintos del resto de la dirección. Limita la limpieza a los espacios en blanco, la codificación y los caracteres claramente sueltos, y no toques nada que pueda formar parte de la dirección de forma plausible.

Comprueba la confianza después

La normalización reduce las malas coincidencias, pero no las elimina por completo. Comprueba siempre el campo de confianza del resultado en lugar de suponer que un resultado devuelto es automáticamente correcto solo porque la solicitud tuvo éxito.

El coste de la solicitud no cambia

Limpiar la cadena de entrada antes de enviarla no cambia cuántas solicitudes cuesta la consulta: sigue siendo una solicitud por dirección. Lo que cambia son las probabilidades de que la única solicitud que envías devuelva algo útil, en lugar de necesitar un segundo intento corregido que costaría una segunda solicitud.

Hacer bien la normalización desde el principio significa menos consultas desperdiciadas y datos más limpios en las etapas posteriores. Consulta la documentación de geocodificación directa para ver el conjunto completo de parámetros admitidos, incluidos countries y limit.