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

Rispondere a