Post by bredyHo 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.")