Fix KDTree node mapping order in connect_nodes_across_graphs(#82)#101
Open
Ashu-Rajput08 wants to merge 2 commits intomllam:mainfrom
Open
Fix KDTree node mapping order in connect_nodes_across_graphs(#82)#101Ashu-Rajput08 wants to merge 2 commits intomllam:mainfrom
Ashu-Rajput08 wants to merge 2 commits intomllam:mainfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Describe your changes
This PR fixes a bug in
connect_nodes_across_graphswhere KDTree neighbour indices could be mapped to incorrect source nodes due to inconsistent node ordering.Previously, the KDTree was constructed using the insertion order of
G_source.nodes, while neighbour indices were later resolved usingsorted(G_source.nodes). Since KDTree indices are positional, this mismatch could silently produce incorrect edge assignments when the insertion order differed from the sorted order.The fix ensures that a single consistent
source_nodes_listis used both when constructing the KDTree input(xy_source)and when mapping KDTree neighbour indices back to node labels.Additionally, a regression test has been added that inserts nodes in a non-sorted order and verifies that the resulting edges match the expected nearest-neighbour mapping.
No new dependencies are required for this change.
Issue Link
Closes #82
Type of change
Checklist before requesting a review
pullwith--rebaseoption if possible).Checklist for reviewers
Each PR comes with its own improvements and flaws. The reviewer should check the following:
Author checklist after completed review
reflecting type of change (add section where missing):
Checklist for assignee