AnsweredAssumed Answered

problem with arcpy.da.updateCursor

Question asked by nu29lyme on Jun 20, 2014
Latest reply on Jun 20, 2014 by nu29lyme
I'm a programming-beginner and I am currently writing my first Python-Script. That's why the question is more a general (or perhaps a semantic) one. I want to write a specific ID to the attribute table of an existing shapefile. This ID is amongst others composed of the coordinates (centroid) of the shape. So I tried the following:
import arcpy   arcpy.env.workspace = "**************" outline = "***********testoutline7.shp" fields = ['SHAPE@XY']  with arcpy.da.SearchCursor(outline, fields) as cursor:       for row in cursor:             coordX = row[0][0]             if coordX < 0:                 coordX = coordX + 360             coordY = row[0][1]              print "X: {}, Y: {}".format(coordX,coordY)              #----transformation of the centroid-coordinates---#             Xrnd = round(coordX, 3)             longitude = str(Xrnd)             glimsLongitude = longitude.split('.')             Yrnd = round(coordY, 3)             latitude = str(Yrnd)             glimsLatitude = latitude.split('.')             #-----------------------------------------#              with arcpy.da.UpdateCursor(outline, "GLIMS_ID") as crsr:                 for glims in crsr:                       glims[0] = "G" + glimsLongitude[0] + glimsLongitude[1] + "E" + glimsLatitude[0] + glimsLatitude[1] + "N"                       crsr.updateRow(glims)

The problem is, that after processing there is the same ID in every polygon of the shapefile. I'm using only a test-shapefile to try it and it consists of 3 polygons. They all get the same ID in their attribut-field "GLIMS_ID". But the print-statement above on the other hand returns all the different coordinates of the different polygons. What's the mistake?
I know, the code requires a lot of revision and it is not yet beautiful. I would therefore be open-minded for every other suggestion for improvement. I also tried to vary the "position" of the last 4 lines, without success.

Thank you for your help!