[PYTHON] Fügen Sie mit ArcPy Felder zu Features hinzu

Python-Code

AddField.py


import arcpy

#Überprüfen Sie die Eingabeparameter
arcpy.AddMessage("GetArgumentCount() = {0}".format(arcpy.GetArgumentCount()))
for i in range(arcpy.GetArgumentCount()):  
    arcpy.AddMessage("type(GetParameter({0})) = {1}".format(i, type(arcpy.GetParameter(i))))
    arcpy.AddMessage("GetParameterAsText({0}) = {1}".format(i, arcpy.GetParameterAsText(i)))

inFeatureLayer = arcpy.GetParameter(0)
outFeatureClass = arcpy.GetParameter(1)

#Feature-Layer kopieren
arcpy.CopyFeatures_management(inFeatureLayer, outFeatureClass)

#Feld hinzufügen
arcpy.AddField_management(outFeatureClass, "field1", "DOUBLE", field_alias = "Feld 1")
arcpy.AddField_management(outFeatureClass, "field2", "DOUBLE", field_alias = "Feld 2")

fields = ["OID@", "SHAPE@X", "SHAPE@Y", "field1", "field2"]

#Geben Sie einen Wert in das Feld ein
with arcpy.da.UpdateCursor(outFeatureClass, fields) as cursor:
    arcpy.AddMessage("Feld vor der Eingabe")
    for row in cursor:
        arcpy.AddMessage(row)
        row[3] = row[1]
        row[4] = row[2]
        cursor.updateRow(row)
del cursor

#Überprüfen Sie den Status nach der Eingabe
with arcpy.da.SearchCursor(outFeatureClass, fields) as cursor:
    arcpy.AddMessage("Feld nach Eingabe")
    for row in cursor:
        arcpy.AddMessage(row)
del cursor

Ausführungsergebnis

Bei Ausführung als Eingabe mit einem Feature-Layer, der zwei Polygone enthält.

2020-01-12-20-40-12.png

GetArgumentCount() = 2
type(GetParameter(0)) = <class 'arcpy._mp.Layer'>
GetParameterAsText(0) =Polygon testen
type(GetParameter(1)) = <class 'geoprocessing value object'>
GetParameterAsText(1) = D:\GIS\ArcGIS_Project\GeometryTest\GeometryTest.gdb\Polygon testen_AddField
Feld vor der Eingabe
[1, 134.32332180386206, 30.338120870687362, None, None]
[2, 144.42135929631993, 39.08930527833865, None, None]
Feld nach Eingabe
[1, 134.32332180386206, 30.338120870687362, 134.32332180386206, 30.338120870687362]
[2, 144.42135929631993, 39.08930527833865, 144.42135929631993, 39.08930527833865]

2020-01-12-20-40-50.png

Referenz

Recommended Posts

Fügen Sie mit ArcPy Felder zu Features hinzu
So fügen Sie ein Paket mit PyCharm hinzu
Konvertieren Sie Zeichenketten mit RoBERTa in Merkmalsmengen
Fügen Sie mit Pythonista Bilder zu iOS-Fotos hinzu
Fügen Sie Bildern mit Python2.7 Gaußsches Rauschen hinzu
Fügen Sie einem leeren Array mit numpy Zeilen hinzu
Kernel hinzufügen / entfernen, um Jupyter mit venv zu verwenden
Faltung zu MNIST hinzufügen
Fügen Sie dem Verwaltungsbildschirm mit django-import-export die CSV-Exportfunktion hinzu
So fügen Sie HDA Hilfe hinzu (mit Python-Skriptbonus)
Konvertieren Sie 202003 bis 2020-03 mit Pandas
Fügen Sie mit Matplotlib Informationen am unteren Rand der Abbildung hinzu
Fügen Sie einfach den Treiber mit dem Mixer zum Formschlüssel hinzu
Zugriff auf Wörterbuchfelder
Fügen Sie Videos mit OpenCV + Python einen gefälschten Tilt-Shift-Effekt hinzu
Die übliche Art, einen Kernel mit Jupyter Notebook hinzuzufügen
[Memo muss hinzugefügt werden] Seite, die bei der Entwicklung mit GAE / P angezeigt wird
Versuchen Sie, Merkmale von Sensordaten mit CNN zu extrahieren
Hinzufügen / Entfernen des Kernels zu JupyterLab
Fügen Sie MeCab ein Wörterbuch hinzu
Stellen Sie mit Python eine Verbindung zu Wikipedia her
Post to Slack mit Python 3
Stellen Sie mit GO eine Verbindung zu Postgresql her
Seitenzahl zu PDF hinzufügen
Einführung in RDB mit sqlalchemy Ⅰ
Machen Sie es mit der Syntax einfach
Wie aktualisiere ich mit SQLAlchemy?
Um gym_torcs mit ubutnu16 auszuführen
Wie man mit Theano besetzt
Wie mit SQLAlchemy ändern?
Schalten Sie Python mit Alternativen auf 2.7 um
Schreiben Sie mit Python in csv
So trennen Sie Zeichenfolgen mit ','
Holen Sie sich Bildfunktionen mit OpenCV
Wie man RDP auf Fedora31 macht
2 Möglichkeiten, mit SessionNotCreatedException umzugehen
Wie lösche ich mit SQLAlchemy?
Fügen Sie MeCab ein Benutzerwörterbuch hinzu
[Hugo] Zusammenfassung zum Hinzufügen von Seiten zu der mit Learn erstellten Site
Fügen Sie Benutzer mit SSH-Zugriff zu Ihrer Amazon EC2 Linux-Instanz hinzu