In QGIS master è stata introdotta, negli strumenti di Processing, un algoritmo (scritto in C++, ormai non si accettano più algoritmi in Python) dal nome Shortest line between features che permette di generare i segmenti più corti tra due vettori, uno di origine e uno di destinazione.
l’algoritmo ha tre opzioni interessanti: la prima permette di selezionare il metodo: ovvero, intera feature o centroide; la seconda permette di impostare il numero di elementi più vicini e la terza la distanza massima di ricerca.
Ho fatto un piccolo test di prestazione tra questo nuovo algoritmo e le espressioni di QGIS: ho generato i limiti del Mar Mediterraneo, tracciato a caso 1000 punti che cadessero solo nel mare. Vediamo quanto tempo impiega il nuovo algoritmo e confrondiamolo con il risultato ottenuto dalla espressioni di QGIS.
Shortest line between features

Espressioni di QGIS


Il nuovo algoritmo è leggermente più veloce rispetto all’espressione, ha impiegato circa due secondi in meno per ottenere stesso risultato.
Con le espressioni di QGIS è possibile fare tutto ciò che fa questo algoritmo, per esempio limitare la distanza, ecco un esempio:
NOTE FINALI:
Le espressioni sono leggermente più lente ma possono fare molto altro come per esempio applicare un filtro all’output, LEGGI QUI: https://pigrecoinfinito.com/2021/11/01/qgis-e-lo-spatial-join-condizionato/