Accessing Subtypes via Arcade

439
2
09-12-2022 08:27 AM
IlkaPleiser1
New Contributor

Hello all,

I am in the process of creating a dictionary for a symbolization in ArcGIS Pro. The dictionary should compose a symbol from different attribute information from different subsymbols. The database model should consist of attributes, a subtype and domains.

My problem is that I don't know how to access the field name of the subtype from Arcade. I have tried all ways (e.g. Domain(features, fieldName, subtype?), DomainCode(inputFeature, fieldName, value?, subtype?), SubtypeCode(inputFeature),...). None of them works. On a trial basis, I also tried these functions in the Expression Builder in Pro. But there it can't find $Map, $Datastore and $layer. In the screenshot you can see one option I tried. It works fine on a database schema without subtypes.

I am grateful for any help.

 

// Variablen für den Typ (als Nummer)
var _taktische_formation = $feature.Typ == '0';
var _fahrzeug = $feature.Typ == '1';
var _person = $feature.Typ == '2';

 

 

0 Kudos
2 Replies
CraigWilliams
Esri Contributor

FeatureSet functions and globals (like $datastore etc) aren't available in the visualization profile for performance reasons. You can use SubtypeCode or SubtypeName to lookup info about the subtype from a feature. It's a bit unclear what exactly you're trying to do though beyond that.

0 Kudos
IlkaPleiser1
New Contributor

Hello Craig,

to specify what I'm trying to do:

I have a database model where an attribute is a subtype. The other attributes have domains. Depending on which attribute information is selected in the subtype, the domains in the other attributes adapt.

I use a stylex file and the arcade script it contains to set the rules for symbolization. This works great if I don't have an attribute with subtype. But I cannot reach an attribute with subtype via the "normal" expression

$feature.Attribute

I have also tried with SubtypeName and SubtypeCode. Maybe I had a syntax error there....

 

Is it better understandable this way?

Thanks for your help 🙂

0 Kudos