Discussione:
Cambiare formato testo in JOSM
bredy
2013-09-26 18:02:28 UTC
Permalink
Ho dei nomi di località tutte in maiuscolo con tag name, c'è un modo per
trasformarle con solo iniziali maiuscole?



--
View this message in context: http://gis.19327.n5.nabble.com/Cambiare-formato-testo-in-JOSM-tp5779095.html
Sent from the Italy General mailing list archive at Nabble.com.
Cascafico Giovanni
2013-09-26 21:25:07 UTC
Permalink
Sembrerebbe di no, a meno di scrivere codice python. Però una soluzione
pulita potrebbe essere queslla segnalata nel forum OSM [1] che consiste nel
search&replace nel file .osm con un editor xml... credo funzi egregiamente
anche Notepad++

[1] http://forum.openstreetmap.org/viewtopic.php?pid=296492#p296492
Post by bredy
Ho dei nomi di località tutte in maiuscolo con tag name, c'è un modo per
trasformarle con solo iniziali maiuscole?
--
http://gis.19327.n5.nabble.com/Cambiare-formato-testo-in-JOSM-tp5779095.html
Sent from the Italy General mailing list archive at Nabble.com.
_______________________________________________
Talk-it mailing list
https://lists.openstreetmap.org/listinfo/talk-it
marco bra
2013-09-26 21:29:55 UTC
Permalink
Si puo' fare dove sono queste località da modificare per averne un idea ?

Grazie
Post by Cascafico Giovanni
Sembrerebbe di no, a meno di scrivere codice python. Però una soluzione
pulita potrebbe essere queslla segnalata nel forum OSM [1] che consiste nel
search&replace nel file .osm con un editor xml... credo funzi egregiamente
anche Notepad++
[1] http://forum.openstreetmap.org/viewtopic.php?pid=296492#p296492
Post by bredy
Ho dei nomi di località tutte in maiuscolo con tag name, c'è un modo per
trasformarle con solo iniziali maiuscole?
--
http://gis.19327.n5.nabble.com/Cambiare-formato-testo-in-JOSM-tp5779095.html
Sent from the Italy General mailing list archive at Nabble.com.
_______________________________________________
Talk-it mailing list
https://lists.openstreetmap.org/listinfo/talk-it
_______________________________________________
Talk-it mailing list
https://lists.openstreetmap.org/listinfo/talk-it
--
Linux Infinite Freedom

I'm writing from this place:
http://www.openstreetmap.org/?lat=44.39945&lon=8.6798&zoom=15&layers=M
alessandro zardo
2013-09-27 12:15:08 UTC
Permalink
E' un file che ho io, ma prima di caricarlo volevo mettere i nomi nella forma corretta.


________________________________
Da: marco bra <***@gmail.com>
A: openstreetmap list - italiano <talk-***@openstreetmap.org>
Inviato: Giovedì 26 Settembre 2013 23:29
Oggetto: Re: [Talk-it] Cambiare formato testo in JOSM


Si puo' fare dove sono queste località da modificare per averne un idea ?

Grazie
Post by Cascafico Giovanni
Sembrerebbe di no, a meno di scrivere codice python. Però una soluzione
pulita potrebbe essere queslla segnalata nel forum OSM [1] che consiste nel
search&replace nel file .osm con un editor xml... credo funzi egregiamente
anche Notepad++
[1] http://forum.openstreetmap.org/viewtopic.php?pid=296492#p296492
Post by bredy
Ho dei nomi di località tutte in maiuscolo con tag name, c'è un modo per
trasformarle con solo iniziali maiuscole?
--
http://gis.19327.n5.nabble.com/Cambiare-formato-testo-in-JOSM-tp5779095.html
Sent from the Italy General mailing list archive at Nabble.com.
_______________________________________________
Talk-it mailing list
https://lists.openstreetmap.org/listinfo/talk-it
_______________________________________________
Talk-it mailing list
https://lists.openstreetmap.org/listinfo/talk-it
--
Linux Infinite Freedom

I'm writing from this place:
http://www.openstreetmap.org/?lat=44.39945&lon=8.6798&zoom=15&layers=M
marco bra
2013-09-27 14:31:45 UTC
Permalink
Se me lo invii lo elaboro e te lo rimando...

uso un programma in harbour http://harbour.github.io/

per manovrarlo cioe' non uso uno script ma un binario che compilo ed
adatto in base a quello che voglio fare se vuoi ti mando il
sorgente...

