2017-06-08 6 views
-1

J'ai du code de mon instructeur mais quand je l'exécute comme script dans le modeleur, il produit une erreur. Voici une partie du code, le reste se répète mais avec des valeurs différentes pour le champ DIST. Ce code est destiné à ajouter le champ "DIST" à une classe d'entités et à le remplir en fonction des conditions du UpdateCursor.mise à jour du curseur avec arcpy pour remplir les valeurs

#Import arcpy and standard library modules 
import arcpy, sys, os 

# Get feature class from argument 
zoneArcSelect = sys.argv[1] 

# Add DIST field to input feature class 
arcpy.AddField_management(zoneArcSelect, "DIST", "SHORT") 

#get rows using update cursor and conflict selection 
rows = arcpy.UpdateCursor(zoneArcSelect,"(LZONE = 'O-L' AND RZONE = 'M-1') OR (RZONE = 'O-L' AND LZONE = 'M-1')") 

# calculate value for DIST and update row 
for row in rows: 
    row.DIST = 100 
    rows.updateRow(row) 

#get rows using update cursor and conflict selection 
rows = arcpy.UpdateCursor(zoneArcSelect,"(LZONE = 'M-1' AND RZONE = 'RPC') OR (RZONE = 'M-1' AND LZONE = 'RPC')") 

# calculate value for DIST and update row 
for row in rows: 
    row.DIST = 200 
    rows.updateRow(row) 

#get rows using update cursor and conflict selection 
rows = arcpy.UpdateCursor(zoneArcSelect,"(LZONE = 'M-1' AND RZONE = 'RM-1') OR (RZONE = 'M-1' AND LZONE = 'RM-1')") 

# calculate value for DIST and update row 
for row in rows: 
    row.DIST = 200 
    rows.updateRow(row) 
+1

Veuillez suivre la mise en forme [instructions] (https://stackoverflow.com/help/mcve) sur la façon de poser une question. – user3382203

+0

Quelle est l'erreur qu'il génère? Utilisez-vous Arc 10.1 ou plus récent? – Erica

+0

c'est une erreur de syntaxe. la version 10.3 je crois – deakin1416

Répondre

0

C'était ma faute pas les codes que lorsque j'utilisé l'outil addField dans modeleur Je ne les ai pas appeler LZONE et RZone. Donc, cela ne correspond pas au code qui a causé le problème.