Wörterbuch-Schlüsselwörter für Attributregeln

Wörterbuch-Schlüsselwörter ermöglichen ein erweitertes Verhalten der Attributregelfunktion, z. B. die Rückgabe benutzerdefinierter Fehlermeldungen in Bedingungsanweisungen oder die Bearbeitung von Features in einer anderen Feature-Class. Bei der Erstellung von ArcGIS Arcade-Ausdrücken für Attributregeln muss der zurückgegebene Wörterbuchtyp eines der unten aufgeführten reservierten Schlüsselwörter verwenden. Um mehrere Operationen durchzuführen, erweitern Sie das Wörterbuch mit verschiedenen Schlüsselwörtern. Weitere Informationen über die Verwendung dieser Wörterbuch-Schlüsselwörter finden Sie unter Skriptausdrücke für Attributregeln – Beispiele.

Hinweis:

Stellen Sie bei der Definition der Schlüsselwortparameter "globalID" oder "globalIDs" sicher, dass der Wert in einfache Anführungszeichen gesetzt wird.

result

Bietet die Rückgabe eines einzelnen Wertes oder eines Wörterbuchs für das Feature. Sie können dieses Schlüsselwort nur mit Berechnungsregeln verwenden.

Wenn das result-Schlüsselwort für die Rückgabe eines einzelnen Wertes verwendet wird, muss in der Attributregel ein Zielfeld definiert werden, um das richtige Feld zu aktualisieren. Sie können result als Wörterbuch zurückgeben, um mehrere Felder des Features zu aktualisieren. Bei der Rückgabe von result als Wörterbuch ist das Zielfeld in der Attributregel optional. Sie können jedes zu aktualisierende Feld im Wörterbuch mit den Schlüsselwortparametern in der untenstehenden Tabelle angeben.

Wenn das Zielfeld in der Attributregel definiert ist und Sie result als Wörterbuch zurückgeben:

  • Wenn das Zielfeld im Wörterbuch enthalten ist, wird das Zielfeld mit dem im Wörterbuch definierten Wert aktualisiert.
  • Wenn das Zielfeld im Wörterbuch ausgelassen wird, wird das Zielfeld nicht geändert.
Vorsicht:

Die Schlüsselwortparameter für result in einer Attributregel werden nur mit ArcGIS Pro 2.9 oder ArcGIS Enterprise 10.9 und höher unterstützt.

SchlüsselwortparameterBeschreibung

attributes

Bearbeitet angegebene Felder. Der Wert ist ein Wörterbuch aus Paaren von Feldnamen und Attributen.

geometry

Bearbeitet die Geometrie. Der Wert ist ein Geometrieobjekt.

return {
    //result is a single value
    'result': 200
}
return {
    //result is a dictionary
    "result": {
        "attributes": {
            "field1": 'field1', //updates field1 in the $feature 
            "field2": 11 //updates field2 in the $feature 
        },
        "geometry": Rotate($feature) //updates geometry in $feature
    }

}

errorMessage

Legt eine benutzerdefinierte Fehlermeldung für einen Fehler während der Auswertung fest. Verwenden Sie das Schlüsselwort errorMessage beim Erstellen logischer Anweisungen in Arcade-Ausdrücken, um benutzerdefinierte Fehlermeldungen zurückzugeben. Beim Zurückgeben von errorMessage kann kein anderes Schlüsselwort im Wörterbuch verwendet werden. Hier sehen Sie ein Beispiel für das Zurückgeben einer benutzerdefinierten Fehlermeldung.

return {
    "errorMessage": "Error message text"
}

calculationRequired

Markiert andere Features, bei denen eine Auswertung von Regeln für Batch-Berechnungen erforderlich ist. Bei Verwendung dieses Schlüsselwortes werden die entsprechenden Features als zu berechnende Elemente markiert, indem das Attribut "Validierungsstatus" geändert wird. Dieses Schlüsselwort kann nur mit Berechnungsregeln verwendet werden und erfordert, dass die Option Von Anwendungsauswertung ausschließen auf "true" gesetzt ist. Hier sehen Sie ein Beispiel für die Markierung anderer Features als Features, die ausgewertet werden müssen.

SchlüsselwortparameterBeschreibung

className

(Erforderlich) Der Name der Feature-Class oder Tabelle, die geändert werden soll. Der Wert ist der Name der Feature-Class.

objectIDs | globalIDs

