icra / QGISprocessing

buildings2sewer is a QGIS processing plugin that connects the buildings of a city to their nearest lower manhole (or any other geometries). It incorporates two parameters that work together: maximum distance and z tolerance. If a connection is larger than maximum distance, the manholes 1 metres higher than the building are also considered. This iteration is repeated until "z tolerance" is reached.
0 stars 0 forks source link

Recipient per fixTheNetwork creat #1

Open jospueyo opened 1 year ago

jospueyo commented 1 year ago

@RubenOncala @SBergillos @lcorominas

Us he afegit com a col·laboradors d'aquest repositori on hi ha el plugin. He creat la branca fix_network per poder fer tots els canvis que volguem afegint el nou algoritme i sense preocupar-nos per trencar res. Un cop tot funcioni, farem el merge a la branca main. Si cloneu el repositori, assegureu-vos que esteu a la branca fix_network, per comprovar-ho podeu entrar la següent comanda al terminal:

git branch
>* fix_network
> main
> master

Si no hi sou, per moure a la branca, podeu utilitzar la següent comanda:

git checkout fix_network

L'algoritme que volem incloure l'he anomenat fixTheNetwork (li podem canviar el nom). L'arxiu fixTheNetworkAlgorithm.py és el que carrega l'interfície d'usuari, llegeix les capes i retorna les capes corregides. Des d'aquest és des d'on hem de cridar la resta de funcions.

De moment, demana capa de nodes, capa d'arcs, MDE, camp amb l'id de nodes i camps amb el "From" i el "To" de la capa d'arcs. És trivial afegir altres paràmetres d'entrada (se'ls pot donar valors per defecte per facilitar la vida a l'usuari).

La resta de functions haurien d'anar dins la carpeta utils, així separem els arxius d'interfície dels de processament.

Ara mateix ja funciona retornant dues capes buides. Per obrir-lo a QGIS podeu clonar aquest repositori dins la carpeta on hi ha els plugins de QGIS a Windows 10 és: C:\Users\<usuari>\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins. Cada plugin és una carpeta que QGIS llegeix quan s'obre. Veureu que dins la toolbox de processament se us genera un nou grup que es diu "ICRA" amb dos algoritmes a dins:

image

He comprovat les dependències i les úniques dues llibreries que importeu que no estan disponibles a QGIS són geopandas i momepy, però crec que les podrem substituir fàcilment per altres llibreries de QGIS. networkx hi està inclosa des de QGIS 3.10, així que fantàstic.

Si no us voleu emmerdar amb el plugin, podeu treballar al repositori xarxa_github i jo ja em dedicaré a anar-ho integrant tot dins del plugin. Això com vosaltres vulgueu.

Endavant les atxes!

RubenOncala commented 1 year ago

genial, he afegit dues funcions a utils i he modificat la funcio processAlgorithm de fixTheNetworkAlgorithm.py per tal de executar les funcions. he afegit les minimes dependencies a la definicio de cada funcio, fem una primera prova a veure si funciona