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

Es wird ein einzelner Wert oder ein Wörterbuch für das Feature zurückgegeben. 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, ist Folgendes zu beachten:

  • 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.
Hinweis:

Die Verwendung eines Wörterbuchs für das Schlüsselwort result wird nur mit ArcGIS Pro 2.7 oder ArcGIS Enterprise 10.9 und höher unterstützt.

SchlüsselwortparameterBeschreibung

Attribute

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

Geometrie

Bearbeitet die Geometrie. Der Wert ist ein Geometrieobjekt.

return {
    //result is a single value
    //set the attribute rule target field to 200 for $feature
    'result': 200
}
return {
    //result is a dictionary
    //set 'field1', 'field2', and the geometry for $feature
    //ArcGIS Pro 2.7 or ArcGIS Enterprise 10.9 and later
    "result": {
        "attributes": {
            "field1": 'field1', //updates field1 in the $feature 
            "field2": 11 //updates field2 in the $feature 
        },
        "geometry": Rotate($feature) //updates geometry in $feature
    }

}

errorMessage

Es wird eine benutzerdefinierte Fehlermeldung für einen Fehler während der Auswertung zurückgegeben. 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

Es werden Features markiert, 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

Der Name der Feature-Class oder Tabelle, die geändert wird. Dieser Parameter ist erforderlich.

objectIDs | globalIDs

Ein Array von Objekt-IDs oder Global-IDs, die geändert werden. Dieser Parameter ist erforderlich.

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

validationRequired

Es werden Features markiert, 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

Der Name der Feature-Class oder Tabelle, die geändert wird. Dieser Parameter ist erforderlich.

objectIDs | globalIDs

Ein Array von Objekt-IDs oder Global-IDs, die geändert werden. Dieser Parameter ist erforderlich.

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

edit

Hierbei handelt es sich um das Einfügen, Aktualisieren und Löschen von Features in angegebenen Feature-Classes. 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. Der Wert ^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

Der Name der Feature-Class oder Tabelle, die geändert wird. Dieser Parameter ist erforderlich.

adds | updates | deletes

Der Typ der Bearbeitung, die durchgeführt wird. 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

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

SchlüsselwortparameterBeschreibung

Attribute

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

Geometrie

Bearbeitet die Geometrie. Der Wert ist ein Geometrieobjekt.

associationType

Bearbeitet die Zuordnung von $feature in einem Versorgungsnetz.

Folgende Werte sind möglich:

  • Verbunden
  • container
  • Inhalt
  • structure
  • attached

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

  • junctionEdgeFrom
  • junctionEdgeTo
  • midspan

fromTerminal

Der Name des Von-Anschlusspunkts, der bearbeitet wird, wenn der "associationType" den Wert "connected", "junctionEdgeFrom" oder "junctionEdgeTo" aufweist.

toTerminal

Der Name des Zu-Anschlusspunkts, der bearbeitet wird, wenn "associationType" den Wert "connected", "junctionEdgeFrom" oder "junctionEdgeTo" aufweist.

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" den Wert "midspan" aufweist. Der Wert ist ein Prozentsatz zwischen 0 und 1.

tag

Ein Tag für ein Feature oder einen Datensatz, 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 den ^UN_Association-Wert bearbeiten. Der Wert ist eine eindeutige Zeichenfolge.

Hinweis:

Dieser Parameter wird nur mit ArcGIS Pro 2.7 oder ArcGIS Enterprise 10.9 und höher unterstützt.

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

SchlüsselwortparameterBeschreibung

fromClass

Der Name des Von-Features oder der Von-Objektklasse, das/die an der Zuordnung beteiligt ist. Dieser Parameter ist erforderlich.

fromGlobalID

Die Global-ID des Von-Features oder -Objekts. Dieser Parameter ist erforderlich.

toClass

Der Name des Zu-Features oder der Zu-Objektklasse, das/die an der Zuordnung beteiligt ist. Dieser Parameter ist erforderlich.

toGlobalID

Die Global-ID des Zu-Features oder -Objekts. Dieser Parameter ist erforderlich.

associationType

Der Typ der Zuordnung der Features in einem Versorgungsnetz. Dieser Parameter ist erforderlich.

Folgende Werte sind möglich:

  • Konnektivität
  • containment
  • attachment

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

  • junctionEdgeFrom
  • junctionEdgeTo
  • midspan

fromTerminal

Der Name des Von-Anschlusspunkts für eine Konnektivitätszuordnung.

toTerminal

Der Name des Zu-Anschlusspunkts für eine Konnektivitätszuordnung.

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" den Wert "midspan" aufweist. 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 a midspan association to the $feature
        "percentAlong": 0.5,
        "associationType": 'midspan'
    }]
}]
}
//$feature is an edge object in the utility network
//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 and create an attachment association between the new junction objects
        "adds": [{
            "fromClass": "StructureJunctionObject",
            "fromGlobalId": "jo1.globalID",
            "toClass": "StructureJunctionObject",
            "toGlobalId": "jo2.globalID",
            "associationType": "attachment"
        }]
    }]
}

Updates

Verwenden Sie dieses Schlüsselwort im edit-Wörterbuch, um Aktualisierungen für eine angegebene Feature-Class oder Tabelle durchzuführen.

SchlüsselwortparameterBeschreibung

objectID | globalID

Der Objekt-ID- oder Global-ID-Wert des Features, das bearbeitet wird. Dieser Parameter ist erforderlich.

Attribute

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

Geometrie

Bearbeitet die Geometrie. Der Wert ist ein Geometrieobjekt.

associationType

Bearbeitet die Zuordnung des Features in einem Versorgungsnetz.

Folgende Werte sind möglich:

  • Verbunden
  • container
  • Inhalt
  • structure
  • attached

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

  • junctionEdgeFrom
  • junctionEdgeTo
  • midspan

fromTerminal

Der Name des Von-Anschlusspunkts, der bearbeitet wird, wenn der "associationType" den Wert "connected", "junctionEdgeFrom" oder "junctionEdgeTo" aufweist.

toTerminal

Der Name des Zu-Anschlusspunkts, der bearbeitet wird, wenn "associationType" den Wert "connected", "junctionEdgeFrom" oder "junctionEdgeTo" aufweist.

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" den Wert "midspan" aufweist. Der Wert ist ein Prozentsatz zwischen 0 und 1.

Verwenden Sie die folgenden 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" den Wert "midspan" aufweist. 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

Verwenden Sie dieses Schlüsselwort im edit-Wörterbuch, um Löschungen für eine Feature-Class oder Tabelle durchzuführen.

SchlüsselwortparameterBeschreibung

objectID | globalID

Der Objekt-ID- oder Global-ID-Wert des Features, das gelöscht wird. Dieser Parameter ist erforderlich.

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