Calidad de los datos

Ambigüedad al analizar direcciones: apartamentos, unidades y apartados postales

Toma una línea de dirección como "12B Flat 3" y pregúntate qué significa cada parte, y verás que la respuesta depende de la convención, no de la cadena en sí. ¿Es "12B" un número de edificio con una letra como sufijo, o una combinación de planta y unidad? ¿Es "Flat 3" un calificador aparte para una unidad concreta dentro del edificio 12B, o es redundante con él? Una persona familiarizada con la convención local lo resuelve al instante. Un software que analiza texto libre arbitrario de cualquier parte del mundo tiene que esforzarse mucho más, porque los mismos caracteres tienen significados distintos según de dónde venga la dirección.

Los indicadores de unidad y de apartamento varían mucho entre países e incluso dentro de ellos. Abreviaturas como "Apt", "Unit", "Ste", "Fl" o un simple número tras una coma pueden indicar cada una una subunidad de un edificio, y distintos países, e incluso distintas regiones de un mismo país, prefieren convenciones diferentes. Un analizador ajustado a los hábitos de una región interpretará mal con frecuencia los de otra, ya sea descartando por completo la información de la unidad o asociándola a la parte equivocada de la dirección.

Los apartados postales añaden una complicación distinta, porque representan un destino de correo sin ninguna correspondencia directa con un edificio físico. Un apartado postal tiene una ubicación real y significativa en el sentido de que pertenece a una oficina de correos concreta, pero geocodificarlo con las coordenadas de esa oficina de correos no es lo mismo que geocodificar una dirección postal, y tratar ambos casos de forma idéntica produce un resultado de apariencia plausible pero inútil en la práctica si tu caso de uso necesita realmente un punto de entrega físico.

Los campos de precisión y de confianza existen en parte para sacar a la luz justamente este tipo de ambigüedad en lugar de ocultarla. Una dirección que incluye un indicador de unidad sin resolver o ambiguo puede geocodificarse correctamente a nivel de edificio, con precision reflejando que la coincidencia se logró a nivel de edificio, sin confirmar que la subunidad concreta se analizara correctamente. Leer solo las coordenadas e ignorar la precisión en este caso puede dar una falsa seguridad de que se localizó un apartamento concreto, cuando en realidad solo se localizó el edificio.

Si tu aplicación depende de una exactitud a nivel de unidad, como la entrega en un apartamento concreto dentro de un gran complejo, vale la pena validar que el campo de unidad o apartamento se analizó realmente y se conservó por separado, y no quedó absorbido en silencio en una coincidencia que solo resolvió el edificio. Probar tu entrada de direcciones con ejemplos reales que contengan indicadores de unidad, apartados postales e identificadores de edificio compuestos de varios países distintos, y no solo con el formato de tu mercado nacional, sacará a la luz este tipo de carencia mucho antes de que lo haga un usuario. Nuestro endpoint de geocodificación directa devuelve los campos type y precision precisamente para que puedas distinguir entre una coincidencia completa y una aproximación a nivel de edificio.