2009/6/10 Marco Certelli <marco_certe...@yahoo.it>:
> Ovviamente mkgmap può essere configurato (forzato?) manualmente via style 
> file a gestire il tag e si può scrivere una riga del tipo:
> motor_vehicle=yes {add motorcar=yes; add motorbyke=yes; add .... }

Mi sembra una ottima strada.
Dopotutto è ragionevole che i "veicoli a motore" non siano definiti a
livello mondiale, ma da ciascun codice della strada.
Faccio un altro esempio: i cavalli sono "veicoli" nel CdS italiano
(*), potrebbero non esserlo all'estero.
Quindi potrebbe valere la regola
vehicle=no {add motorcar=no; add horse=no; add .... }
Mi sembra un'ottima cosa che mkgmap permetta di ridefinire queste
regole in un file di configurazione.

Ovviamente bisogna vedere cosa succede quando si trova vehicle=yes,
motor_vehicle=no: il secondo è più specifico del primo quindi nel file
di configurazione di mkgmap deve essere messo per ultimo / per primo
(a seconda di come funziona mkgmap)

In pratica l'algoritmo che ho descritto nella pagina Wiki si
trasforma, nel caso di mkgmap:
1. individuare tutti i nodi-non-foglie dell'albero dei transport-modes
(es. vehicle, motor_vehicle, ecc.)
2. per ciascun nodo-non-foglia individuare tutte le foglie da esso
discendenti (es. motorcar discende da vehicle)
3. trasformare ciascuna regola del tipo nodo-non-foglia=X nelle
corrispondenti regole {add foglia=X}
4. disporre tutte le regole così ottenute in ordine nel file di
configurazione, adottando una visita breadth-first dell'albero dei
transport-modes (in modo che regole più specifiche sovrascrivano
regole più generiche)

(*) spulciando su internet ho trovato una sentenza spettacolare. Una
persona procedeva a piedi, tirando un cavallo per le briglie, sul lato
sinistro di una strada extraurbana senza marciapiedi. E' stata
investita da un'auto che procedeva nel verso opposto. Tutta la causa
si è centrata sul capire se la persona era un pedone, e quindi
procedeva correttamente sul lato sinistro della strada, oppure era un
cavaliere, e quindi doveva procedere sul lato destro. In primo grado è
stata considerata cavaliere, in appello pedone e in cassazione
cavaliere.

Ciao

_______________________________________________
Talk-it mailing list
Talk-it@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-it

Rispondere a