2009/6/3 Martin Koppenhoefer <dieterdre...@gmail.com>: >>>> Di solito mettiamo il significato di un tag a destra dell'uguale, così >>>> mi sembra che "inquini" lo spazio dei tag (avrebbe senso wine=X, con X >>>> diverso da yes o no? ) >>> area=yes, oneway=yes sono i primi due che mi sono venuti in mente > foot=yes, bicycle=yes (però anche li c'è designated, ecc.)
Esatto: un tag, di solito, va a sinistra dell'uguale se sulla destra sono possibili più valori (yes, no, designated, unknown, private, permissive ecc.) Ci sono alcune strambe eccezioni tipo amenity=atm che diventa atm=yes in caso di amenity=bank. Comunque, più ci penso, più trovo strano il meccanismo dei tag chiave=valore di OSM. In un GIS standard ci sono i livelli (che categorizzano gli oggetti di ciascun livello: es. il livello dei fiumi) e una tabella di attributi per ciascun livello. In questo modo i vari livelli sono internamente omogenei (tutti gli oggetti lì dentro contenuti sono dello stesso tipo e sono catalogati secondo gli stessi attributi). E' un approccio "relazionale" nel senso dei database relazionali. In OSM invece è tutto molto più libero. Ci sono solo pochi tipi di oggetti (punti, linee, relazioni) e non esiste una "tabella" degli attributi. In un certo senso OSM sta ai GIS come gli XML stanno alle tabelle relazionali. Questo permette di attaccare delle etichette eterogenee a ciascun oggetto: ad esempio il tipo di strada e il limite di velocità. Quello che in questo ragionamento non mi è chiaro fino in fondo è perché le etichette debbano avere la struttura chiave=valore. Per i limiti di velocità ha ancora senso (maxspeed=50 oppure maxspeed=90) ma per le tipologie di strada è del tutto convenzionale. Qual è la differenza intrinseca tra taggare una strada highway=unclassified oppure semplicemente unclassified? Si può obiettare che se mettessi tutto "al primo livello" si otterrebbero delle confusioni tra valori con lo stesso nome di chiavi diverse: ad esempio unclassified potrebbe arrivare da highway=unclassified oppure da foobar=unclassified. Ma a questo punto è abbastanza evidente che la "chiave" di una coppia chiave/valore di OSM non è altro che un namespace: una strada è taggata come unclassified dove il tag unclassified è quello del namespace highway. Insomma i tag usuali OSM diventerebbero una collezione di tag "single-word": oneway, area, highway:primary, atm, ecc. In questo modo un nodo che è sia un ATM che una banca verrebbe taggato atm, bank e non la cosa bislacca che è ora: amenity=bank, atm=yes. Allo stesso modo un ufficio postale che ha una cassetta delle lettere ecc. Tutta questa discussione è del tutto inutile perché non sto proponendo di rivoluzionare i tag OSM, ma almeno ora mi è chiaro perché tante volte non si capisce se mettere una parola a destra o a sinistra dell'uguale: c'è ben poca differenza ed è pressoché solo convenzionale. Ciao, Federico _______________________________________________ Talk-it mailing list Talk-it@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-it