a-b-street / a-b-street/osm2streets

Stop lines

Aperta
#165 5 commenti 0 reazioni 0 assegnatari Vedi su GitHub
tracking issue
Lingua principale
Jupyter Notebook
Stelle
156
Fork
14
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Splitting out from #72. The representation:

```rust
pub struct Road {
...
pub stop_line_start: StopLine,
pub stop_line_end_: StopLine,
}

pub struct StopLine {
/// Relative to the road's reference_line. Stop lines at the start of the road will have low
/// values, and at the end will have values closer to the reference_line's length.
pub vehicle_distance: Distance,
/// If there is an advanced stop line for cyclists different than the vehicle position, this
/// specifies it
pub bike_distance: Option,
pub interruption: TrafficInterruption,
}

/// How a lane of travel is interrupted, as it meets another or ends.
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq, Serialize, Deserialize)]
pub enum TrafficInterruption {
Uninterrupted,
Yield,
Stop,
Signal,
DeadEnd,
}
```

As a first step, we can assign this based on heuristics and explicitly mapped things in OSM. An example heuristic could be figuring out that minor roads yield or stop and major roads are interrupted at uncontrolled intersections. We can then render it (necessary for debugging/development and also to improve visuals).

Is the representation what we want? I'm not sure what the distances should be relevant to... probably `get_untrimmed_center_line` like `trim_start,end`, not the reference line?

I'll add notes below as I figure out all the things in OSM that help us figure this out.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

La issue definisce una struttura Road con i campi stop_line_start e stop_line_end di tipo StopLine. Inizia esaminando il codice esistente nel repository per la struttura Road e la funzione get_untrimmed_center_line. Il compito consiste nell’implementare euristiche per assegnare valori StopLine in base ai dati OSM, probabilmente nella logica di conversione. Cerca i moduli che gestiscono il parsing di OSM e la generazione della rete stradale. «Done» significa che le linee di arresto sono assegnate correttamente e possono essere visualizzate per il debugging.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
rust
Ambito
backend
Tipo di issue
Funzionalità
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
45/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.