Ciao
Post by alessandro zardo
E' un file che ho io, ma prima di caricarlo volevo mettere i nomi nella forma corretta.
________________________________
Inviato: Giovedì 26 Settembre 2013 23:29
Oggetto: Re: [Talk-it] Cambiare formato testo in JOSM
Si puo' fare dove sono queste località da modificare per averne un idea ?
Grazie
Post by Cascafico Giovanni
Sembrerebbe di no, a meno di scrivere codice python. Però una soluzione
pulita potrebbe essere queslla segnalata nel forum OSM [1] che consiste nel
search&replace nel file .osm con un editor xml... credo funzi egregiamente
anche Notepad++
[1] http://forum.openstreetmap.org/viewtopic.php?pid=296492#p296492
Post by bredy
Ho dei nomi di località tutte in maiuscolo con tag name, c'è un modo per
trasformarle con solo iniziali maiuscole?
--
http://gis.19327.n5.nabble.com/Cambiare-formato-testo-in-JOSM-tp5779095.html
Sent from the Italy General mailing list archive at Nabble.com.
_______________________________________________
Talk-it mailing list
https://lists.openstreetmap.org/listinfo/talk-it
_______________________________________________
Talk-it mailing list
https://lists.openstreetmap.org/listinfo/talk-it
--
Linux Infinite Freedom
http://www.openstreetmap.org/?lat=44.39945&lon=8.6798&zoom=15&layers=M
_______________________________________________
Talk-it mailing list
https://lists.openstreetmap.org/listinfo/talk-it
_______________________________________________
Talk-it mailing list
https://lists.openstreetmap.org/listinfo/talk-it
--
Linux Infinite Freedom

I'm writing from this place:
http://www.openstreetmap.org/?lat=44.39945&lon=8.6798&zoom=15&layers=M
Hartman
2013-09-27 14:50:54 UTC
Permalink
con excel o simili, esiste una funzione apposita per convertire la prima
lettera di ciascuna parola in maiuscolo. In excel si chiama
maiusc.iniz(testo).



--
View this message in context: http://gis.19327.n5.nabble.com/Cambiare-formato-testo-in-JOSM-tp5779095p5779191.html
Sent from the Italy General mailing list archive at Nabble.com.
alessandro zardo
2013-09-27 15:01:37 UTC
Permalink
Lo so che in excell si può fare, ma come faccio ad importare il file osm?


________________________________
Da: Hartman <***@gmail.com>
A: talk-***@openstreetmap.org
Inviato: Venerdì 27 Settembre 2013 16:50
Oggetto: Re: [Talk-it] Cambiare formato testo in JOSM


con excel o simili, esiste una funzione apposita per convertire la prima
lettera di ciascuna parola in maiuscolo. In excel si chiama
maiusc.iniz(testo).



--
View this message in context: http://gis.19327.n5.nabble.com/Cambiare-formato-testo-in-JOSM-tp5779095p5779191.html
Sent from the Italy General mailing list archive at Nabble.com.
Groppo
2013-09-27 17:48:33 UTC
Permalink
Post by bredy
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.")
marco bra
2013-09-27 20:58:29 UTC
Permalink
Risultato... in allegato

