Grazie mille Daniele!

Ora lo script funziona correttamente e ho imparato qualcosa di nuovo sulla sintassi :)

#Filtro per eliminare le geometrie non volute

def filterFeature(ogrfeature, fieldNames, reproject):
    if not ogrfeature: return

    DESCR = None

descrizione = ogrfeature.GetField('DESCR') #crea un indice di tutti i valori della colonna DESCR if descrizione in ['area incolto', 'area Seminativi', 'area arborato', 'area Frutteti', 'area Uliveti', 'area Vigneti']: #se il valore corrisponde a uno di quelli dell'IF allora elimina la geometria
            return None

    return ogrfeature

Federico bisogna aggiungere le rimanenti aree/boschi/colture all'IF e dopo puoi aggiungerlo tranquillamente al tuo script (occhio alle indentazioni), l'ho testato su un paio di riquadri.

Leonardo

Il 22/10/2015 16:00, Daniele Forsi ha scritto:
Il 22 ottobre 2015 14:41, Leonardo ha scritto:

In effetti c'è la possibilità di eliminarlo via ogr2osm, ho provato anche a
scrivere la porzione di codice per effettuare questa cancellazione. Questo
script va posto prima della porzione dedicata al tagging, quindi all'inizio
del file:

def filterFeature(ogrfeature, fieldNames, reproject):
     if not ogrfeature: return

     DESCR = None

     index = ogrfeature.GetFieldIndex('DESCR')
     if ogrfeature.GetFieldIndex('index') in ['area incolto']:
ci sono 2 errori in questa riga: usi GetFieldIndex in vece di GetField
e 'index' con gli apici invece di index, cioè dovrebbe essere:
if ogrfeature.GetField(index) in ['area incolto']:
ma a cosa serve index? Perché non elimini la riga precedente e usi solo:
if ogrfeature.GetField('DESCR') in ['area incolto']:

io userei una variabile specialmente per dare un nome più
comprensibile al campo nello shapefile:
descrizione = ogrfeature.GetField('DESCR')
if descrizione in ['area incolto']:

             return None

     return ogrfeature


_______________________________________________
Talk-it mailing list
Talk-it@openstreetmap.org
https://lists.openstreetmap.org/listinfo/talk-it

Rispondere a