Closed oantonioo closed 3 years ago
Hola @oantonioo
El proposito de codigos_postales_municipios.csv
es proporcionar un un código postal y asociarlo al código INE del municipio. Incluye un campo adicional, que es el de nombre_entidad_singular
, que, como su propio nombre indica, hace referencia a una entidad singular que comparte ese código postal. El problema es que solo aparece una de las entidades singulares, y no todas, lo que no tiene mucha utilidad e induce a confusión.
Entiendo que es deseable poder obtener todas las entidades singulares asociadas a un código postal, por lo que en breve añadiré un dataset para esto.
Si lo que necesitas es el nombre de municipio, este lo puedes obtener de codigos_postales_municipios_join.csv
.
nada! pero la verdad que GITHUB se esta volviendo en algo complicadisimo para encontrar cosas buenas o no abandonadas donde poder ayudar
Es sencillo, solo tienes que hacer un pull request de las modificaciones que hayas hecho en tu fork, si crees que pueden beneficiar al proyecto.
Lo primero! Pensaba que estaba abandonado, por las fechas de los archivos y los datos y comentarios sin respuesta.
Y lo segundo! Es que leyendo tu respuesta esta claro que no consegui explicarme.
Lo que tu llamas 'nombre_entidad_singular' yo lo llamo 'localidad' y siento mucho no mandarte a la wikipedia. Lo que paso es que confie, despues de pasarlo a la base de datos y programar un poco, me di cuenta de errores que se reportaban al no incluirse todos los 'municipios' como 'entidad_singular', la inmensa mayoria si aparecen pero solo falta que el 5% no y ya te la lia. Este fallo ocasiona un gran problema porque entre otras cosas, cuando buscas por 'codigo postal' puedes obtener una 'entidad_singular' erronea ya que en ocasiones esta mal ubicada con su codigo postal o nunca obtienes resultado para esa localidad real con su ayuntamiento.
Habia pensado en resolverlo y lo anoto aqui por si a alguien le da por hacerlo que vea el problema que tendra despues 1 - por PHP hice una busqueda de diferentes 'municipios' y dentro de ese bucle, hice una comparacion con otra consulta. Si no existe el (municipio en entiedad_singular) hago una busqueda (automatica) a geonames.org y extraigo los datos como codigo postal para crear el registro que falta.
este caso ocurre mas de 100 veces, no recuerdo.
2 - despues de un rato, pense que ya lo habia solucionado, pero NO ahora estaba la cosa peor ya que ahora encuentro que tengo 'algunas veces' 2 entidad_singular con el mismo codigo postal (el que ya habia y que no es correcto + el que yo acabo de crear)
solucion rapida, reIndexar los datos que faltan y ahora antes de añadir la nueva entidad_singular comprobar que el codigo postal NO esta cogido y si lo esta, borrarlo.
3 - pero esta solucion, lleva a otro problema y es que en ocasiones el codigo postal estaba compartido con otra 'entidad_singular' de forma correcta y ahora lo he borrado. ESO SI, ahora la APP no me da errores pero me he cargado otra vez la base de datos, sí ahora los errores los he reducido muchisimo pero no me quedo tranquilo
Lo mejor es coger los datos de una fuente fiable (me refiero de pago), por ejemplo correos se que lo vende y claro debe ser fiable pero es muy feo que sea precisamente correos quien te cobre por esto y no poco.
es la primera vez que me meto en un proyecto asi, encontrare la solucion :)
Hola @oantonioo
Gracias por tus comentarios. Te contesto.
Lo que tu llamas 'nombre_entidad_singular' yo lo llamo 'localidad' y siento mucho no mandarte a la wikipedia.
Eres libre de utilizar la terminología que desees, pero al encontrarnos dentro del ámbito del INE, en este repositorio debemos utilizar la terminología oficial de la fuente original.
Es importante entender la diferencia entre los conceptos de municipio, entidad colectiva, entidad singular y núcleo de población. La agrupación de estas 4 divisiones define la unidad poblacional.
Cada unidad poblacional puede estar asociada a uno o más códigos postales y cada código postal puede estar asociado a uno o mas unidades poblacionales. Es una relación N:N. Ejemplo:
codigo_postal | municipio_id | codigo_unidad_poblacional | entidad_singular_nombre | nucleo_nombre |
---|---|---|---|---|
29610 | 29076 | 0001701 | Ojen | Ojen |
29610 | 29076 | 0001702 | Ojen | Mairena (La) |
29610 | 29076 | 0001799 | Ojen | diseminado |
29612 | 29076 | 0001702 | Ojen | Mairena (La) |
He actualizado el repositorio para incluir las unidades poblacionales.
Si, si entiendo las diferencias. La base de datos que estoy creando necesita tanto los municipios como las poblaciones y TAMBIEN entidad-singular.
y te explico el motivo. lo que pretendo es que el visitante, escriba lo que el entiende como 'donde vive' o la zona donde quiere buscar algo. Y con ese dato pretendo rellenar automaticamente (Poblacion - Codigo Postal) y como zona 'municipio o entidad singular' si es que este es diferente a poblacion.
Es mas muchas gente veo que busca incluso por el nombre de su urbanizacion, pero ya seria rizar demasiado el rizo. Si consigo completar todos estos datos ya sera un logro.
Por ahora estoy jugando tus datos y los de la agencia tributaria https://www.agenciatributaria.es/AEAT.internet/Inicio/Ayuda/Tablas_auxiliares_de_domicilios__provincias__municipios____/Tablas_auxiliares_de_domicilios__provincias__municipios____.shtml
y completando los codigos postales que faltan con 'geonames.org' y 'googleMap' usando claro sus APIs y de forma automatica, pero no es facil porque ya lo he repetido varias veces haber si consigo encontrar la configuracion adecuada. Esto de ir haciendo consultas para rellenar la base de datos con geonames.org y googleMap tarda tiempo, ya que si lo hicera sin descanso, me tocaria 'pagar' pero programando que lo haga poco a poco sale gratis.
De todas formas si se te ocurre algo... :)
Y piensa en mi idea de consultar con 'geonames o googleMap' porque creo que puede serte util tambien o mirar el listado de agencia tributaria que es realmente bueno.
** edito. Se me olvidaba que tambien estoy registrando coordenadas, asi que aun es mas lio si luego tiene que estar el nivel de errores bajo, pero lo conseguire.
Un saludo y gracias
Por cierto! inigoflores
Acabo de probar tu actualizacion. Tu ultima actualizacion es genial, el programa que uso parar rescatar otro datos para complementarlo, apenas me dio errores graves como en el anterior.
70702,07032,Maó-Mahón,0010801,Mao,Mao 72318,42043,Burgo de Osma-Ciudad de Osma,0013601,Valdelubiel,Valdelubiel 80154,12077,Moncofa,0001701,Grao,Grao (El) 91319,33024,Gijón,0501299,Aguda,diseminado 91349,33024,Gijón,0504899,Carbaínos,diseminado
|codigoPostal - Municipio_ID - municipio_nombre|
_por alguna razon tu exportacion a cambiado el 'codigoPostal' con 'MunicipioID' Aunque veo que es un error que arrastras de los anteriores, yo lo arregle facil pero quizas este fallo haya probocado otros NADA: ni sustituyendolos queda bien, los codigos postales no estan en rango de zona, los borro
Si le echas un vistazo y actualizas todo, si te apetece comenta
gracias por tu tiempo.
Hola @oantonioo
Estoy intentando ver donde esta el error, pero no logro verlo. Porfa, a ver si me lo puedes aclarar.
Es cualquier archivo CSV que quieras abrir de la carpeta /data/
Por ejemplo: 1 - pinchale al primero 'codigos_postales_municipios.csv' 2 - y ve al final de la lista. 3 - tu lo tienes asi:
|codigo_postal| - |municipio_id| - |municipio_nombre| 70702 07032 Maó-Mahón 72318 42043 Burgo de Osma-Ciudad de Osma 80154 12077 Moncofa 91319 33024 Gijón 91349 33024 Gijón
Se ve facilmente porque en españa no tenemos codigos postales con esas numeraciones, ya que cada provinica inicia su codigo postal por su 'idProvincia' En principio, claramente se puede deducir que los datos de 'codigo_postal' se han cambiado por los de 'municipio_id' y eso fue lo que yo pense ya que el inicio de esos codigos si coinciden con su provincia. El problema es que me puse a comprobar por gps, y el nuevo codigo postal... no parecia ser exacto. (bueno, esto tambien ocurre con unas docena poblaciones mas pero es un pequeño error que no tiene importancia) El caso es que despues de perder un rato para arreglarlas manualmente, osea buscar sus codigos postales exactos.. no lo consegui, y como no son importantes (mirando claro entidad_singular y nucleo), decidi! siemplemente borrarlas para que mi script no se entretuviera.
Es la respuesta a si tu pregunta era aclarar donde vi el error, que fue lo que entendi
PERO SI TU PREGUNTA, ¿donde podria estar lo que genera ese error? No sabria decirte, no se como obtienes las listas, yo he pensado que harias como yo un script PHP que va cogiendo datos de INE y que ya descargaste y vas creando la lista juntando datos.
Es posible o que el archivo del INE ya venga con ese error o que las ultimas lineas de programacion de tu codigo tenga algun error, porque aparentemente el unico problema es que en esas ultimas cambia los datos de esas dos columnas
Hola oantonio
¿puedes compartir el script que usaste para conseguir incluir las coordenadas? Estoy intentando usar el script de inigoflores, ¿tu lo usaste para este fin o modificaste las tablas?
Hola @oantonioo
Perdona el retraso en contestarte.
Los datos generados a partir de la fuente parecen correctos.
Para el código postal 91349, existen dos registros en el fichero TRAM-NAL.F200630.
3302409013 05048999134900000 9134910001 0329 20200630 09013 0504899L'ABADÍA CENERO CARBAÍNOS *DISEMINADO* 91349DESPEÑAPERROS CENERO 00000 9134910001 0329
3302409013 05048999134900000 9134920002 0330 20200630 09013 0504899L'ABADÍA CENERO CARBAINOS *DISEMINADO* 91349DESPEÑAPERROS CENERO 00000
Al tratarse de la misma unidad poblacional, estos dos registros quedan reducidos a uno solo.
Otra cosa es que la fuente esté mal. Esto ya se escaparía del ámbito de este dataset, cuyo objetivo es reproducir lo más fielmente posible la fuente del INE.
Haciendo una búsqueda en Google, vemos que aparece este código postal en alguna web. Posiblemente estén haciendo uso de esta misma fuente.
Revisando el código, he identificado un bug por el cual se estaban reescribiendo registros al estar usando un código de unidad poblacional insuficiente. Faltaba por añadir el código del municipio.
Pues es una pena que este proyecto se abandonara antes de acabarlo.
Tiene varios errores simples pero que dificultan el uso, no recomiendo su descarga si no podeis superar todos los fallos ya que perdereis el tiempo.
Para mi el unico fallo que me hizo dejarlo fue: 1 - que en el campo | nombre_entidad_singular | faltan poblaciones, aparecen todas las 'pedanias' o 'Localidades' pertenecientes al Municipo padre pero luego el municipio no aparece por ningun lado, esto ocurre DESGRACIADAMENTE con muchisima frecuencia.
nada! pero la verdad que GITHUB se esta volviendo en algo complicadisimo para encontrar cosas buenas o no abandonadas donde poder ayudar