CoolFace
Apppublic

mangrovedigital/tide-engine-api

sourceHugging Faceupdated 2mo agoView on Hugging Face
0likes
spots.py85 linesDownload Raw Back to engine
1"""Curated high-traffic preset spots the UI shows as quick-picks.
2
3These are the recognized launches (ramps/marinas) and the passes/crossings that
4anglers and guides actually run across the 10k Islands / Everglades coast /
5Florida Bay / Flamingo corridor -- not random points. The UI reads GET /api/spots
6and, on selection, calls /api/forecast_gps?lat=&lon= with the spot's coordinates.
7
8Coordinates are placed at the known ramp/pass; fine-tune from real GPS marks
9(Oscar's Lowrance waypoints are the exact high-traffic set).
10"""
11
12SPOTS = {
13    # --- Launches / marinas (the "can I get the boat in?" spots) ---
14    "flamingo":         {"name": "Flamingo Marina",            "kind": "ramp",
15                         "region": "Flamingo", "lat": 25.1411, "lon": -80.9250},
16    "port-of-islands":  {"name": "Port of the Islands (Faka Union)", "kind": "ramp",
17                         "region": "10k Islands", "lat": 25.9270, "lon": -81.4910},
18    "everglades-city":  {"name": "Everglades City Ramp",       "kind": "ramp",
19                         "region": "10k Islands", "lat": 25.8460, "lon": -81.3840},
20    "chokoloskee":      {"name": "Chokoloskee",                "kind": "ramp",
21                         "region": "10k Islands", "lat": 25.8130, "lon": -81.3620},
22    "goodland":         {"name": "Goodland / Calusa Island",   "kind": "ramp",
23                         "region": "10k Islands", "lat": 25.9280, "lon": -81.6450},
24    "islamorada":       {"name": "Islamorada (bayside)",       "kind": "ramp",
25                         "region": "Upper/Mid Keys", "lat": 24.9200, "lon": -80.6300},
26    "key-largo":        {"name": "Key Largo (bayside)",        "kind": "ramp",
27                         "region": "Upper/Mid Keys", "lat": 25.1000, "lon": -80.4500},
28    # --- Passes / runs / crossings (the "will I make it?" spots) ---
29    "indian-key-pass":  {"name": "Indian Key Pass",            "kind": "pass",
30                         "region": "10k Islands", "lat": 25.8180, "lon": -81.4750},
31    "lostmans":         {"name": "Lostmans River",             "kind": "pass",
32                         "region": "Everglades coast", "lat": 25.5530, "lon": -81.1650},
33    "shark-river":      {"name": "Shark River",                "kind": "pass",
34                         "region": "Everglades coast", "lat": 25.3750, "lon": -81.0200},
35    "whitewater-bay":   {"name": "Whitewater Bay",             "kind": "run",
36                         "region": "Flamingo", "lat": 25.3100, "lon": -80.9500},
37    "fl-bay-crossing":  {"name": "Florida Bay Crossing (mid)", "kind": "crossing",
38                         "region": "Florida Bay", "lat": 25.0000, "lon": -80.7500},
39    # --- Lee / Collier / Charlotte coastal ramps (additive; FWC Boat Ramp Inventory) ---
40    "ainger-creek-park-boat-ramp": {"name": "Ainger Creek Park Boat Ramp", "kind": "ramp",
41                         "region": "Charlotte County", "lat": 26.9302, "lon": -82.3362,
42                         "source": "FWC-BRI 2026-07-04"},
43    "eldred-s-marina-boat-ramp": {"name": "Eldred's Marina Boat Ramp", "kind": "ramp",
44                         "region": "Charlotte County", "lat": 26.8301, "lon": -82.2699,
45                         "source": "FWC-BRI 2026-07-04"},
46    "ponce-de-leon-park-and-public-boat-ramp-punta-gorda": {"name": "Ponce De Leon Park and Public Boat Ramp (Punta Gorda)", "kind": "ramp",
47                         "region": "Charlotte County", "lat": 26.9094, "lon": -82.095,
48                         "source": "FWC-BRI 2026-07-04"},
49    "bayview-park-public-boat-ramp-naples": {"name": "Bayview Park Public Boat Ramp (Naples)", "kind": "ramp",
50                         "region": "Collier County", "lat": 26.1028, "lon": -81.7846,
51                         "source": "FWC-BRI 2026-07-04"},
52    "caxambas-park-and-boat-ramp": {"name": "Caxambas Park And Boat Ramp", "kind": "ramp",
53                         "region": "Collier County", "lat": 25.9126, "lon": -81.7171,
54                         "source": "FWC-BRI 2026-07-04"},
55    "cocohatchee-river-park-marina": {"name": "Cocohatchee River Park Marina", "kind": "ramp",
56                         "region": "Collier County", "lat": 26.2936, "lon": -81.82,
57                         "source": "FWC-BRI 2026-07-04"},
58    "rookery-bay-natioanl-esturarine-reserach-reserve-shell-island-road-primitive-boat-launch": {"name": "Rookery Bay Natioanl Esturarine Reserach Reserve - Shell Island Road Primitive Boat Launch", "kind": "ramp",
59                         "region": "Collier County", "lat": 26.0238, "lon": -81.7341,
60                         "source": "FWC-BRI 2026-07-04"},
61    "bay-park-north-primitive-boat-ramp-limited-parking": {"name": "Bay Park North Primitive Boat Ramp (Limited Parking)", "kind": "ramp",
62                         "region": "Lee County", "lat": 26.3593, "lon": -81.8578,
63                         "source": "FWC-BRI 2026-07-04"},
64    "bocilla-island-seaport-and-fishing-pier": {"name": "Bocilla Island Seaport and Fishing Pier", "kind": "ramp",
65                         "region": "Lee County", "lat": 26.7046, "lon": -82.1642,
66                         "source": "FWC-BRI 2026-07-04"},
67    "d-d-matlacha-bait-tackle-and-ramp": {"name": "D & D Matlacha Bait, Tackle and Ramp", "kind": "ramp",
68                         "region": "Lee County", "lat": 26.64, "lon": -82.0578,
69                         "source": "FWC-BRI 2026-07-04"},
70    "frizzell-kontinos-boat-ramp-at-punta-rassa": {"name": "Frizzell-Kontinos Boat Ramp at Punta Rassa", "kind": "ramp",
71                         "region": "Lee County", "lat": 26.4846, "lon": -82.0104,
72                         "source": "FWC-BRI 2026-07-04"},
73    "pine-island-commercial-marina-weekends-and-holidays-only": {"name": "Pine Island Commercial Marina (Weekends and Holidays Only)", "kind": "ramp",
74                         "region": "Lee County", "lat": 26.5927, "lon": -82.1262,
75                         "source": "FWC-BRI 2026-07-04"},
76}
77# add ids + tz
78for _id, _s in SPOTS.items():
79    _s["id"] = _id
80    _s["tz"] = "America/New_York"
81
82
83def public(spot):
84    return {k: spot[k] for k in ("id", "name", "kind", "region", "lat", "lon", "tz")}
85