Interface IHierarchicalFeatureModel

All Superinterfaces:
IFeatureModel, Model

public interface IHierarchicalFeatureModel extends IFeatureModel
A feature model that supports hierarchical relationships between features.

In a hierarchical feature model, features can be parents of other features and/or children of another feature. In essence, this hierarchy represents a tree-like structure with one or more root features.

Visualization considerations

LuciadCPillar will use this hierarchy to filter out features if a descendant is visible. Typical use cases for this behavior include:

  • Multi-level clustering: to prevent overlapping clusters, clusters from level N must not be visible if their children from level N+1 are visible.
  • Grid-like hierarchies: overlapping grid lines/tiles from different detail levels must not be visible simultaneously.
  • Area subdivisions: subdividing the world into, for example, countries, then provinces/states, then cities, then municipalities, without overlap
  • ...
Since:
2025.0.04
See Also:
  • Method Details

    • queryParent

      @Nullable @Nullable Long queryParent(long feature)
      Queries the parent of a feature.

      Returns null if the given feature is a root feature.

      This method is expected to be thread-safe, and it may be called from any thread. It should also be inexpensive to call, because it can be called frequently by FeatureLayer.

      Returns:
      the parent of the feature.
    • queryChildren

      @NotNull List<Long> queryChildren(long feature)
      Queries the children of a feature.

      Returns an empty list if the given feature has no children.

      This method is expected to be thread-safe, and it may be called from any thread. It should also be inexpensive to call, because it can be called frequently by FeatureLayer.

      Returns:
      the children of the feature.