Бештар

Нусхабардории бисёркунҷаҳо дар Layer бо ёрии курсорҳои ArcPy AttributeError медиҳад: 'tuple' объекти атрибутӣ 'getValue' надорад?

Нусхабардории бисёркунҷаҳо дар Layer бо ёрии курсорҳои ArcPy AttributeError медиҳад: 'tuple' объекти атрибутӣ 'getValue' надорад?


Ман кӯшиш мекунам, ки баъзе полигонҳоро дар як қабат бо ҳамон атрибутҳо нусхабардорӣ кунам, аммо ин онҳоро бо геометрияи Null такрор мекунад, ман усули getValue () -ро санҷидаам, аммо хато кардам

import arcpy polygons_shape = "C:  temp  FinalLayers.gdb  FinalLayers  Polygons" field = ['ID', 'Comment', 'owner'] Insert = arcpy.InsertCursor (polygons_shape) ID = arcpy.da .SearchCursor (polygons_shape, '*') барои сатр дар ID: агар сатр [0]> 1: dupCount = row [0] myShape = row.getValue (shapeName) insert_row.setValue ('ID', row [0]) insert_row .setValue ('Шарҳ', сатр [1]) insert_row.setValue ('соҳиби', сатр [2]) ҳангоми dupCount> 1: Insert.insertRow (insert_row) dupCount- = 1

Хато:

myShape = row.getValue (shapeName)

AttributeError: объекти 'tuple' атрибути 'getValue' надорад


Ман посухро ёфтам

infc = arcpy.GetParameterAsText (0) repnum = arcpy.GetParameterAsText (1) gRows = arcpy.da.SearchCursor (infc, "Shape @") for sat in gRows: origpoly = row del gRows aRows = arcpy.da.InsertCor , "Shape @") for x in xrange (0, int (repnum)): aRows.insertRow (origpoly) del aRows.

якҷоя кардан бо arcpy.da.InsertCursor осонтар мебуд. Дар хотир доред, ки дар рамзи шумо арзиши сатр [1] майдони шакл мебошад.

Таҳрир: тавре ки шумо фаҳмидед, мушкилоти асосӣ аз истифодаи 2 курсор ба ҳам омадааст (ва пешниҳоди аввалини ман дар бораи истифодаи сессияи таҳрир ин ҳалли худро наёфтааст).

polygons_shape = "C:  temp  FinalLayers.gdb  FinalLayers  Polygons" майдонҳо = ('ID', 'SHAPE @', 'Comment', 'owner') ID = arcpy.da.SearchCursor (polygons_shape, майдонҳо) list_rows = [] барои сатр дар ID: агар сатр [0]> 1: list_rows.append (row) del ID Insertc = arcpy.da.InsertCursor (polygons_shape, field) for newrow in list_rows: for i in range (newrow) [0]): Insertc.insertRow (newrow) del Insertc

Сабаби ба даст овардани ин паёми хатогӣ:

AttributeError: объекти 'tuple' атрибути 'getValue' надорад

барои он аст, ки шумо синтаксиси мувофиқ барои arcpy.SearchCursor () -ро бо arcpy.da.SearchCursor () истифода мебаред.

Бо истифодаи arcpy.SearchCursor () кушодани курсор ҳар як майдонро дар синфи хусусият ҳамчун хосият ё усули объектҳои сатри он дастрас мекунад, ё бо истифодаи номҳои майдон (масалан, row.fieldX) ё усулҳои getValue ва setValue (масалан, сатр .getValue).

Инҳо барои arcpy.da.SearchCursor () дастрас нестанд, ки дар он шумо бояд нишонаҳои шаклро барои ба майдони геометрия расидан ва индекси объекти сатрро барои дастрасӣ ба арзишҳои майдони он истифода баред. сатри [0] барои майдони аввал эълоншуда ва ғ.