(Erforderlich) Ein Array von zu ändernden ObjectIDs oder GlobalIDs. Der Wert ist ein Array von "ObjectIDs" oder "GlobalIDs".

return {
    'calculationRequired': [{
        'classname': 'featureclass_name',
        'globalIDs': ['{8B421724-32D0-408A-A8EE-CCC2B064D52B}']
    }]
}

validationRequired

Markiert andere Features, bei denen eine Auswertung von Validierungsregeln erforderlich ist. Bei Verwendung dieses Schlüsselwortes werden die entsprechenden Features als zu validierende Elemente markiert, indem das Attribut "Validierungsstatus" geändert wird. Dieses Schlüsselwort kann nur mit Berechnungsregeln verwendet werden und erfordert, dass die Option Von Anwendungsauswertung ausschließen auf "true" gesetzt ist. Hier sehen Sie ein Beispiel für die Markierung anderer Features als Features, die ausgewertet werden müssen.

SchlüsselwortparameterBeschreibung

className

(Erforderlich) Der Name der Feature-Class oder Tabelle, die geändert werden soll. Der Wert ist der Name der Feature-Class.

objectIDs | globalIDs

(Erforderlich) Ein Array von zu ändernden ObjectIDs oder GlobalIDs. Der Wert ist ein Array von "ObjectIDs" oder "GlobalIDs".

return {
    'validationRequired': [{
        'classname': 'featureclass_name',
        'globalIDs': ['{60905A3D-9783-435D-B4C9-AA4ADA59AD32}']
    }]
}

edit

Führt das Einfügen, Aktualisieren und Löschen von Features in angegebenen Feature-Classes durch. Das Schlüsselwort edit kann nur mit Berechnungsregeln verwendet werden und erfordert, dass die Option Von Anwendungsauswertung ausschließen auf "true" festgelegt ist. Hier sehen Sie ein Beispiel für die Bearbeitung einer anderen Feature-Class.

Für ein Versorgungsnetz können Sie das Schlüsselwort edit verwenden, um die Zuordnung des $feature mithilfe des Schlüsselwortes associationType zu bearbeiten. Um eine beliebige Zuordnung im Versorgungsnetz zu bearbeiten, legen Sie den Wert className auf ^UN_Association fest. ^UN_Association ermöglicht den Zugriff auf die Tabelle der Versorgungsnetzzuordnungen. Dies erlaubt die Bearbeitung beliebiger Zuordnungen zwischen Features, wenn Sie die zugehörigen Schlüsselwortparameter für adds und updates verwenden.

Wenn Sie Zuordnungen mit dem Schlüsselwort "edit" bearbeiten, werden Versorgungsnetzregeln nicht bei der Evaluierung berücksichtigt. Die Netzwerk-Features werden im Rahmen von Netzwerk-Topologie-Tasks überprüft, z. B. bei der Aktivierung oder Überprüfung der Netzwerk-Topologie.

Weitere Informationen zu den Versorgungsnetzzuordnungen

SchlüsselwortparameterBeschreibung

className

(Erforderlich) Der Name der Feature-Class oder Tabelle, die geändert werden soll. Der Wert ist der Name der Feature-Class.

adds | updates | deletes

Der Typ der durchzuführenden Bearbeitung. Der Wert ist ein Array von Wörterbüchern mit Angaben zu den Bearbeitungen für die einzelnen Bearbeitungstypen.

Hinweis:

Erstellen Sie kein Skript, das rekursive Bearbeitungen durchführt. Wenn ein Skript für eine Bearbeitung konfiguriert wurde, die die Attributregel auslöst oder auswertet, entsteht eine Endlosschleife. Dies führt zu unbeabsichtigten Ergebnissen.

adds

Schlüsselwort zur Verwendung im edit-Wörterbuch, um Einfügungen für eine angegebene Feature-Class oder Tabelle durchzuführen.

SchlüsselwortparameterBeschreibung

attributes

Bearbeitet angegebene Felder. Der Wert ist ein Wörterbuch aus Paaren von Feldnamen und Attributen.

geometry

Bearbeitet die Geometrie. Der Wert ist ein Geometrieobjekt.

associationType

Bearbeitet die Zuordnung von $feature in einem Versorgungsnetz. Folgende Werte sind möglich:

  • connected
  • container
  • content
  • structure
  • attached

