Arcade-toepassingen in ArcGIS Pro Stel, we hebben het volgende scherm in ArcGIS Pro: Via de labelopties bestaat de mogelijkheid om een expressie toe te voegen. Zodra we de expressie $Feature.Straatnaam + + $Feature.Huisnummer opslaan, wordt in het geheugen een veld gecreëerd, die wordt gebruikt voor de labeling.
Attribute Rules ArcGIS Pro kent ook zogeheten Attribute rules. Dankzij deze rules kunnen we bewerkingen en beperkingen opleggen aan de data op het moment van creatie. Hierdoor kunnen we de data consistenter maken. Zo is het bijvoorbeeld mogelijk om attribuutwaarden automatisch te laten genereren met attribute rules. Attribute rules zijn regels die door de gebruiker of ontwikkelaar worden gedefinieerd om de gebruikerservaring tijdens het editen te verbeteren en de integriteit van de data te waarborgen. Attribute rules zijn een onderdeel van de dataset, waartegen ze zijn gemaakt en worden bij de dataset opgeslagen. Attribute rules zijn een onderdeel van de Geoprocessing van ArcGIS Pro en hierdoor ook terug te vinden in het tabblad Geoprocessing.
In het eerste voorbeeld kijken we hoe het mogelijk is om aan de hand van fieldcalculaties waarden te genereren op basis van andere attribuutwaarden. In dit voorbeeld hebben we een vlakkenlaag, en afhankelijk van de grootte van het opgevoerde vlak vullen we een attribuut, die aangeeft of dit vlak als groot of klein kan worden gezien. Hiervoor gebruiken we de volgende Arcade-expressie: if($feature['shape.stlength()']>10000,"groot","klein") In deze query kijken we naar de omtrek van het vlak. Als deze groter is dan 10.000 meter beschouwen we het als een Groot vlak. Zo niet, dan zien we het als een Klein vlak. Bij de Add Attribute Rule -tool, geven we de rule een naam een beschrijving en kiezen op welke featureclass en attribuutveld deze rule moet werken. Bij Type kiezen we voor calculation en als Triggering Event het inserten van de vlakken. Samen met de expressie is de attribute-rule gereed en geeft bij het intekenen van vlakken de volgende resultaten: In het laatste voorbeeld gaan we gebruik maken van Attribute Rules, waarbij er nu voor het Type Constraint is gekozen. In dit geval gaan we gebruik maken van attribuut constraints op basis van Arcadeexpressies. Hiermee voorkomen we dat features gecreëerd kunnen worden als ze buiten een bepaald gebied liggen, zonder dat er database constraints aangemaakt moeten worden of dat we maatwerkcode moeten schrijven.
Het grote verschil ten opzichte van de expressie die is gebruikt bij de eerdere calculation constraint is dat we nu een attribute rule maken van het type Constraint en we een errorcode en errorbeschrijving opgeven. In dit voorbeeld gebruiken we een rechthoek polygoon om Nederland heen, die we opgeven en we gaan geometrisch testen of het ingetekende vlak ligt binnen deze polygoon. Hiervoor gebruiken we de volgende expressie: // Returns the geometry of the given feature var geom = Geometry($feature); // extend om Nederland heen var extentjson = { 'xmin' : 0, 'ymin' : 300000, 'xmax' : 280000, 'ymax' : 630000, 'spatialreference' : {'wkid' : 28992} }; var ext = Extent(extentJSON); // test of het ingetekende vlak binnen Nederland valt. Within(geom, ext); Als error code geven we de waarde bijvoorbeeld 42 en als beschrijving Gebied ligt buiten Nederland.
Als we dit testen en een vlak proberen te creëren in bijvoorbeeld Duitsland krijgen we het volgende te zien: Meer informatie Deze voorbeelden laten zien wat er allemaal met Arcade kan. Het dient als inspiratiebron/startpunt voor het gebruik van Arcade binnen eigen kaarten. Handige bronnen met informatie over Arcade: De developers pagina van Arcade, Arcade playground; dit is een omgeving waarin je eenvoudig en snel je expressies kan testen en zien welke functies er tot je beschikking zijn. Handige links: ArcGIS Arcade pagina Alle functies van Arcade GitHub repository