-
Notifications
You must be signed in to change notification settings - Fork 12
Transportation linear referencing concept #424
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
base: dev
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds comprehensive documentation for linear referencing in the transportation theme. Linear referencing is a key concept that allows properties to apply to specific portions of road segments without splitting the geometry, which promotes shape stability and reduces unnecessary versioning.
Changes:
- Created a new dedicated documentation page explaining linear referencing concepts, calculation methods, and best practices
- Added a link to the new linear referencing page from the transportation index
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| docs/schema/concepts/by-theme/transportation/linear-referencing.mdx | New comprehensive documentation covering linear referencing concepts, calculation methods using WGS84 geodetic distance, code examples in SQL and Python, and edge cases |
| docs/schema/concepts/by-theme/transportation/index.mdx | Updated the Linear referencing section header to link to the new dedicated page |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
docs/schema/concepts/by-theme/transportation/linear-referencing.mdx
Outdated
Show resolved
Hide resolved
…g.mdx Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Rachmanin0xFF
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
a few nits
docs/schema/concepts/by-theme/transportation/linear-referencing.mdx
Outdated
Show resolved
Hide resolved
docs/schema/concepts/by-theme/transportation/linear-referencing.mdx
Outdated
Show resolved
Hide resolved
docs/schema/concepts/by-theme/transportation/linear-referencing.mdx
Outdated
Show resolved
Hide resolved
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
docs/schema/concepts/by-theme/transportation/linear-referencing.mdx
Outdated
Show resolved
Hide resolved
| ### Linear referencing | ||
| The `segment` feature type uses linear referencing to describe the properties of specific sections of a road along a road segment. To avoid splitting road segments at any and every property change, we added linear referencing, which defines how some properties apply to portions of a segment can change along a segment that is generally understood to be the same 'road'. Segment splits are then reserved for more significant intersections so that we don't have to version the entire road any time any piece of the road changes. Other than some expected challenges learning how Linear Referencing worked, we noticed that the main difficulty really arises is when people want to convert the transportation data into a routing graph. Many routing engines want the data to be split at every 'decision point' where each decision is what amounts to a connector between segments the routing engine would consider routing on (e.g. vehicle routing would eliminate sidewalks). However that decision of what segments would be considered for routing someone varies significantly by application, even within similar 'types' of routing, so we could not identify a common subset of splitting rules that would meet all or even most of the various use cases of the members, much less the community at large. | ||
| ### [Linear referencing](/schema/concepts/by-theme/transportation/linear-referencing) | ||
| The `segment` feature type uses linear referencing to describe the properties of specific sections of a road along a road segment. To avoid splitting road segments at any and every property change, we added linear referencing, which defines how properties that apply to portions of a segment can vary along that segment while it is generally understood to be the same 'road'. Segment splits are then reserved for more significant intersections so that we don't have to version the entire road any time any piece of the road changes. Other than some expected challenges learning how linear referencing worked, we noticed that the main difficulty really arises when people want to convert the transportation data into a routing graph. Many routing engines want the data to be split at every 'decision point' where each decision is what amounts to a connector between segments the routing engine would consider routing on (e.g. vehicle routing would eliminate sidewalks). However that decision of what segments would be considered for routing varies significantly by application, even within similar 'types' of routing, so we could not identify a common subset of splitting rules that would meet all or even most of the various use cases of the members, much less the community at large. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Long block of text. Start a new paragraph at "Other than some expected challenges"
| | `between` | Range along segment | `between: [0.2, 0.7]` — 20% to 70% | | ||
|
|
||
| When `between` is not provided (or is null), the attribute applies to the full segment. | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you add a note about our how we've included at and between in our bridge files?
Description
This is intended to make it clearer to consumers of Overture data how to use the transportation theme.
Reference
Testing
N/A - updated docs
Checklist
Checklist of tasks commonly-associated with schema pull requests. Please review the relevant checklists and ensure you do all the tasks that are required for the change you made.
Abut is not intended to test propertyA's validity, and you made a schema change that invalidates propertyAin that counterexample, fix the counterexample to align it with your schema change.Documentation website
Docs preview for this PR.