Ciao
Post by Groppo
Post by bredy
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
http://wiki.openstreetmap.org/wiki/IT:Quality_Assurance_Tools_script/Installation
nella prima sezione: "Abilita in JOSM l'esecuzione di script esterni".
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
return Main.main.map.mapView
JOptionPane.showMessageDialog(Main.parent, "Apri dei dati, prima di
eseguire lo script.")
sys.exit(1)
mv = getMapView()
dataset = mv.editLayer.data
elements = []
elements.extend(dataset.nodes)
elements.extend(dataset.ways)
elements.extend(dataset.relations)
#For each OSM object in the dataset
tags = element.getKeys()
#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
https://lists.openstreetmap.org/listinfo/talk-it
--
Linux Infinite Freedom

I'm writing from this place:
http://www.openstreetmap.org/?lat=44.39945&lon=8.6798&zoom=15&layers=M
marco bra
2013-09-27 21:23:20 UTC
Permalink
Groppo, non ho usato il tuo script, ma l'ho provato ed e' potente,
sarebbero da discriminare alcune liste di parole... che non vanno
maiuscole... "di", "del" etc.

Ci potresti lasciare qualche riferimento disponibile in rete, che per
tua esperienza, è utile per approfondimenti...

Grazie

mcheck
Post by marco bra
Risultato... in allegato
Ciao
Post by Groppo
Post by bredy
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
http://wiki.openstreetmap.org/wiki/IT:Quality_Assurance_Tools_script/Installation
nella prima sezione: "Abilita in JOSM l'esecuzione di script esterni".
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
return Main.main.map.mapView
JOptionPane.showMessageDialog(Main.parent, "Apri dei dati, prima di
eseguire lo script.")
sys.exit(1)
mv = getMapView()
dataset = mv.editLayer.data
elements = []
elements.extend(dataset.nodes)
elements.extend(dataset.ways)
elements.extend(dataset.relations)
#For each OSM object in the dataset
tags = element.getKeys()
#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
https://lists.openstreetmap.org/listinfo/talk-it
--
Linux Infinite Freedom
http://www.openstreetmap.org/?lat=44.39945&lon=8.6798&zoom=15&layers=M
--
Linux Infinite Freedom

I'm writing from this place:
http://www.openstreetmap.org/?lat=44.39945&lon=8.6798&zoom=15&layers=M
Groppo
2013-09-28 10:13:56 UTC
Permalink
Post by marco bra
Groppo, non ho usato il tuo script, ma l'ho provato ed e' potente,
sarebbero da discriminare alcune liste di parole... che non vanno
maiuscole... "di", "del" etc.
Sì, il mio era un esempio per far vedere cosa si può fare.
Lo si può modificare/migliorare in base alle proprie esigenze.

Ad esempio, con le modifiche qui sotto (vedi "### aggiunta"), tiene conto
di alcune preposizioni ed alla fine stampa sul terminale la lista dei nomi
e le loro conversioni.


#codice script
"""
Capitalize words of "name=*" tags in 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)

#### aggiunta
prepositions = [" di ", " del ", " della ", " delle "]

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
oldName = element.get("name")
newName = oldName.title()

#### aggiunta
for prep in prepositions:
newName = newName.replace(prep.title(), prep.lower())
tags["name"] = newName

#Print names to terminal
print "%s ---> %s" % (oldName, newName)
#Update element tags
element.setKeys(tags)

JOptionPane.showMessageDialog(Main.parent, "Done.")
Martin Koppenhoefer
2013-09-28 10:28:13 UTC
Permalink
Post by marco bra
Groppo, non ho usato il tuo script, ma l'ho provato ed e' potente,
Post by marco bra
sarebbero da discriminare alcune liste di parole... che non vanno
maiuscole... "di", "del" etc.
Sì, il mio era un esempio per far vedere cosa si può fare.
Lo si può modificare/migliorare in base alle proprie esigenze.
forse sarebbe anche un bel plugin? Confermo che alle volte anche a me
sarebbe proprio servito un metodo comodo per cambiare il TUTTO MAIUSCOLO
secondo le nostre convenzioni. Qualcosa come: seleziona il contenuto del
campo nel tag-editor, click dx -> "all to UPPER case"/"all to lower
case"/"All to mixed case". Non dovrebbe essere perfetto, già dover solo
cambiare i "di", "da", "per" ecc. in minuscolo sarebbe poco rispetto a
quello che ora serve.

ciao,
Martin
Simone Cortesi
2013-09-28 20:55:25 UTC
Permalink
Post by Martin Koppenhoefer
Post by Groppo
Sì, il mio era un esempio per far vedere cosa si può fare.
Lo si può modificare/migliorare in base alle proprie esigenze.
forse sarebbe anche un bel plugin? Confermo che alle volte anche a me
sarebbe proprio servito un metodo comodo per cambiare il TUTTO MAIUSCOLO
secondo le nostre convenzioni. Qualcosa come: seleziona il contenuto del
campo nel tag-editor, click dx -> "all to UPPER case"/"all to lower
case"/"All to mixed case". Non dovrebbe essere perfetto, già dover solo
cambiare i "di", "da", "per" ecc. in minuscolo sarebbe poco rispetto a
quello che ora serve.
ho un problema.

ho usato il tuo script per correggere delle scuole erroneamente
inserite con TUTTO MAIUSCOLO, il tuo script mi effettua correttamente
le modifiche, ma al momento di fare upload, mi dice che non ci sono
modifiche da inviare al server osm.

che fare?
--
-S
Groppo
2013-09-29 09:58:31 UTC
Permalink
Post by Simone Cortesi
ho usato il tuo script per correggere delle scuole erroneamente
inserite con TUTTO MAIUSCOLO, il tuo script mi effettua correttamente
le modifiche, ma al momento di fare upload, mi dice che non ci sono
modifiche da inviare al server osm.
Sì, funzionava solo su oggetti creati ex novo.

Quello in allegato va bene anche per oggetti scaricati da OSM.
Altre modifiche:
- per sicurezza, agisce solo sugli oggetti selezionati
- alla fine mostra un messaggio con i nomi cambiati
- le modifiche si possono annullare.


Ciao,
Groppo

P.s. provando lo script ho visto che l'ultima versione di JOSM mostra un
popup (upload successful) dopo che si sono caricati i dati su OSM.
Simone Cortesi
2013-09-29 12:11:28 UTC
Permalink
Post by Groppo
Sì, funzionava solo su oggetti creati ex novo.
Quello in allegato va bene anche per oggetti scaricati da OSM.
- per sicurezza, agisce solo sugli oggetti selezionati
- alla fine mostra un messaggio con i nomi cambiati
- le modifiche si possono annullare.
perfetto!

vieni a OSMIT? birre pagate, non faremo rimanere assetato questo ragazzo.
--
-S
Groppo
2013-09-30 10:33:16 UTC
Permalink
Post by Simone Cortesi
...
vieni a OSMIT? birre pagate, non faremo rimanere assetato questo ragazzo.
Purtroppo non posso, ma salvo questo messaggio a futura memoria ;-)


Ciao,
Groppo

Continua a leggere su narkive:
Loading...