@SBergillos @RubenOncala
Amb els últims canvis que he pujat, l'algoritme ja converteix el subgraph a capes espacials de nou i les retorna a QGIS. Deixo aquí escrit el procés:
- Obtinc les ids de nodes i de arcs del subgraph.
- Utilitzo les ids per filtrar la capa original de nodes i arcs amb els nodes i arcs del subgraph.
- Miro quins camps estan modificats. Per poder fer això, cal que cada vegada que s'actualitzi un atribut d'un node o un arc s'utilitzi la funció
update_changed_field per actualitzar el camp 'changed' que llavors el consulto per saber quins camps actualitzar. De moment només està implementada pels nodes, necessiteu modificar atributs dels arcs també?
- Actualitzo els camps i copio el node o arc des de la capa original cap a la capa resultat.
És la manera més eficient que se m'ha ocorregut, l'alternativa seria crear un cap de text definint la geometria i carregar-lo com a atribut als nodes i arcs del graph (és el que fa geopandas, de fet), però fas que el graph ocupi molta més memòria i per tant sigui més lent treballar-hi.
Executar l'algoritme
A dins de la carpeta sandbox, trobareu un petit script que es diu run_fixTheNetwork.py que si l'obriu des de la consola de python del QGIS executar l'algoritme sense haver d'utilitzar l'interfície gràfica. Agilitza bastant el procés de prova i error. Caldria que carregueu el MDE que utilitzeu a dins de la carpeta datasets quan volguem comnçar a utilitzar-lo.
En parlem divendres.
@SBergillos @RubenOncala
Amb els últims canvis que he pujat, l'algoritme ja converteix el subgraph a capes espacials de nou i les retorna a QGIS. Deixo aquí escrit el procés:
update_changed_fieldper actualitzar el camp 'changed' que llavors el consulto per saber quins camps actualitzar. De moment només està implementada pels nodes, necessiteu modificar atributs dels arcs també?És la manera més eficient que se m'ha ocorregut, l'alternativa seria crear un cap de text definint la geometria i carregar-lo com a atribut als nodes i arcs del graph (és el que fa geopandas, de fet), però fas que el graph ocupi molta més memòria i per tant sigui més lent treballar-hi.
Executar l'algoritme
A dins de la carpeta sandbox, trobareu un petit script que es diu
run_fixTheNetwork.pyque si l'obriu des de la consola de python del QGIS executar l'algoritme sense haver d'utilitzar l'interfície gràfica. Agilitza bastant el procés de prova i error. Caldria que carregueu el MDE que utilitzeu a dins de la carpetadatasetsquan volguem comnçar a utilitzar-lo.En parlem divendres.