juftin/camply

Olympic National Park doesn't appear as a WA Recreation area

goleary opened this issue · 3 comments

Describe the bug

The output of camply recreation-areas --state WA does not include ⛰ Olympic National Park, WA (#2881).

When I run camply campgrounds --rec-area 2881
I get this output:

[2023-06-17 09:14:46] INFO     ⛰  Olympic National Park, USA (#2881) - 🏕  Fairholme Campground   (#259084)            
[2023-06-17 09:14:46] INFO     ⛰  Olympic National Park, USA (#2881) - 🏕  Staircase Campground   (#247586)            
[2023-06-17 09:14:46] INFO     ⛰  Olympic National Park, WA (#2881) - 🏕  Hoh Rainforest Campground   (#247592)        
[2023-06-17 09:14:46] INFO     ⛰  Olympic National Park, WA (#2881) - 🏕  Kalaloch   (#232464)                         
[2023-06-17 09:14:46] INFO     ⛰  Olympic National Park, WA (#2881) - 🏕  Mora Campground   (#247591)                  
[2023-06-17 09:14:46] INFO     ⛰  Olympic National Park, WA (#2881) - 🏕  Sol Duc Hot Springs Resort Campground  (#251906)

I wonder if this has something to do with the fact that some of the campgrounds report as USA despite being in Washington.

Original Camply Command (with --debug)

[2023-06-17 09:18:09] INFO     Using Camply Provider: "RecreationDotGov"
[2023-06-17 09:18:09] DEBUG    Setting up camply debugging
[2023-06-17 09:18:09] DEBUG    Camply Version: 0.24.3
[2023-06-17 09:18:09] DEBUG    Python Version: 3.10.5
[2023-06-17 09:18:09] DEBUG    Platform: win32
[2023-06-17 09:18:09] INFO     Retrieving Facility Information for Recreation Area ID: `2881`.
[2023-06-17 09:18:09] DEBUG    Starting new HTTPS connection (1): ridb.recreation.gov:443
[2023-06-17 09:18:10] DEBUG    https://ridb.recreation.gov:443 "GET
                               /api/v1/recareas/2881/facilities?full=true&offset=0 HTTP/1.1" 200 130200
...
juftin commented

🤔 not all Campgrounds provide their state in their address filed. In those situations, RecreationDotGov falls back on USA as the state

try:
facility_state = facility_object.FACILITYADDRESS[0].AddressStateCode.upper()
except (KeyError, IndexError):
facility_state = "USA"

Usually, RecDotGov will eventually update their own internal database and this issue will resolve itself.

juftin commented

Here is what is returned by the RIDB API for Fairholme Campground, you can see they don't provide us with a State. Unfortunately, without that info I can't have camply include it in the filtered state results.

Details

{
  "ACTIVITY": [
    {
      "ActivityID": 5,
      "ActivityName": "BIKING",
      "FacilityActivityDescription": "Biking",
      "FacilityActivityFeeDescription": "",
      "FacilityID": "259084"
    },
    {
      "ActivityID": 6,
      "ActivityName": "BOATING",
      "FacilityActivityDescription": "Boating",
      "FacilityActivityFeeDescription": "",
      "FacilityID": "259084"
    },
    {
      "ActivityID": 9,
      "ActivityName": "CAMPING",
      "FacilityActivityDescription": "Camping",
      "FacilityActivityFeeDescription": "",
      "FacilityID": "259084"
    },
    {
      "ActivityID": 11,
      "ActivityName": "FISHING",
      "FacilityActivityDescription": "Fishing",
      "FacilityActivityFeeDescription": "",
      "FacilityID": "259084"
    },
    {
      "ActivityID": 14,
      "ActivityName": "HIKING",
      "FacilityActivityDescription": "Hiking",
      "FacilityActivityFeeDescription": "",
      "FacilityID": "259084"
    },
    {
      "ActivityID": 104,
      "ActivityName": "PHOTOGRAPHY",
      "FacilityActivityDescription": "Photography",
      "FacilityActivityFeeDescription": "",
      "FacilityID": "259084"
    },
    {
      "ActivityID": 105,
      "ActivityName": "PADDLING",
      "FacilityActivityDescription": "Paddling",
      "FacilityActivityFeeDescription": "",
      "FacilityID": "259084"
    },
    {
      "ActivityID": 106,
      "ActivityName": "SWIMMING",
      "FacilityActivityDescription": "Swimming",
      "FacilityActivityFeeDescription": "",
      "FacilityID": "259084"
    },
    {
      "ActivityID": 100007,
      "ActivityName": "KAYAKING",
      "FacilityActivityDescription": "Kayaking",
      "FacilityActivityFeeDescription": "",
      "FacilityID": "259084"
    },
    {
      "ActivityID": 100008,
      "ActivityName": "CANOEING",
      "FacilityActivityDescription": "Canoeing",
      "FacilityActivityFeeDescription": "",
      "FacilityID": "259084"
    },
    {
      "ActivityID": 100017,
      "ActivityName": "BIRDING",
      "FacilityActivityDescription": "Birding",
      "FacilityActivityFeeDescription": "",
      "FacilityID": "259084"
    },
    {
      "ActivityID": 100019,
      "ActivityName": "WATER ACCESS",
      "FacilityActivityDescription": "Water Access",
      "FacilityActivityFeeDescription": "",
      "FacilityID": "259084"
    }
  ],
  "CAMPSITE": [],
  "EVENT": [],
  "Enabled": true,
  "FACILITYADDRESS": [],
  "FacilityAdaAccess": "",
  "FacilityDescription": "<h2>Overview</h2>\n<p>Fairholme Campground is on the reservation system during the peak season summer months, generally late May through mid to late September of each year.  </p>\n<p>The reservation season for Fairholme Campground is May 25, 2023 - September 20, 2023.  </p>\n\n<p><strong>Important changes to booking windows: </strong>To better serve visitors, Fairholme Campground will be releasing campsites in a series of three staggered block releases by loop. These block releases will be 6 months in advance, two weeks in advance, and 4 days in advance.  </p>\n\n<p><strong>•</strong> <strong>B loop campsites and the majority of the walk-to sites will be available for reservation 6 months in advance.</strong>  </p>\n<p><strong>• C loop campsites and most of the remaining walk-to sites will be available for reservations 2 weeks in advance.</strong>  </p>\n<p><strong>• A loop campsites and walk-to site 85 will be available for reservations 4 days in advance. </strong>  </p>\n\n<p>The campground may open on a first-come, first serve basis during the spring depending on weather before the reservation season.   </p>\n\n<p>Fairholme Campground is located next to Lake Crescent on the north side of the Olympic Peninsula in Olympic National Park. The campground sits in an old-growth forest surrounded by steep mountains. Fairholme Campground features walk-in lakefront campsites and several drive-in campsites that provide views of Lake Crescent. The campground is large and set amidst a peaceful forest that thrives on the region's high annual rainfall. Rain or shine, it is one of the most visited areas of the park.</p>\n<h2>Recreation</h2>\n<p>Numerous day hiking opportunities are available near the Lake Crescent area. Please follow the link to Olympic NPS page for more information - Lake Crescent Area Brochure - https://www.nps.gov/olym/planyourvisit/lake-crescent-area-brochure.htm </p>\n<p>Paddling and boating opportunities are available within minutes from the campground. Lake Crescent boat launch is located adjacent to the campground. Please follow the link to learn more - Boating - https://www.nps.gov/olym/planyourvisit/boating.htm</p>\n<p>Fairholme Olympic Discovery Trailhead is located about 2 miles west of Fairholme Campground on US Highway 101. Bicycling, road cycling, and hiking are available at this access point. Please follow the link to learn more - https://www.fs.usda.gov/recarea/olympic/recreation/bicycling/recarea/?recid=80688&actid=26</p>\n<h2>Facilities</h2>\n<p>Fairholme Campground is a large facility with 84 campsites, including walk-in lakeside campsites and one ADA accessible site. Each site has a campfire ring and picnic table. Food storage lockers are provided in some, but not all campsites. Drinking water is available at each bathroom and water spickets are also located along the trails to the walk-in campsites. There are no RV hookups at this facility, but a RV water fill station and RV septic dump station are located next to the campground where the boat launch is. Payment is required for each use of the RV septic dump station. The nearest gas station is located 17 miles west on US Highway 101 at the junction with SR 113. The nearest shower facility is Bogachiel State Park (35 miles one way) located off US Highway 101. Payment is required for use of shower facilities. Campers can purchase firewood at Fairholme General Store, Lake Crescent Lodge, and Log Cabin Resort. </p>\n<h2>Natural Features</h2>\n<p>Lake Crescent, a cold, clear, glacially carved lake, owes its existence to ice. Its azure depths, which plummet to 624 feet, were gouged by huge ice sheets thousands of years ago. As the ice retreated, it left behind a steep valley that filled with the clear blue waters of Lake Crescent. </p>\n\n<h2>Nearby Attractions</h2>\n<p>Olympic National Park has much to explore, including temperate rain forests, ocean shores, sub-alpine mountains, lakes and more. The towns of Port Angeles, Forks, and Beaver are within a 30 to 60-minute drive.  Fairholme Campground is along the shores of Lake Crescent, which is a big attraction for visitors to the park. Additionally, access to the Sol Duc Valley, with its popular Sol Duc Falls trail and Sol Duc Hotsprings Resort nearby. A moderate drive from the campground also provides access to the Marymere Falls  and Mount Storm King trails.  Fairholme Campground is a good base camp to explore Olympic National Park, as it is located between Port Angeles (Hurricane Ridge) and popular western locations such as Rialto Beach, Hoh Rainforest, and Kalaloch/Ruby Beach. </p>\n<h2>Charges & Cancellations</h2>\n<p>A $10.00 service fee will apply if you modify your reservation or change your stay dates. Cancelling your reservation prior to 11:59 pm Eastern Time two nights before your stay will incur a $10 cancellation fee. Camping reservations cancelled the day before and day of arrival incur a $10 cancellation fee and forfeit the first night's use fee</p>\n<ul>\n<li>If you need to cancel or modify your reservation after 12:00 am Eastern Time on the day of arrival you must contact campground staff.</li>\n</ul>\n<p><a href=\"https://www.recreation.gov/rules-reservation-policies\" rel=\"nofollow\">Recreation.gov Rules and Reservation Policies </a> </p>\n",
  "FacilityDirections": "<p>Fairholme lies on the west side of Lake Cresent within Olympic National Park, about a 45-minute drive from Port Angeles and a 30-minute drive from Forks. Fairholme Campground is accessed by Camp David Jr. Road, off US Highway 101. </p>\n",
  "FacilityEmail": "",
  "FacilityID": "259084",
  "FacilityLatitude": 48.07008,
  "FacilityLongitude": -123.918138,
  "FacilityMapURL": "",
  "FacilityName": "Fairholme Campground",
  "FacilityPhone": "360-565-3130",
  "FacilityReservationURL": "",
  "FacilityTypeDescription": "Campground",
  "FacilityUseFeeDescription": "\n",
  "GEOJSON": {
    "COORDINATES": [
      -123.918138,
      48.07008
    ],
    "TYPE": "Point"
  },
  "Keywords": "",
  "LINK": [
    {
      "Description": "Fairholme Campground  Official Website",
      "EntityID": "259084",
      "EntityLinkID": "10163385",
      "EntityType": "Facility",
      "LinkType": "Official Web Site",
      "Title": "Fairholme Campground  Official Website",
      "URL": "http://www.nps.gov/olym/"
    }
  ],
  "LastUpdatedDate": "2023-06-18",
  "LegacyFacilityID": "259084",
  "MEDIA": [
    {
      "Credits": "NPS Photo/J. Preston",
      "Description": "Sunrise from Fairholme Campground",
      "EmbedCode": "",
      "EntityID": "259084",
      "EntityMediaID": "10128767",
      "EntityType": "Facility",
      "Height": 1360,
      "IsGallery": true,
      "IsPreview": false,
      "IsPrimary": false,
      "MediaType": "Image",
      "Subtitle": "Sunrise from Fairholme Campground",
      "Title": "Sunrise from Fairholme Campground 01",
      "URL": "https://cdn.recreation.gov/public/2021/04/13/21/34/259084_183dc71d-a4e6-4b35-ae5c-397cdcc06c74.jpeg",
      "Width": 2048
    },
    {
      "Credits": "NPS",
      "Description": "View of trees, lake, and mountains from the boat launch",
      "EmbedCode": "",
      "EntityID": "259084",
      "EntityMediaID": "ee0b0482-5757-4221-974f-aa883cbc7e92",
      "EntityType": "Facility",
      "Height": 810,
      "IsGallery": false,
      "IsPreview": false,
      "IsPrimary": true,
      "MediaType": "Image",
      "Subtitle": "",
      "Title": "Fairholme Campground Boat Launch",
      "URL": "https://cdn.recreation.gov/public/2022/02/25/17/41/259084_f317829b-9741-40ea-aedc-8a315d2a9c85_1440.jpg",
      "Width": 1440
    },
    {
      "Credits": "NPS Photo",
      "Description": "Road that leads to boat launch and dock at Fairholme Campground",
      "EmbedCode": "",
      "EntityID": "259084",
      "EntityMediaID": "01e3ba5c-3714-4756-9e5d-7c58fb4329ee",
      "EntityType": "Facility",
      "Height": 525,
      "IsGallery": true,
      "IsPreview": false,
      "IsPrimary": false,
      "MediaType": "Image",
      "Subtitle": "",
      "Title": "Fairholme Campground",
      "URL": "https://cdn.recreation.gov/public/2022/02/25/17/45/259084_5d542667-e37a-4ee8-b103-edccfdfb3535_700.jpg",
      "Width": 700
    },
    {
      "Credits": "NPS",
      "Description": "Fairholme Campground walk-in site after significant rain in the winter",
      "EmbedCode": "",
      "EntityID": "259084",
      "EntityMediaID": "b2e4e347-c7e5-46b1-a5c9-1f4877777ff2",
      "EntityType": "Facility",
      "Height": 525,
      "IsGallery": false,
      "IsPreview": true,
      "IsPrimary": false,
      "MediaType": "Image",
      "Subtitle": "",
      "Title": "Fairholme Campground",
      "URL": "https://cdn.recreation.gov/public/2022/02/25/17/56/259084_e3aafa38-6c9e-4c5b-ac15-b81afeebcb54_700.jpg",
      "Width": 700
    },
    {
      "Credits": "NPS",
      "Description": "Fairholme Campground Map",
      "EmbedCode": "",
      "EntityID": "259084",
      "EntityMediaID": "5cc33e07-3cbe-4ad7-b52b-790efc884ce2",
      "EntityType": "Facility",
      "Height": 903,
      "IsGallery": true,
      "IsPreview": false,
      "IsPrimary": false,
      "MediaType": "Image",
      "Subtitle": "",
      "Title": "Fairholme Campground Map",
      "URL": "https://cdn.recreation.gov/public/2022/03/11/21/24/259084_fa142ebb-2e93-4228-b7e0-86c147796577_1440.jpg",
      "Width": 1440
    }
  ],
  "ORGANIZATION": [
    {
      "LastUpdatedDate": "2018-06-26",
      "OrgAbbrevName": "NPS",
      "OrgID": "128",
      "OrgImageURL": "nps.gif",
      "OrgJurisdictionType": "State",
      "OrgName": "National Park Service",
      "OrgParentID": "139",
      "OrgType": "Federal Agency",
      "OrgURLAddress": "http://www.nps.gov",
      "OrgURLText": ""
    }
  ],
  "OrgFacilityID": "80",
  "PERMITENTRANCE": [],
  "ParentOrgID": "128",
  "ParentRecAreaID": "2881",
  "RECAREA": [
    {
      "RecAreaID": "2881",
      "RecAreaName": "Olympic National Park",
      "ResourceLink": "http://localhost:3000/api/v1/recareas/2881"
    }
  ],
  "Reservable": true,
  "StayLimit": "",
  "TOUR": []
}

juftin commented

Closing the issue, RIDB is our source of truth so this doesn't work for now :(