Im Folgenden sind weitere mögliche Werte für Utility Network, Version 4 und höher, angegeben:

  • junctionEdgeFrom
  • junctionEdgeTo
  • midspan

fromTerminal

Der zu bearbeitende Von-Anschlusspunkt, wenn "associationType" den Wert "connected", "junctionEdgeFrom" oder "junctionEdgeTo" aufweist. Der Wert ist der Anschlusspunktname.

toTerminal

Der zu bearbeitende Zu-Anschlusspunkt, wenn "associationType" den Wert "connected", "junctionEdgeFrom" oder "junctionEdgeTo" aufweist. Der Wert ist der Anschlusspunktname.

isContentVisible

Gibt an, ob der Inhalt für eine Containment-Zuordnung sichtbar ist. Der Wert lautet "true" oder "false".

percentAlong

Der Prozentwert entlang einer Linie oder Kante, wenn associationType "midspan" ist. Der Wert ist ein Prozentsatz zwischen 0 und 1.

tag

Legt ein Tag für ein Feature oder einen Datensatz fest, das bzw. der noch nicht erstellt wurde. Sie können auf den Tag-Wert in anderen Teilen des edit-Wörterbuchs verweisen, z. B. auf die Schlüsselwörter "fromGlobalID" oder "toGlobalID", wenn Sie ^UN_Association bearbeiten. Der Wert besteht aus einer eindeutigen Zeichenfolge.

Hinweis:

Die Verwendung des Tags wird nur mit ArcGIS Pro 2.9 oder ArcGIS Enterprise 10.9 und höher unterstützt.

Schlüsselwortparameter zum Hinzufügen einer Zuordnung, wenn für className die Option ^UN_Association festgelegt wurde.

SchlüsselwortparameterBeschreibung

fromClass

(erforderlich) Der Name des Features oder der Objektklasse, das/die an der Zuordnung beteiligt ist.

fromGlobalID

(erforderlich) Die GlobalID des Features oder Objekts.

toClass

(erforderlich) Der Name des Features oder der Objektklasse, das/die an der Zuordnung beteiligt ist.

toGlobalID

(erforderlich) Die GlobalID des Features oder Objekts.

associationType

(erforderlich) Der Typ der Zuordnung der Features in einem Versorgungsnetz. Folgende Werte sind möglich:

  • connectivity
  • containment
  • attachment

Im Folgenden sind weitere mögliche Werte für Utility Network, Version 4 und höher, angegeben:

  • junctionEdgeFrom
  • junctionEdgeTo
  • midspan

fromTerminal

Der Wert "Von-Anschlusspunkt" für eine Konnektivitätszuordnung. Der Wert ist der Anschlusspunktname.

toTerminal

Der Wert "Zu-Anschlusspunkt" für eine Konnektivitätszuordnung. Der Wert ist der Anschlusspunktname.

isContentVisible

Gibt an, ob der Inhalt für eine Containment-Zuordnung sichtbar ist. Der Wert lautet "true" oder "false".

percentAlong

Der Prozentwert entlang einer Linie oder Kante, wenn associationType "midspan" ist. Der Wert ist ein Prozentsatz zwischen 0 und 1.

return {
    'edit': [{
        'className': 'b_edit_dict',
        'adds': [{
            'attributes': {
                'field_name': 11
            },
            'geometry': Geometry({
                'x': -76.8375008,
                'y': 39.4949383,
                'spatialReference': {
                    'wkid': 4326
                }
            })
        }]
    }]
}
"edit": [{
    "className": "ElectricDistributionJunctionObject",
    "adds": [{ //adds a new Electric Distribution Junction Object and creates and midspan association to the $feature
        "percentAlong": 0.5,
        "associationType": 'midspan'
    }]
}]
}
//$feature is an edge object in the utility network
//The arcade will add two junction objects and associate them to the $feature
//The junction object with asset group 5 and asset type 1 has a terminal configuration of High/Low
return {
    "result": $feature.assetid,
    "edit": [{
        "className": "ElectricDistributionJunctionObject",
        "adds": [{
            "attributes": { //Adds a junction object
                "assetgroup": 5,
                "assettype": 1
            }, //create a connectivity association between the $feature and junction object
            "toTerminal": "High", //to the high side terminal of the junction object
            "associationType": "junctionEdgeFrom" //on the from side of the edge object
        }, {
            "attributes": { //Adds a junction object
                "assetgroup": 5,
                "assettype": 1
            }, //create a connectivity association between the $feature and junction object
            "toTerminal": "High", //to the high side terminal of the junction object
            "associationType": "junctionEdgeTo" //on the to side of the edge object
        }]
    }]
}
return { //creates two new Structure Junction Objects and creates an association between them using a tag
    "edit": [{
        //create two junction objects and identify them uniquely with a tag
        "className": "StructureJunctionObject",
        "adds": [{
            "tag": "jo1", //unique identifier for new feature in the Structure Junction Object class
            "attributes": {
                "AssetGroup": 1,
                "AssetType": 2
            }
        }, {
            "tag": "jo2", //unique identifier for new feature in the Structure Junction Object class
            "attributes": {
                "AssetGroup": 1,
                "AssetType": 2
            }
        }]
    }, {
        "className": "^UN_Association", //edit the association table create a attachment association between the new junction objects
        "adds": [{
            "fromClass": "StructureJunctionObject",
            "fromGlobalId": "jo1.globalID",
            "toClass": "StructureJunctionObject",
            "toGlobalId": "jo2.globalID",
            "associationType": "attachment"
        }]
    }]
}

