
CougarMap
io.github.bryantclarkv0.1.0更新於 Oct 2, 2026
Find trail-camera spots for mountain lions from free public map data, ranked and explained.
概覽
CougarMap 利用免費公開地圖資料,為美洲獅(山獅)推薦可步行抵達的相機點位並說明評分理由。
- 功能
- CougarMap 接受一個座標或城鎮名稱,讀取免費公開地圖資料中的地形資訊,為美洲獅的相機點位評分。它會排出可步行抵達的點位,提供 0 到 100 的分數、淺顯易懂的理由、步行距離與時間、土地歸屬和座標,並輸出帶有排序標記、路線與氣流圖層的 Google Earth 地圖。hotspots 指令可篩選某地周邊 25 公里範圍,validate 指令則可用相機、雪地足跡與道路調查的野外紀錄檢驗地圖。
- 適用情境
- 當你需要在美國為美洲獅挑選架設相機的地點,或想圍繞某個城鎮篩選有潛力的地形時使用。它針對內陸西北部乾燥針葉林山區調校,也能列出私有土地上的點位,方便查看自己的土地。
- 執行需求
- 以本機命令列工具執行,透過 uvx 或 uv tool install 安裝(uv 自帶 Python 3.12),支援 Mac、Linux 與 Windows。需要網路連線以下載公開高程、地圖、天氣與積雪資料,並需要 Google Earth Pro(免費)檢視輸出地圖。未宣告任何帳號、API 金鑰或環境變數;資料預設存放在 ~/Documents/CougarMap/my-data,可用 COUGARMAP_HOME 更改。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 CougarMap,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
CougarMap
CougarMap finds where to put a trail camera for mountain lions (cougars). Give it a place and it reads the terrain from free public map data. It ranks camera spots you can walk to and explains why each one is good. The results come as a Google Earth map.
It works anywhere in the United States. It was built and tuned in the dry conifer mountains of the inland Northwest.
Quick start
1. Install. On a Mac or Linux, in a terminal:
On Windows, in PowerShell:
It installs uv (which brings its own Python) if you don't have it, installs
CougarMap, and connects it to the AI apps it finds (step 3). Run it again any time to update. Then open a new
terminal window so the cougarmap command is found.
- Already have uv?
uv tool install --python 3.12 cougarmapinstalls just the command. - No terminal? Download
CougarMap-installer.zipfrom the latest release and double-click the installer in it.
2. Find camera spots around a coordinate. Give latitude and longitude the way Google Maps copies them. Optionally use the --radius-km flag to set a radius size.
The first run in a new place takes a few minutes, mostly downloading elevation and map data. Later runs take under a minute. When it finishes, it prints the best spots and a link to the map, and opens the map in Google Earth Pro (free).
To search a whole region around a town instead, use hotspots. It screens a 25 km circle and analyzes the
most promising blocks:
3. Use it from your AI assistant. The installer already connected CougarMap to the AI apps it found on your
computer: Claude, Codex, Gemini CLI, Antigravity or Cursor. Restart the app, then ask "find me cougar camera
spots near Missoula, MT". If you installed with uv tool install, or added an app later, run:
What you get
For each spot:
- a score from 0 to 100 (60 or more is strong);
- the reasons in plain English, for example "downwind end of a meadow edge, where cold air draining down the valley meets the prevailing wind";
- the walk from the nearest road that is open that month, with distance and time;
- the land it sits on (national forest, state land and so on), and its coordinates.
The Google Earth map has the ranked pins (click one for its reasons), walking routes, dawn and dusk air-flow arrows, saddles, and a layer for each factor you can switch on and off.
The ranked spots are on public land within 1 mile of walking from a road open that month. Private land is
scored the same way and its best spots are found too, but kept apart: they're listed separately (P1, P2...) and
sit in map layers that start switched off. Tick "Private land spots" in Google Earth to see them, for example to
scan your own property, and get landowner permission before using one. --max-walk-miles and --month change
the other defaults.
How it picks spots
CougarMap stacks four things lions use. The more of them at one spot, the better the spot:
- Wind. Lions hunt into the wind at dawn and dusk. The best ground is where cold air draining down a valley flows the same way as the prevailing wind on high-pressure days.
- Edges. Timber cover next to a meadow, clearcut or burn, where a lion can watch prey in the open. The most downwind end of an opening is best.
- Pinch points. Saddles, the base of cliffs, stream banks and natural funnels where travel concentrates.
- Limited water. Springs, seeps, seasonal water and small ponds. Water counts most when it is the only water for a mile.
It also favors natural travel lines such as drainage bottoms and ridge crossings. In winter it adds low, sun-facing ground with shallow snow, where deer spend the winter. It avoids paved roads, towns, trailheads and campgrounds. docs/HOW_IT_WORKS.md has the details.
What it can't see: the wind is modeled from weather history, not measured on the ground. Prey isn't modeled.
Small springs and seeps are often missing from maps. If you know of water the maps miss, pin it in Google Earth
and import the file (cougarmap import-kml my-pins.kml): your pins count as water. Some parks and state land
restrict trail cameras, so check with whoever manages the land.
Testing it against real lions
The map is only as good as what it catches. CougarMap keeps a field log of cameras, camera checks, snow tracks
and road surveys. cougarmap validate <area> tests the map against what you logged, with honest sample sizes.
docs/FIELD_PROTOCOL.md explains what to record in plain language.
Privacy
Everything runs on your computer. CougarMap only downloads public map data (USGS, the Forest Service,
OpenStreetMap, weather and snow data). Your Google Earth files, camera locations and field log stay in
~/Documents/CougarMap/my-data (set COUGARMAP_HOME to move it) and are never uploaded.
More
- docs/USAGE.md: every command, the AI app setup, output files, and the data sources.
- docs/HOW_IT_WORKS.md: the scoring model, term by term.
- docs/VALIDATION.md: how the model is tested and what the tests show.
- docs/experiments/: what we tried, what worked, and what didn't.
- docs/DEVELOPING.md: working on the code.
License
MIT; see LICENSE. Data downloaded at run time keeps its own terms (OpenStreetMap is ODbL; the Olympic Cougar Project GPS data used only by the validation check is CC BY-NC 4.0).
來源:README.md,提交 f85ad58
工具
0版本歷史
1- v0.1.0最新Oct 2, 2026

