尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证See what crop is growing beside the road as you drive — live 2026 satellite crop map + USDA Cropland Data Layer
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗See what's growing in the fields beside you as you drive, anywhere in the lower 48.
Static web app (no build step) plus an optional small proxy. Full-screen map. Tap Start driving and a bar across the top names the crop on your left and right from GPS position + heading, with what's coming up ~300 m ahead. Tap any field for a detail panel. The ☰ menu has the trip log, offline routes and data notes.
| Badge | Source | Meaning |
|---|---|---|
| Live (gold) | In-season Crop-type Data Layer (ICDL), 10 m, monthly Jun–Aug of the current year | This season's satellite crop map (~98% accurate for major crops by August). Gold = the field reads clearly (≥60% one crop, ≥50% farmland in the strip). |
| Was … / NEW? | ICDL vs. history | Live map disagrees with a steady multi-year cover (e.g. vineyard after 5 years of almonds). Replant or misread. |
| Mixed | ICDL | Field edge / farmstead / two crops in the strip. |
| USDA 2025 map | USDA NASS Cropland Data Layer (annual, released each Feb) | Used where the live map has a gap; headline is this year's prediction from the last 5 years (rotations, perennials). |
Both are served by George Mason University CSISS WMS endpoints (CORS-enabled):
https://cat.csiss.gmu.edu/cgi-bin/wms_cdl_icrop: layers cdl_YYYY_MM, RGB, matched to classes by colorhttps://cat.csiss.gmu.edu/cgi-bin/wms_cdlall: layers cdl_YYYY, raw class codes via FORMAT=image/tiffLayers are discovered from GetCapabilities at startup, so new monthly/annual maps are picked up automatically. Lookups read fixed 0.01° tiles (~1 km, 10 m pixels), so consecutive lookups reuse loaded tiles and identical URLs can be cached by the proxy and the offline cache.
IA 🌽 53%)State/county numbers are precomputed from the live crop map (node tools/build-regions.mjs), with gaps
filled from the latest annual map. This refreshes itself: .github/workflows/refresh-data.yml runs on the
8th of each month, rebuilds when USDA has published a newer map (tools/check-data.mjs compares against
data/meta.json), and publishes. Run it by hand from the Actions tab (with "force" to rebuild anyway). It also
opens an issue the first time USDA's national field-boundary service is back online.
share.js): Instagram-sized image of a field or your album, via the share sheet.album.js): collectible cards earned while driving, sets, rarity by national acreage, state stamps.ahead.js): route forecast ribbon, "next 10 mi" while driving; Android share target from Google Maps.parcels.js): owner/parcel from free statewide layers (WI, NC, AR, FL, CO, VT, CT; lines only for OH, IN, ND, CA, UT, NJ).proxy/server.js)Caches tiles (the upstream server has been flaky) and serves weekly USDA crop progress/condition for the
state you're in. Deploy on Render: New ▸ Blueprint ▸ this repo (render.yaml), then:
QUICKSTATS_KEY in Render (free key: https://quickstats.nass.usda.gov/api) to turn on crop progress.config.js (proxy: 'https://…onrender.com') and push.The free plan sleeps when idle; the app goes direct to the map server while it wakes. Without a proxy configured, everything except crop progress works.
The upstream server doesn't send its intermediate TLS cert. Browsers cope; Node needs
NODE_EXTRA_CA_CERTS=proxy/incommon-rsa-server-ca-2.pem (set in render.yaml).
sw.js caches the app and every lookup tile it sees. ☰ ▸ Save a route for offline geocodes the ends
(OpenStreetMap Nominatim), routes (OSRM), and downloads the live map + last 3 annual maps for a corridor
along the road (up to 400 miles). Left/right readings then work with no signal; the base map needs signal.
python3 ~/fieldsight/tools/devserver.py 5178
(No-cache static server so edits always load.) Proxy: NODE_EXTRA_CA_CERTS=proxy/incommon-rsa-server-ca-2.pem node proxy/server.js.
?sim=1 simulates a drive through central Iowa (no GPS needed)?at=42.05,-93.75 opens and inspects a specific spot (shareable)?debug exposes fsMap, fsFields, fsState in the consoleGPS needs HTTPS (or localhost).
data.js: layer discovery, proxy/direct fetching, tile grid, TIFF reader, sampling, voting, rotation prediction, tiersfields.js: field overlay (view image → despeckle → connected fields → smoothed outlines + labels, hit-testing)app.js: map (heading-up), GPS, drive strip, detail sheet, crop progress, trip log, menu, voiceoffline.js: route planning and offline downloads; sw.js: service workercdl-classes.js: CDL class codes → names/colors; config.js: proxy URLproxy/: caching proxy + USDA crop progress; render.yaml: Render blueprint