Ciao a tutti,

avevo iniziato a scrivere la bozza di uno script di conversione parecchio tempo fa ma mi sono fermato per concludere alcuni controlli e import in Veneto. Se qualcuno vuole continuare a scriverlo è molto semplice anche senza avere grosse conoscenze di python.

-È necessario un editor di testo. Io uso Notepad++ che permette di evidenziare la struttura del codice in base alla tipologia di linguaggio indicato.

-La bozza dello script è questa:

'''
Regole per la conversione dei file SHP riguardanti l'aggiornamento del Piemonte 2015
'''

#Regole per edificato (XXXXXX_edifc_2015.shp)

def filterTags(attrs):
    if not attrs:
        return
    tags = {}

    if 'EDIFC_TY' in attrs:
if attrs['EDIFC_TY'] == 'capannone' and attrs['EDIFC_USO'] == 'industriale': #capannone industriale
             tags['building'] = 'industrial'
elif attrs['EDIFC_TY'] == 'generica' and attrs['EDIFC_USO'] == 'residenziale': #generico residenziale
             tags['building'] = 'yes'
elif attrs['EDIFC_TY'] == 'generica' and attrs['EDIFC_USO'] == 'industriale': #generico industriale
             tags['building'] = 'industrial'
elif attrs['EDIFC_TY'] == 'generica' and attrs['EDIFC_USO'] == 'sede di scuola': #edificio scolastico
             tags['building'] = 'school'
elif attrs['EDIFC_TY'] == 'generica' and attrs['EDIFC_USO'] == 'sede di ospedale': #edificio scolastico
             tags['building'] = 'hospital'
elif attrs['EDIFC_TY'] == 'generica' and attrs['EDIFC_USO'] == 'commerciale': #edificio commerciale
             tags['building'] = 'commercial'
elif attrs['EDIFC_TY'] == 'generica' and attrs['EDIFC_USO'] == 'sede clinica': #edificio sede clinica
             tags['building'] = 'yes'
             tags['amenity'] = 'clinic'

    return tags

Basta selezionare tutto e incollarlo in un documento vuoto di NP++, selezionando poi Linguaggio>P>Python per la corretta sintassi.

Come potete vedere è un semplice IF...ELSE che permette di fare controlli concatenati tramite gli operatori logici AND, OR, ecc... Prima si dichiara l'attributo/gli attributi e poi sotto i tag da appendere nel caso in cui siano rispettati altrimenti vai al successivo IF/ELSE.

È un lavoro di pazienza ma abbastanza semplice anche per i nuovi del settore. Se qualcuno è interessato può finire di scriverlo lui stesso e poi esporlo alla lista per la revisione.

Ricordo che i file per ciascun comune contengono diversi shape (edifici, edifici minori, monumenti, manufatti industriali...ecc) che vanno controllati e tradotti in script tramite il file BDTRE_DATABASE_GEOTOPOGRAFICO_2015_guida.pdf come riferimento per vari attributi della geometria.

Se serve una mano per qualche dubbio sono qua.

Ciao!

Leonardo


Il 19/10/2015 11:41, Andrea Musuruane ha scritto:
Ciao,

On Sun, Oct 18, 2015 at 11:23 PM, Marco De Nadai <m...@marcodena.it <mailto:m...@marcodena.it>> wrote:


    Salve a tutti,
    cosa ne pensate di organizzare un import degli edifici del
    piemonte
    
(http://www.geoportale2.piemonte.it/geonetworkrp/srv/ita/metadata.show?uuid=r_piemon:982e8c65-99df-4c7a-a8fe-0908fd06ad6f),
    tramite le regole di OSM
    (http://wiki.openstreetmap.org/wiki/Import/Guidelines)?


Tempo fa ero stato contattato da Leonardo/DarkSwan_Import perché stava predisponendo lo stesso import.

Aveva già script di conversione dei dati: https://wiki.openstreetmap.org/wiki/Piemonte/BDTRE-2015

Provate a contattarlo.

Io invece stavo iniziando a lavorare a uno script ogr2osm per l'import degli edifici rilasciati dalla Provincia di Biella: http://cartografia.provincia.biella.it

La qualità dei dataset mi sembra paragonabile. Probabilmente i dati piemontesi sono un vecchio import dei dati della Provincia di Biella, dato che le geometrie mi sembrano simili ma quelli della provincia mi sembrano più aggiornati.

Ciao,

Andrea



_______________________________________________
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