If I need one level of classification, (for example, fruit,meat,vegetable). I can choose either domain or subtype. Only choose one, both can do the job.


If I need 2 level of classification, for example, fruit has been deeper classified as apple, cherry, banana. Meat classified into beef, pork, chicken. I will need to use both subtype and domain at the same time together.  Subtype for top level, domain for secondary level. 



What about 3 level deep classification?You probably can't at right now until esri invent "3-dimentional-classification" component, then you can do it. 

In this example, 3rd level would be like this, apple could be fuji apple, delicious apple, gala apple. Beef could be steak, could be chunk, could be shank, loin, rib.  I will create 'apple domain' as fuji, delicous, gala. 'beef domain' as chunk, shank, loin, rib. Since FType hold subtype code, FCode hold subtype domain. Maybe I need a field named as FCode3 to hold 3rd level classification. 

But ArcPro seem doesn't have the mechanism to support 3rd dimension yet. While SQL database does support whatever dimension you like. 






1) Domain is a lookup table, it define a set of all possible legal value. Domain store in geodatabase, can be used cross multiple feature class layer.





2) Subtype only tie to a single feature layer. It is a classification of a single layer.




3) Assigne domain (lookup table for all possible value) for each subtype. Each subtype should have its own domain.







4) Now I can assign subtype and domain for each polygon in attribute table. Each subtype has its own set of legal possible value. 





Please log in or register