Document kerb generation logic with ABCDE points system in algorithm description #73
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The main algorithm documentation was missing a crucial section describing the kerb generation logic, which is an important part of the crossing generation process. This PR adds comprehensive documentation for the sophisticated ABCDE points system used to create accurate kerb positions at street crossings.
What was added
The documentation now includes a detailed section on Kerb Generation Logic (ABCDE Points System) that covers:
Point Definition System
Iterative Algorithm Details
The documentation explains how the
two_intersections_byvector_with_sidewalksmethod works:Implementation Parameters
All relevant parameters are documented with their default values:
increment_inward = 0.5m: Distance increment for center point adjustmentmax_crossings_iterations = 20: Maximum attempts to find valid crossing geometryabs_max_crossing_len = 100m: Absolute crossing length limitperc_draw_kerbs = 30%: Percentage along A-C and E-C segments for kerb placementperc_tol_crossings = 25%: Tolerance for crossing length validationWhy this matters
This documentation fills a significant gap in the algorithm description, providing developers and users with a complete understanding of how kerbs are generated. The ABCDE points system is a sophisticated part of the codebase that handles complex geometric calculations for creating realistic street crossings with proper kerb placement.
The implementation referenced is found in
osm_sidewalkreator.pyaround line 1552, where the detailed comment already outlined the ABCDE points concept, but this knowledge was not accessible in the main documentation.💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.