Archivo para 11 diciembre 2008

Base de datos de Códigos Postales

Ya sé que no es un título que prometa mucho… pero es algo que he tenido que buscar en el trabajo para una aplicación que estoy haciendo (si, ahora curro, he empezado ésta semana :D) y lo apunto aquí para no tener que tirar una hora de Google como hoy 😦 y ya de paso igual a alguien le viene bien 🙂

Vamos al tema. Estoy trabajando en una aplicación de gestión de datos que incluye, entre otras coas, tratar con direcciones de clientes y demás empresas. Para agilizar un poco la cosa prefiero tener la base de datos precargada con los códigos postales, municipios, etc… podría ir guardando los que mentan los que van a usar la aplicación pero así puedo meter unos desplegables y, de paso, aumentar la productividad y hacer que curren un poco más jejeje…

De primeras pensé que seguro que en algún lado estaría disponible una base de datos con los códigos postales, municipios y calles de España, vamos, que el gobierno debería proveer de esa información a las empresas y tal. Lo que yo estaba buscando eran unas páginas amarillas en formato de base de datos básicamente. Mi sorpresa fué mayúsculas al comprobar que Correos disponía de dicha base de datos y que la estaba ofertando al precio de 900€ !?!?!?!?!¿!?!¿!?!¿?! eso si, iva incluido y con actualizaciones trimestrales (y en un formato cerrado, como no!) xDDDD

Total, que cuando se me pasó el cabreo y la cara de gilipollas (es que… manda huevos) seguí buscando por ahí y he encontrado una base de datos que me vale (lo que yo quiero con los códigos postales y los municipios, las calles me la pelan bastante…) en formato TXT, XML y MySQL, en éste sitio. Las pocas calles que he mirado (no muy céntricas) no aparecían, por si acaso alguno piensa que es la panacea, supongo que la de correos será mucho más completa, o eso espero, porque si pago 900€ por una base de datos que son públicos ya puede venir hasta donde está el famoso alfiler del pajar.

Voy a aprovechar para comentar como se monta la base de datos, que es muy sencillo, pero es una de esas cosas que al ser tan tontas piensas que hay que hacer algo diferente xD

Si descomprimimos el zip de la base de datos, veremos que hay 3 grupos de ficheros (t_calles, t_municipios y t_provincias), cada uno de esos grupos está formado por 3 ficheros de distinta extensión (.MYD, .MYI y .frm) está claro que los .MYD son los que llevan las entradas de la base de datos porque son los tochos, al parecer los .MYI almacenan la estrcutura de los datos y el .frm no tengo ni idea de lo que incluye.

¿cómo se “instala”? Es tan simple como ir al directorio en el que mysql guarda las bases de datos (en ubuntu intrepid ibex es /var/lib/mysql/) y meter esos ficheros dentro de un nuevo directorio. Una vez hecho ésto y sin siquiera tener que reiniciar el servicio ya tendremos la nueva base de datos disponible.

Nada más, espero que a alguien más le sirva 😀