Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Model API covers advanced feature relations. #53

Closed
MisterGC opened this issue Jan 15, 2024 · 1 comment · Fixed by #54
Closed

Feature Model API covers advanced feature relations. #53

MisterGC opened this issue Jan 15, 2024 · 1 comment · Fixed by #54
Assignees
Milestone

Comments

@MisterGC
Copy link
Contributor

The current implementation of our Feature Model API permits basic linking of map features by utilizing their IDs as attributes. This method is effective for simple navigational tasks, allowing users to transition between related features with ease. However, this approach is somewhat limited, as it only facilitates basic ID-based connections without considering the complex relationships that can exist between map features.

We need to enhance the Feature Model API to encompass a broader range of feature relations. The revised API should enable defining relations that go beyond mere ID linking, allowing for associations based on specific segments or characteristics of other features. For instance, it should support scenarios like "Feature A is related to Feature B (e.g. visible from), but this relation is valid only within a particular section of Feature B's geometry."

Some additional thoughts/ideas:

How would we model "Feature A, a public park, is related to Feature B, a residential area, because they share a characteristic of being in a 'low-pollution zone.'” - should it be covered by relations too? The key difference is to the previous example is that this about grouping.

@josephbirkner
Copy link
Contributor

To solve this, the feature will be amended with an additional relation collection. A relation consists of:

  • A relation type (visibleFrom, connectedTo, has, belongsTo, ADJACENT_LEFT...).
  • Optional source validity geometry.
  • Optional destination validity geometry.
  • An optional destination feature id.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants