Select to view content in your preferred language

What is the hierarchical structure of Arcade geometry types? Are they object oriented?

03-03-2022 04:52 AM
Labels (1)
Honored Contributor

I'm a novice learning about Arcade.

From my limited experience, it seems like there is a hierarchical nature to Arcade types and subtypes.

If that’s correct, what does the hierarchical structure of geometry types look like?

- Geometry
    - Point
    - Multipoint
         - Points
    - Polyline
         - Paths
              - Points
    - Polygon
         - Rings
              - Points
    - Envelope

Also, are the types considered to be object oriented?

0 Kudos
2 Replies
Honored Contributor
0 Kudos
MVP Frequent Contributor

Are the types considered to be object oriented?

No idea how the types are implemented behind the scene, but if you take a basic interpretation of "object oriented" as

  • child class IS A subset of parent class
  • parent class defines some attributes and/or methods that get inherited by child class, so sibling classes have some similarities
  • child classes can define their own attributes and/or methods

then yes.


For Arcade, similar to the question about arcpy that you linked, the class hirarchy (the "IS A" relationship) would be

  • Geometry
    • Point
    • Mutipoint
    • Ployline
    • Polygon
    • Extent

Geometry would define the common attributes (type, hasZ, hasM, spatialReference), while the types define their own special attributes. Note that you can't use a Geometry object, but only the distinct types.


I wouldn't consider the rings and paths attributes to be part of the class hirarchy. They are components of their respective types, implementing a "HAS A" relationship (e.g. a Polyline has an array of arrays of points).

Have a great day!