卫星农情分析技术白皮书

版本 1.0

卫星农情分析技术白皮书

1. 数据源选型

数据源 分辨率 免费 获取方式 是否适合自动化
高分一号 WFV / 六号 16m 免费开放 单位注册+人工审批+网页下载,无公开 API 否
高分二号 1m 不免费 商业渠道 否
Sentinel-2(本服务) 10m 免费开放 STAC API 编程拉取 是

Sentinel-2 由 ESA 运营,全球覆盖(含中国全境地块),5 天重访,10m 分辨率满足大田农情分析需求。

2. 数据源切换

  • 默认:Microsoft Planetary Computer,https://planetarycomputer.microsoft.com/api/stac/v1,无需注册。
  • 备选:ESA Copernicus Data Space,需免费注册 Client ID/Secret,国内访问更稳定;通过 SAT_STAC_URL 切换。
  • 国内慢时设 HTTPS_PROXY 环境变量。

3. 接口

POST /analyze

{
  "center_lng": 116.4074, "center_lat": 39.9042,
  "radius_m": 1000, "start_date": "2026-07-01", "end_date": "2026-08-19",
  "max_cloud": 20, "index": "ndvi"
}

返回:指数类型、中心/半径、最优景元数据、统计(均值/最值/标准差/有效像素)、面积(㎡/亩)、分级占比、热力图 URL。

POST /scenes(趋势扫描缺口)

列出候选影像元数据(只搜 STAC,不读波段),主系统用"候选景 − 已入库景 = 缺口"。

POST /analyze_scene(趋势增量补数据)

按景 id 直接计算目标区域指数均值,可重复调用任意次,历史影像算过一次永远有效。

4. 算法(V1)

  • 输入:中心点 + 半径,圆形区域裁剪(COG 远程 range 读取,无需下载整景)。
  • NDVI = (NIR−R)/(NIR+R);NDWI = (G−NIR)/(G+NIR)。
  • 影像按整景云量筛选(默认 ≤20%),逐像素云掩膜(SCL 波段)列为 V2 增强项。
  • 输出:统计 JSON + 伪彩热力图 PNG。

5. 部署(systemd 参考)

[Unit]
Description=Satellite Analyzer Service
After=network.target
[Service]
User=ubuntu
WorkingDirectory=/home/ubuntu/smartfarmer/satellite-analyzer
ExecStart=/home/ubuntu/smartfarmer/satellite-analyzer/.venv/bin/uvicorn app:app --host 0.0.0.0 --port 8002
Restart=always
[Install]
WantedBy=multi-user.target

6. 后续增强

  1. 支持地块边界 GeoJSON(不规则地块)。
  2. SCL 逐像素云/阴影掩膜,提升多云季节精度。
  3. 时间序列趋势、Java 侧集成(已完成)。