19
Ene

Normalización de Direcciones

direccionHace unos días, tuve una de mis peloteras habituales con Fernando, a cuenta de la obligatoriedad de un campo, tan sólo un campo, de un formulario de direcciones: la población.

Entendedme bien, no es que nos estemos tirando los trastos a la cabeza cada dos minutos por un “quítame allá esos campos”, simplemente somos muy celosos de (intentar hacer bien) nuestro trabajo… y muy cabezones :)

Al final, de toda esta discusión de café que no llevaba a nada, sólo me quedaron dudas: ¿Cómo se normaliza una dirección? ¿Qué campos deben ser obligatorios y cuáles no? ¿Cómo puedes trabajar con direcciones internacionales? Si tenéis interés por saber algo más sobre el tema, no os arrepentiréis de seguir leyendo. He descubierto cosas muuuy curiosas.

1. ¿MADRID DE MADRID O MADRID DE ALMERÍA?

¿Cuántas Madrid creéis que hay en España? Yo, que soy más madrileño que la Puerta del Sol y más español que la tortilla de patatas, pensaba que sólo una y, sin embargo, estaba equivocado. Hay un Madrid en Almería y, si buscamos todas las entidades de población que contengan ‘Madrid’ en el nombre, tendremos que irnos a Burgos, Toledo, Cantabria y Zaragoza para visitarlas todas. Todo un viaje.

Por tanto, podemos dar por comprobado que el nombre de una población no es suficiente por sí sola para identificar inequívocamente un lugar geográfico.

2. NOMENCLATOR NO ES UN ROBOT VENIDO DEL FUTURO

Soy Nomenclator. He venido del futuro para identificar poblaciones...

Soy Nomenclator. He venido del futuro para identificar poblaciones...

Si tenemos claro que la población no basta para identificar un lugar geográfico, ¿qué datos necesitamos para identificarlo inequívocamente mediante una dirección? No encontraréis ningún sitio donde se especifiquen los datos mínimos que debe contener una dirección, pero sí podéis guiaros por el Nomenclator del Instituto Nacional de Estadística.

El Nomenclator es una relación de todas las unidades poblacionales inferiores al municipio (núcleos de población, aldeas, parroquias, caseríos, villas, barrios, etc). Para cada una de estas unidades contiene la población y datos de carácter geográfico.

Gracias al Nomenclator, podemos saber que, nada más y nada menos que 25  de nuestros amigos almerienses pueden también considerarse “madrileños”.

Al que esto le pueda parecer una absurdez, que intente localizar el hogar de mis suegros en la República Independiente de Peteiro, perteneciente al municipio de Bergondo en la provincia de La Coruña de la comunidad autónoma de Galicia.

Según el INE, no sólo necesitamos la población, sino además, la provincia y la unidad poblacional para poder identificar una dirección geográfica.

3. EL CÓDIGO POSTAL TIENE POCO DE CÓDIGO Y MUCHO DE POSTAL

Se supone que el Código Postal es un elemento que debería facilitar la identificación de todas estas poblaciones, pero en realidad, no es así. El código postal sólo identifica municipios (o parte de municipios, como en las grandes ciudades) pero no alcanza a identificar unidades poblacionales. Por ejemplo, el código postal 15008 que pertenece al municipio de Bergondo agrupa a 162 poblaciones, desde Babio hasta Vixoi. El problema es que, algunas de esas poblaciones, no tienen el código postal de Bergondo. ¿Alguien puede entenderlo? Que queréis, así son los gallegos.

Pero lo peor no es eso. Aunque el código postal ha sido adoptado mundialmente, hay países que no lo utilizan, como Irlanda, y los que sí lo hacen, utilizan una lógica propia y completamente heterogénea. No hace falta más que ver la descripción de la Wikipedia del código postal utilizado en Portugal:

Los códigos postales portugueses de los Correios de Portugal constan de 7 dígitos agrupados, en 2 grupos, siendo el primero de 4 dígitos y el segundo de 3, separados por una raya y seguidos de una designación postal de 25 caracteres como máximo. Este sistema es extremamente eficaz, pues, sólo con el código postal y nada más, se puede llegar hasta la puerta del edificio del destinatario.

Vaya… parece que tampoco podemos fiarnos en exclusiva del código postal para identificar una dirección geográfica, mucho menos si trabajamos con direcciones internacionales.

4. CÓMO NORMALIZAR TUS DIRECCIONES

La normalización de direcciones es difícil, muy difícil, sobre todo cuando se trabaja con direcciones internacionales. Hay incluso software específico para dicha tarea. La lista de campos que necesitaríamos en un formulario para poder contemplar toda la lógica internacional de descripción de direcciones es infinita y de obligatoriedad variable. Por eso, es necesario definir un número limitado, común y suficiente de campos obligatorios que normalicen nuestras direcciones en el 99% de los casos y dejar un campo abierto que permita gestionar las excepciones sin afectar a la normalización del resto  de direcciones.

address

Un buen ejemplo de gestión de direcciones

Dependiendo del alcance de nuestra gestión de direcciones (provincial, nacional, internacional…), el número de campos definidos y obligatorios será menor o mayor. Por poner un ejemplo, para gestionar direcciones nacionales españolas, los campos obligatorios deberían ser como mínimo:

  • Calle o vía
  • Número de calle o vía (aceptando ‘sin número’, pero no un valor nulo)
  • Población
  • Provincia
  • Código Postal

Esto no evitaría la inclusión de un campo opcional donde, podríamos indicar cosas como que, aunque el municipio de la dirección es Bergondo, realmente dicha población estaáen esa megalópolis de 100 habitantes que debe ser Peteiro.

Otro importante paso hacia la normalización seria la adopción de un conjunto de buenas prácticas como:

  • La normalización de la capitalización de las letras (o todo en mayúsculas, o todo en minúsculas… o sólo la primera letra en mayúsculas)
  • La gestión uniforme de los artículos y de caracteres especiales (porque para un ordenador ‘Las Rozas’ y ‘Rozas, Las’ son diferentes poblaciones; y ‘Renania-Palatinado’ y ‘Renania Palatinado’ también)
  • La estandarización de tipos de vía (o ‘Calle’ o ‘C/’ pero no las dos)
  • La gestión de los distintos idiomas (porque la calle Nápoles y el Carrer Napols de Barcelona son la misma via, aunque no lo parezca)

La difusión de la tecnología GPS ha facilitado la movilidad y la geolocalización, e incluso a llevado a minusvalorar la importancia de la gestión de direcciones, pero no debemos olvidar que un GPS sin un buen mapa que muestre e identifique correctamente las localizaciones geográficas, sólo son números que referencian a líneas imaginarias.

Como conclusión, la normalización de direcciones puede llegar a ser más compleja de lo que en un primer momento podemos llegar pensar. El esfuerzo que dediquemos a ello debe basarse en la importancia de dichas direcciones en la funcionalidad de nuestras aplicaciones y en el sentido común. Si os dedicáis a programar drivers para impresoras, probablemente todo esto os “suene a chino”. Si por el contrario os dedicáis a desarrollar un producto de gestión de cadena de suministro, como es mi caso, a lo mejor tenéis que dedicarle un análisis completo. Os lo aseguro.



free blog themes
free blog themes