@Federico

per tabella intendo quella prensente qui:
https://wiki.openstreetmap.org/wiki/Import/Catalogue

Per i dataset, linkerò ciascun dataset sarà processato.

"E' scoraggiato l'uso del tag source attribuito all'oggetto, mentre si
preferisce aggiungere un source ai changeset caricati."

Non mi è ben chiaro. Puoi farmi un esempio? Stai dicendo di non mettere
"source=innovapuglia" come tag a ciascun nodo che caricherò ma di usare un
"chageset=innovapuglia"?

@Andrea
Hai ragione, l'utente è quello del wiki. In ogni caso:

La mia utenza è: https://www.openstreetmap.org/user/luca%20riccardi
ma l'utente dedicato che farà l'up è:
https://www.openstreetmap.org/user/giuseppecultrera - aggiornerò in seguito
la referenza indicata nella wiki.

- Il link su OSM XML l'ho visto più volte, ma mi sembrava più per l'edit
dei dati che per un import da zero ( io andrò ad aggiungere solo i dati che
non sono presenti da OSM) quindi non mi era chiaro se l'import e l'edit
avessero formati differenti (a parte l'id negativo)

Parentesi: A proposito dell'id negativo, il valore può essere ad esempio
l'id della risorsa nel mio dataset (negativo)

-il link su csv2osm non sembra fare ciò che eseguo io, quello che faccio è
più simile a osm Conflator (
https://wiki.openstreetmap.org/wiki/OSM_Conflator), però possono essere
ottimi spunti per costruire la parte mancante sulla serializzazione dei
dati in OSM XML, grazie.

Per la conflation, magari spiego meglio un po' cosa fa il programma step by
step, così risponde ad eventuali altre domande.

I dataset presenti su dati.puglia contengono diverse info. Per ciascuna
riga (potenziale nodo) individuerò delle colonne chiave (latitudine,
longitudine, nome, id della risorsa nel dataset, referenza col portale di
origine, descrizione e categoria) che formeranno il nodo di OSM.
Esempi di categoria opere d'arte, masserie, torri, etc... Ovviamente sono
in forma testuale e bisogna individuare il tag corrispettivo in OSM (viene
affrontata dopo questa parte).

Il primo step è quello di pulizia del dataset a 360°( da dati incompleti ed
incorretti, riformattazione di dati come latitudine e longitudine). Questo
produce un CSV ripulito.

Lo script lavora su due lati:

La prima parte è quella di trasformare  un dataset in un array di oggetti
contenente solo le colonne chiave di interesse.
Essenzialmente si avvale di un file di configurazione di questo genere:

[
     {
            "label": "id",  // CHIAVE DELL'ARRAY ASSOCIATIVO DI OUTPUT
            "value": ["id", "identifier", "identificatore", "Identificativo
risorsa digitale"], // LABEL DELLA COLONNA CHE CONTERRà I VALORI
            "index": null, // ALTERNATIVA A VALUE, INDICA DIRETTAMENTE
L'INDICE DI COLONNA CHE VERRà MAPPATO IN LABEL
            "optional": false // INDICA SE è UNA COLONNA CHIAVE
OBBLIGATORIA O MENO, LO SCRIPT SI INTERROMPE NEL CASO LA COLONNA NON VIENE
INDIVIDUATA
        },...]

ad esempio, un nodo estratto:

{
'id': '187',
'name': 'Masseria Aprile',
'tipologia': 'Masseria',
'lat': '40.746586',
'lon': '17.337191',
 'descr': 'L\'istantanea in oggetto, fa parte di una più ampia raccolta di
fotografie realizzate per il progetto di censimento di 248 masserie
pugliesi avviato da Giancarlo Chielli, professore del corso in Beni
Culturali e Ambientali presso l\'Accademia di Belle Arti di Bari. Il lavoro
svolto ha dato vita al volume "Le masserie di Puglia come Bene Culturale"
in cui sono presenti alcuni scatti di masserie pugliesi tra cui questa
presa in esame. La fotografia, scattata in bianco e nero all\'interno della
masseria Aprile, si caratterizza di diversi elementi compositivi che
arricchiscono la scena. A dominare la scena il complesso di trulli della
masseria che, originariamente, avevano diverse destinazioni d\'uso.
L\'immagine, in fase di post-produzione ha subito un intervento di
"maschera di contrasto" che ha esaltato i contrasti tra i bianchi e i neri.
Tale espediente ha, infatti, reso il cielo più cupo e greve tanto da
contrapporsi fortemente al bianco candido dei trulli. La masseria Aprile,
tipico complesso rurale pugliese costruita nel 1700, sorge nel cuore della
Valle d\'Itria ai piedi di Locorotondo, comune pugliese riconosciuto tra i
borghi più belli d\'Italia. L\'intero complesso edilizio, immerso nella
campagna e circondato da uliveto e vigneto, si caratterizza da una
struttura centrale in pietra ad uso abitativo, una annessa cappella di
famiglia e una serie di trulli del XVII secolo destinati in origine al
ricovero degli animali, al deposito della legna, alla conservazione del
formaggio, del vino, del foraggio. La tenuta è stata ristrutturata nel
1992 dagli eredi proprietari seguendo i tradizionali criteri di
conservazione dei maestri trullari della zona. Oggi oltre ad essere
residenza degli stessi eredi ha perso la funzione d\'uso originaria ed è
stata trasformata in un rinomato bed and breakfast.',
 'website': '
http://www.pugliadigitallibrary.it/item.jsp?id=187&locale=it_IT-|-http://www.pugliadigitallibrary.it/item.jsp?id=186&locale=it_IT-|-http://www.pugliadigitallibrary.it/item.jsp?id=25&locale=it_IT-|-http://www.pugliadigitallibrary.it/item.jsp?id=188&locale=it_IT
'
}

il tag website contiene i riferimenti della risorsa sulla piattaforma
originale (possono essere più di uno, link separati dal separatore -|-, per
ogni link verrà creato un tag website).

Questo array di oggetti viene processato dalla seconda parte che si occupa
della creazione del file OSM XML da importare.
Essenzialmente viene dapprima controllato se il nodo non è presente su OSM
tramite overpassturbo (overpy lib di python)

La query è la seguente

(node(around:200.0,40.746586,17.337191);relation(around:200.0,40.746586,17.337191););out
body;


processo la risposta andando a individuare se tra i nodi e le relazioni vi
è un nodo col tag name che sia molto simile a quello che voglio inserire
io. Fin'ora ha funzionato bene.

Se il nodo è presente, si passa al successivo, nel caso non fosse presente
è un possibile candidato.

Il passo successivo è individuare il tag che matcha meglio il valore di
tipologia: Masseria.

Per fare ciò mi avvalgo di un dizionario ( un JSON) popolato manualmente in
questo modo.

    {
        "it_term": "Masseria",
        "en_term": "",
        "osm_tag": [
            "place=hamlet"
        ]
    }

quindi all'oggetto, viene aggiunto una ulteriore chiave contenente i tag
osm individuati.

 e nel caso non fosse presente nel dizionario?

il valore Masseria viene tradotto in inglese (usando wordreference), quindi
avvalendomi delle api di tagfinder (servizio basato su taginfo) individuo i
tag potenziali da associare ( sarà l'utente a scegliere quale) ed
eventualmente associare il tag alla tipologia per le prossime occorrenze(
in parole spicce: viene salvato nel dizionario).
I possibili tag hanno anche un riferimento alla wiki di osm, che ne spiega
il significato.

Ancora: e nel caso il servizio di match automatico non trovasse nulla o non
vi fosse traduzione?

Il nodo viene aggiunto in una coda secondaria che viene serializzata in
JSON al termine dell'esecuzione del programma, e può essere direttamente
riprocessata in seguito( nuova esecuzione dello script), andando
semplicemente ad aggiungere manualmente la tipologia nel dizionario ( che
in questo caso viene individuata).

il tutto viene rieseguito per ogni nodo nel csv ripulito... quindi
serializzato in un OSM XML ( parte mancante).

Spero di aver assolto alle vostre domande.

Luca Riccardi



<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
Mail
priva di virus. www.avast.com
<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
<#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>

Il giorno 26 gennaio 2018 12:59, Federico Cortese <cortese...@gmail.com> ha
scritto:

> 2018-01-26 12:45 GMT+01:00 Andrea Musuruane <musur...@gmail.com>:
> >
> > L'unica parte che manca è la conflation. Sarebbe interessante sapere
> come la
> > fa il tuo tool. In genere fare la conflation in modo automatico non è
> vista
> > molto bene perché spesso genera errori.
> >
>
> Concordo pienamente. Proprio per questo motivo nelle mie e-mail
> precedenti consigliavo un import manuale mediante task manager, in
> modo da poter verificare puntualmente i dati.
>
> Ciao,
> Federico
>
> _______________________________________________
> Talk-it mailing list
> Talk-it@openstreetmap.org
> https://lists.openstreetmap.org/listinfo/talk-it
>
_______________________________________________
Talk-it mailing list
Talk-it@openstreetmap.org
https://lists.openstreetmap.org/listinfo/talk-it

Rispondere a