OpenBeta / open-tacos

Rock climbing route catalog (openbeta.io)
https://openbeta.io
GNU Affero General Public License v3.0
115 stars 112 forks source link

Reduce child areas in USA table of content #1021

Open vnugent opened 8 months ago

vnugent commented 8 months ago

Use case

As a user I'm overwhelmed by the long list of areas under Colorado and California (the 2 states with the most climbing areas in the US). We can shorten the list by only showing the top most common ancestors.

Examples:

As you can see, the Bishop areas (aka the town Bishop, CA) is the lowest common ancestor of several highly concentrated climbing areas. We can just display "Bishop areas" in the table of content and remove the rest.

Area Path Link
Bishop areas USA/California/Sierra Eastside/Bishop Area link
Owen River Gorge USA/California/Sierra Eastside/Bishop Area/Owens River Gorge link
Happy/Sad Boulders USA/California/Sierra Eastside/Bishop Area/Volcanic Tablelands (Happy/Sad Boulders) link
Pine Creek Canyon USA/California/Sierra Eastside/Bishop Area/Pine Creek Canyon link
Buttermilk Country USA/California/Sierra Eastside/Bishop Area/Buttermilk Country link
Screenshot 2023-11-09 at 9 41 09 AM

Hints:

btmccord commented 6 months ago

I took a look at this and would like to work on it.

A Problem I Noticed

I did notice that currently the GraphQL query filters areas out that have less than 200 routes or a density less than 0.8. It seems like there are a couple problems with this.

-Density doesn't seem to be a good measure of importance. For example Yosemite NP has a density of .000004 so it is currently excluded from the California areas. There as also some areas that have a density of zero but have hundreds of climbs,

-Excluding areas with less than 200 climbs completely removes all areas in several states (like Florida) which we are specifically trying to show here.

Potential Fix

I think removing the minimum density and setting a lower total climb limit (maybe 20?) on the query would help us get to where we want when combined with the filtering suggested above.

musoke commented 6 months ago

Could you check which areas would be shown with this proposal? We also want to avoid showing too many areas or too large areas.

On Mon, Jan 1, 2024, 23:45 Blake McCord @.***> wrote:

I took a look at this and would like to work on it. A Problem I Noticed

I did notice that currently the GraphQL query filters areas out that have less than 200 routes or a density less than 0.8. It seems like there are a couple problems with this.

-Density doesn't seem to be a good measure of importance. For example Yosemite NP has a density of .000004 so it is currently excluded from the California areas. There as also some areas that have a density of zero but have hundreds of climbs,

-Excluding areas with less than 200 climbs completely removes all areas in several states (like Florida) which we are specifically trying to show here. Potential Fix

I think removing the minimum density and setting a lower total climb limit (maybe 20?) on the query would help us get to where we want when combined with the filtering suggested above.

— Reply to this email directly, view it on GitHub https://github.com/OpenBeta/open-tacos/issues/1021#issuecomment-1873640210, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD7ET7BW4OFPBBWS7X24EHLYMONF5AVCNFSM6AAAAAA7E4Y25GVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNZTGY2DAMRRGA . You are receiving this because you are subscribed to this thread.Message ID: @.***>

btmccord commented 6 months ago

Here are the areas that would show with the following changes

I have played around with these variables a bit and this seems like a good middle ground, although it still doesn't show any areas in Florida 😆

3_4if-gt-300

vnugent commented 6 months ago

I have played around with these variables a bit and this seems like a good middle ground, although it still doesn't show any areas in Florida

The density filters is a stop gap until we can reliably and accurately catalog/classify areas. For example, in the database each area has a isDestination=true | false flag to indicate whether or not an area should be listed in these types of queries. However, it requires us to go through thousands of areas and set the flag manually. (If there isn't a ticket already to set the flag on UI, we should create one).

btmccord commented 6 months ago

The density filters is a stop gap until we can reliably and accurately catalog/classify areas. For example, in the database each area has a isDestination=true | false flag to indicate whether or not an area should be listed in these types of queries. However, it requires us to go through thousands of areas and set the flag manually. (If there isn't a ticket already to set the flag on UI, we should create one).

That makes sense. So this is really just improving the stop gap.

If we just implement a level 4 ancestor cutoff (for states with more than 5 areas) here are the areas shown. This seems like an improvement for most of Colorado and Cali (although Yosemite NP/Valley is now missing) but removes all areas from most states,

Screenshot 2024-01-02 at 15-07-36 OpenBeta