fix: gower normalization and site-based score_data return with no user data input #262
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.
Description
Code changes address issues #250 and #261
Issues Fixed
Incorrect Site Similarity:
rank_soils
returns site-based data scores even when users provide insufficient inputs. Gower's distance needs at least 2 variables - since elevation is auto-extracted, users must provide slope OR depth-to-bedrock for valid site-based data calculations.Double Normalization:
_gower_distance_row
normalizes values already normalized bygower_distances
, preventing proper soil reordering.Changes
_gower_distance_row
Test Cases
Incorrect Site Similarity: #250
Test point: {"lon": -72.68237, "lat": 41.66272}
Double Normalization: #261
Test point: : {"lon": -94.31005777, "lat": 42.63413723}
Location with Nicollet (clay loam) as top-ranked soil:
Fixes accurate soil ranking based on user data.