Codice Overpass Turbo

Ciao A Tutti

Sto cercando un codice su overpass turbo che mi aiuti a visualizzare tutte le strede con tag highway=track in un’area specifica che hanno la caratteristica di essere connesse con altre strade o sentieri, quindi vorrei escludere tutte quelle strade agricole che terminano e hanno una “fine”, Questo sarebbe utile per identificare potenziali percorsi per escursioni o gite in bicicletta che utilizzano l’infrastruttura esistente.

L’unico codice che son riuscito a sfruttare è questo con l’aiuto del wizard, ma non restituisce i risultati desiderati:

[out:json][timeout:25];
way["highway"="track"]({{bbox}});
out geom;`

manca una parte di codice che escluda tutte le strade non connesse ma essendo un principiante mi vien difficile da trovare
Come già detto sto usando Overpass Turbo per eseguire le query.

Grazie in anticipo a chi mi aiuterà

Ciao Lupinsun
ho impegato un po’ di tempo per capire come procedere . . . .
per il momento sono arrivato a questo risultato:

[out:json][timeout:30][bbox:{{bbox}}];
way["highway"]->.streets;
node(way_link.streets:1)->.no_exit;
way(bn.no_exit)["highway"="track"]->.tracks_no_exit;
.tracks_no_exit out geom;

in pratica:

  • vengono selezionate tutte le tipologie di strade
  • di queste vengono trovati i nodi connessi ad un solo segmento
    node(way_link:1) ( quindi vicoli ciechi )
  • a ritroso si recuprano tutte le way dei punti ciechi way(bn);
  • si filtrano a sua volta unicamente i tracciati, quindi ["highway"="track"]

abbiamo ora il gruppo .tracks_no_exit con i soli tracciati senza uscita;
ulteriore passo, a tutti i tracciati esistenti sottraiamo quelli senza uscita:

way["highway"="track"]->.all_tracks;
(.all_tracks; - .tracks_no_exit;)->.tracks_with_exit;
.tracks_with_exit out geom;

query finale: overpass-turbo

Sei sicuro di non velere includere “highway”=“path” nella tua ricerca ?
… sicuramente la query è migliorabile, sono curioso di altre soluzioni

Intanto ti ringrazio dell’aiuto, già questo codice non sarei riuscito a scriverlo, però piano piano arriverò alla soluzione che mi interessa, ciò significa che il risultato ottenuto non è corretto, o meglio mancano delle parti.
Ho anche individuato un errore di logica, il fatto è che nel codice vengono sottratti tutti i segmenti (way) “no_exit”, mentre se il segmento “no_exit” è collegato nel mezzo con altri segmenti che alla fine hanno un exit devono essere visualizzati ed esclusi dalla sottrazione, non so se son riuscito a spiegarmi bene e a rendere l’idea.
Per quanto riguarda invece i sentieri sarebbe ancora meglio, ma sarei già contento se riuscissi a visualizzare tutte le strade sterrate che sono interconnesse con tutte le strade, ma una volta trovato il codice e la logica giusta potrei farcela anche da solo ed aggiungere i sentieri, forse :sweat_smile:.

Ti allego uno screen di quello che ho cercato di spiegarti sopra, come vedi nell’immagine mancano parecchie strade, tra di loro sono tutte interconnesse e hanno un “uscita” e dovrebbe essere tutte comprese nella visualizzazione.

Per Logica ti direi che dovrebbero essere sottratti solo quei segmenti che hanno solo un nodo (quello che lo collega al segmento precedente ed è chiaramente un “no_exit”) e tutti quei segmenti che seppur interconnessi alla fine non portano a nulla e “muoiono”, mentre i segmenti anche “no_exit” che hanno più di un nodo e hanno un uscita devono essere compresi.

I segmenti te li dividerei in 3 categorie
1°) segmenti senza uscita con un solo nodo (da escludere)
2°) segmenti che hanno più di un nodo e sono interconnessi ma continuano a non avere un uscita (da escludere)
3°) segmenti, anche “no_exit”, che hanno più di un nodo e sono interconnessi ma che alla fine “escono” da qualche parte (da includere)

Intanto ti ringrazio per l’interessamento e l’aiuto, un saluto
Screenshot 2024-02-26 185924

nel link di overpass era sbagliata una riga:
way["highway"="path"]->.all_tracks;
ho scritto erronemante “path”

comunque, riguardando la query da capo vedo un miglioramento:
way["highway"]["highway"!~"footway|path"]->.streets;
nel gruppo iniziale è bene escludere i sentieri !

nuova query, nuovo link: overpass-turbo

funziona molto meglio ma vedo l’errore da te segnalato (ed altri),
non penso vi sia una soluzione semplice :confused:

Capture

Grazie, ora verifico.
Immaginavo che la soluzione non fosse semplice, se mi viene in mente qualche altra logica per estrapolare i dati ti scrivo, intanto ti ringrazio per l’aiuto che mi hai dato fino a ora…