Closed agarciamontoro closed 2 years ago
Algunos datos más:
highway_current.csv
entre la primera y la segunda ejecución, y he obtenido el mismo fallo que antes.18900
), también sin editar highway_current.csv
, y ha terminado sin fallo.Así que parece que pueda ser algo específico de Aracena.
Y algo más de información, que he obtenido añadiendo algunas líneas de debug alrededor de la parte que da fallos, en la función move_entrance
del archivo geo/layer/cons.py
:
log.debug(_("Moving entrance for %d buildings"), len(ad_buildings))
for bu in ad_buildings:
log.debug(_("New building with local ID %s"), bu["localid"])
bg = bu.geometry()
log.debug(_("\tGeometry: %s"), bg)
d, c, v = bg.closestSegmentWithContext(point)[:3]
log.debug(_("\tDistance: %d"), d)
if d < distance:
(building, distance, closest, vertex) = (bu, d, c, v)
bg = building.geometry()
El último log antes del fallo es:
2022-02-04 20:28:35,672 - DEBUG - Moving entrance for 1 buildings
2022-02-04 20:28:35,672 - DEBUG - New building with local ID 2718206QC1021N
2022-02-04 20:28:35,672 - DEBUG - Geometry: <QgsGeometry: Polygon ((712587.98649999999906868 4201568.81300000008195639, 712588.79105609050020576 4201562.65335558727383614, 712589.46450000000186265 4201557.49749999959021807, 712578.1215000000083819 4201557.33800000045448542, 712576.50500000000465661 4201567.84599999990314245, 712587.98649999999906868 4201568.81300000008195639))>
2022-02-04 20:28:35,672 - DEBUG - Distance: 278044555624
Así que parece que el edificio que está dando problemas tiene localId = 2718206QC1021N
, que entiendo que es este: https://www1.sedecatastro.gob.es/CYCBienInmueble/OVCConCiud.aspx?UrbRus=U&RefC=2718206QC1021N0001HY&esBice=&RCBice1=&RCBice2=&DenoBice=&from=OVCBusqueda&pest=rc&RCCompleta=2718206QC1021N&final=&del=21&mun=7
Parece ser que la distancia que devuelve closestSegmentWithContext
es 278044555624
, que es mayor que 9e9
. En esta llamada a move_entrance
, ad_buildings
sólo tiene un edificio, así que building
nunca se inicializa.
Creo que mis conocimientos no dan para mucho más, porque aún no entiendo bien cómo funciona el programa (aunque me gustaría, sobre todo para poder contribuir). Si necesitas cualquier otra cosa, dímelo y veo en qué puedo ayudar :)
¡Gracias!
Este apaño funciona, y saca los datos para Aracena sin problema:
bu = ad_buildings[0]
bg = bu.geometry()
d, c, v = bg.closestSegmentWithContext(point)[:3]
(building, distance, closest, vertex) = (bu, d, c, v)
for bu in ad_buildings[1:]:
bg = bu.geometry()
d, c, v = bg.closestSegmentWithContext(point)[:3]
if d < distance:
(building, distance, closest, vertex) = (bu, d, c, v)
Pero no estoy seguro de si es lo que se quiere hacer o no. Si lo veis correcto, puedo abrir una PR.
Confirmado. Muy bien documentado.
Se están cargando las direcciones CDAU con coordenadas y referencia catastral incorrecta.
Error no relacionado:
2022-02-05 21:14:46,288 - INFO - Descargando 'auxsrcs/portal_Cordova.csv'
2022-02-05 21:14:46,967 - ERROR - 404 Client Error: Not Found for url: https://www.juntadeandalucia.es/institutodeestadisticaycartografia/cdau/portales/portal_Cordova.csv
Cordoba con v
¡Gracias por echarle un vistazo!
Se están cargando las direcciones CDAU con coordenadas y referencia catastral incorrecta.
Pero están como duplicadas, ¿no? Las siguientes dos capturas son de Carboneras, una en medio del mar (37.9179, -12.5444) y la otra con las coordenadas correctas (37.9179, -6.5444) . Parece que están casi duplicadas al completo:
En el mar | Coordenadas correctas |
---|---|
Avísame si hay alguna forma en la que pueda ayudar a resolver el problema :)
Los datos de CDAU están en CRS 25830, los de Catastro en CRS 25829.
02dfa98d Commit que corrige el problema reproyectando las coordenadas.
Pero están como duplicadas, ¿no?
Las del mar son las del CDAU, las correctas las de Catastro.
@agarciamontoro Creo que está resuelto el problema. Comprueba que la versión del programa es 2.5.3 (catatom2osm -v). Haz una copia del highway_names.csv y bórralo para que se repita el proceso de crearlo. Repite la edición del highway_names.csv aprovechando todo lo que puedas de la copia que hiciste. Haz la segunda ejecución y ahora no debería de dar error. Si quieres puedes comprobar el address.geojson (todas las direcciones fuuente) y el address.osm (las direcciones filtradas que terminan en los archivos de tareas).
Muy bien trazado el error. Gracias por encontrar el problema.
Lo acabo de comprobar en local y con la nueva versión funciona sin problema. Lo he probado desde cero, borrando todos los datos que tenía (lo he hecho antes de leer tu mensaje, pero no pasa nada porque no había hecho muchas ediciones). ¡Muchas gracias!
Los datos de CDAU están en CRS 25830, los de Catastro en CRS 25829.
Entiendo que esto son distintos tipos de sistemas de coordenadas, ¿es así? Esto queda ya fuera del ámbito de la issue, así que si quieres lo hablamos por cualquier otro lado. Es simplemente por aprender más sobre todo esto.
Muy bien trazado el error. Gracias por encontrar el problema.
Gracias a ti por la velocidad en arreglarlo :) Por mí ya se puede cerrar el issue.
https://es.m.wikipedia.org/wiki/Sistema_de_coordenadas_universal_transversal_de_Mercator https://en.m.wikipedia.org/wiki/Spatial_reference_system https://epsg.io/25830 https://es.m.wikipedia.org/wiki/Sistema_Europeo_de_Referencia_Terrestre_1989 Si son distintos sistemas de referencia, bueno en realidad distintos husos (el 29 y el 30) del sistema ETRS89.
Te veo buenas mañas. Si te apetece colaborar en el programa mira #90.
Estoy intentando generar los datos para Carboneras, una pequeña aldea del municipio de Aracena, Huelva. He ejecutado esta orden una vez para generar los datos del municipio entero:
Ha terminado sin errores. Después he editado a mano el archivo
highway_current.csv
para quedarme sólo con las calles pertenecientes a Carboneras (y arreglar un par de errores), y he ejecutado la misma orden anterior una segunda vez.En esta segunda ejecución el programa ha terminado con este error:
Estoy ejecutando el programa en Linux. El contenido del archivo
catatom2osm.log
es el siguiente (dividido en las dos ejecuciones que he hecho decatatom2osm
):catatom2osm.log - primera ejecución
catatom2osm.log - segunda ejecución
¿Puedo aportar cualquier otra información que sea de interés para el error?