2016-11-16 2 views
0

J'essaie de comprendre l'intégration de python dans ARC. Mais nous ne l'apprenons pas avant le prochain semestre, mais je le vois apte à répondre à mes besoins pour mon projet. (J'ai pris le projet du second semestre en premier)ArcGIS et Python

J'essaie de prendre plusieurs conditions (bas, moyen, haut) et d'attribuer une valeur. 5 = no résultats, 4 = low, et ainsi de suite till 0 = not present. Je comprends que cela utilise une boucle while?

IE 
def Condition (field_16,field_8): 
    While field_8 == "choice0":  
      if value(or is this field_16) == "choice0" 
       return "5" 

Etc, quelqu'un peut-il me donner un pourboire?

Et puis le condition = Condition (!field_16!)

peu coincé avec python dans l'arc.

Merci!

Répondre

0

Update Cursors sont souvent utilisés à la place du calculateur de champ dans ArcGIS pour mettre à jour les valeurs des lignes. La syntaxe du curseur est généralement plus intuitive que l'interface de la calculatrice de terrain. Par exemple:

import arcpy 

fc = r'C:\path\to\your.gdb\feature_class' 

with arcpy.da.UpdateCursor(fc, ["some_value_field", "some_field_to_write_values"]) as cursor: 
    for row in cursor: 
     """ 
     note that row[0] refers to "some_value_field" 
     and row[1] refers to "some_field_to_write_values" 
     """ 
     if row[0] == "low": 
      row[1] = 4 
     elif row[0] == "no": 
      row[1] = 5 
     elif row[0] == "not present": 
      row[1] = 0 
     cursor.updateRow(row)