2013/9/26 bredy <bredy...@yahoo.it> > Ho dei nomi di località tutte in maiuscolo con tag name, c'è un modo per > trasformarle con solo iniziali maiuscole? >
Puoi provare in JOSM, tramite uno script Python. Se non lo hai già, devi installare e configurare il plugin "Scripting", come scritto qui: http://wiki.openstreetmap.org/wiki/IT:Quality_Assurance_Tools_script/Installation nella prima sezione: "Abilita in JOSM l'esecuzione di script esterni". Poi: 1 - apri il file .osm 2 - vai sul menu "Scripting" --> "Show scripting console" --> "Change" e selezioni "python, with jython engine" 3 - incolli nella console il codice più sotto e premi "Run". Lo script passa in rassegna nodi, way e relazioni e trasforma in maiuscolo la prima lettera di ciascuna parola nel tag "name". Es. "name = abc ABC" --> "name = Abc Abc" Come sempre, conviene provare su una copia e controllare il risultato prima di caricare su OSM ;-) (oltre a seguire le solite procedure per gli import, se è una fonte nuova.) Ciao, Groppo #codice script """ Capitalize words of value in "name=*" tags, through JOSM """ import sys from javax.swing import JOptionPane from org.openstreetmap.josm import Main def getMapView(): if Main.main and Main.main.map: return Main.main.map.mapView else: JOptionPane.showMessageDialog(Main.parent, "Apri dei dati, prima di eseguire lo script.") sys.exit(1) mv = getMapView() if mv and mv.editLayer and mv.editLayer.data: dataset = mv.editLayer.data elements = [] elements.extend(dataset.nodes) elements.extend(dataset.ways) elements.extend(dataset.relations) #For each OSM object in the dataset for element in elements: tags = element.getKeys() if len(tags) != 0: if "name" in tags: #capitalize words of "name" value tags["name"] = element.get("name").title() #update tags element.setKeys(tags) JOptionPane.showMessageDialog(Main.parent, "Done.")
_______________________________________________ Talk-it mailing list Talk-it@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-it