ich bin noch totaler Programmierneuling und habe auch eine dementsprechend (für euch sicher) banale Frage. Ich will mit einem Python-Script in ein bereits existierendes shapefile in ArcGIS 10.1 eine ID hineinschreiben, die sich u.a. aus den Koordinaten der entsprechenden Polygone zusammensetzt (GLIMS_ID). Der folgende Code ist nur ein Anfang, an dem ich wohl noch viel rumprobieren werde, aber das Problem ist, dass für jedes Polygon, das in dem shapefile existiert, die ID von einem einzigen Polygon reingeschrieben wird. Wie kann ich es bewirken, dass jedes Polygon auch seine eigene spezifische ID erhält?
Code: Alles auswählen
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)
#----Umwandlung der Centroid-Koordinaten---#
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)
Ich vermute, es geht um die letzten 4 Zeilen. Denn mit der weiter oben stehenden print-Anweisung werden mir auch alle Koordinaten von allen Polygonen ausgegeben. Ich habe schon probiert, die letzten 4 Zeilen an eine andere Position im Code zu packen, aber ohne Erfolg.
Wäre für eure Hilfe sehr dankbar!