updates

Schlüsselwort zur Verwendung im edit-Wörterbuch, um Löschungen für eine angegebene Feature-Class oder Tabelle durchzuführen.

SchlüsselwortparameterBeschreibung

objectID | globalID

(Erforderlich) Der Wert für "ObjectID" oder "GlobalID" eines zu bearbeitenden Features. Der Wert ist eine ObjectID oder GlobalID.

attributes

Bearbeitet angegebene Felder. Der Wert ist ein Wörterbuch aus Paaren von Feldnamen und Attributen.

geometry

Bearbeitet die Geometrie. Der Wert ist ein Geometrieobjekt.

associationType

Bearbeitet die Zuordnung des Features in einem Versorgungsnetz. Folgende Werte sind möglich:

  • connected
  • container
  • content
  • structure
  • attached

Im Folgenden sind weitere mögliche Werte für Utility Network, Version 4 und höher, angegeben:

  • junctionEdgeFrom
  • junctionEdgeTo
  • midspan

fromTerminal

Der zu bearbeitende Von-Anschlusspunkt, wenn "associationType" den Wert "connected", "junctionEdgeFrom" oder "junctionEdgeTo" aufweist. Der Wert ist der Anschlusspunktname.

toTerminal

Der zu bearbeitende Zu-Anschlusspunkt, wenn "associationType" den Wert "connected", "junctionEdgeFrom" oder "junctionEdgeTo" aufweist. Der Wert ist der Anschlusspunktname.

isContentVisible

Gibt an, ob der Inhalt für eine Containment-Zuordnung sichtbar ist. Der Wert lautet "true" oder "false".

percentAlong

Der Prozentwert entlang einer Linie oder Kante, wenn associationType "midspan" ist. Der Wert ist ein Prozentsatz zwischen 0 und 1.

Schlüsselwortparameter zum Aktualisieren einer Zuordnung, wenn für className die Option ^UN_Association festgelegt wurde.

SchlüsselwortparameterBeschreibung

isContentVisible

Gibt an, ob der Inhalt für eine Containment-Zuordnung sichtbar ist. Der Wert lautet "true" oder "false".

percentAlong

Der Prozentwert entlang einer Linie oder Kante, wenn associationType "midspan" ist. Der Wert ist ein Prozentsatz zwischen 0 und 1.

return {
    'edit': [{
        'className': 'b_edit_dict',
        'updates': [{
            'globalID': '{7EBAB596-E9DB-40D8-9756-B2EBED2500B7}',
            'attributes': {
                'field_name': 22
            }
        }]
    }]
}
return {
    "result": $feature.assetid,
    "edit": [{
        "className": "electricdistributionassembly",
        "updates": [{
            "objectID": feature_objectid,
            "associationType": 'container'
        }]
    }]
}

deletes

Schlüsselwort zur Verwendung im edit-Wörterbuch, um Löschungen für eine angegebene Feature-Class oder Tabelle durchzuführen.

SchlüsselwortparameterBeschreibung

objectID | globalID

(Erforderlich) Der Wert für "ObjectID" oder "GlobalID" eines zu bearbeitenden Features. Der Wert ist eine ObjectID oder GlobalID.

return {
    'edit': [{
        'className': 'b_edit_dict',
          'deletes': [{
            'objectID': 22
        }]
    }]
}