[Talk-it] CTR Puglia

Leonardo kinetocore86 a gmail.com
Gio 22 Ott 2015 17:20:09 UTC


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




Maggiori informazioni sulla lista Talk-it