📋 API 文檔
BurnSky 燒天預測系統提供 RESTful API,讓開發者可以輕鬆整合燒天預測功能到自己的應用中。
基本資訊
- Base URL:
http://localhost:5001
- API 版本: v1
- 回應格式: JSON
- 認證: 不需要
- 速率限制: 200 請求/小時(預測類 100/小時)
🔥 核心 API 端點
GET 日落燒天預測
GET /predict/sunset?advance_hours=0
獲取日落時段的燒天預測資訊,包括評分、天氣因子和拍攝建議。
查詢參數
| 參數 |
類型 |
必需 |
說明 |
| advance_hours |
integer |
否 |
提前預測小時數 (0-48, 預設: 0) |
GET 日出燒天預測
GET /predict/sunrise?advance_hours=0
獲取日出時段的燒天預測資訊。
POST ML 燒天預測
POST /api/ml-prediction
使用機器學習模型根據自定義天氣參數進行預測。
請求 Body (JSON)
{
"cloud_coverage": 50,
"humidity": 70,
"wind_speed": 15,
"temperature": 20,
"time_of_day": 18
}
📊 數據查詢 API
GET 天氣數據
GET /api/weather
獲取當前天氣數據,包括溫度、濕度、風速等。
GET 最佳拍攝地點
GET /api/locations
獲取香港推薦的燒天拍攝地點清單。
GET 日出日落時間
GET /api/astronomy
獲取當日的日出日落時間、黃金時段等天文數據。
📸 照片相關 API
GET 照片案例
GET /api/photo-cases
獲取燒天照片案例數據庫中的記錄。
POST 照片分析
POST /api/analyze-photo
上傳照片進行 AI 分析,獲得燒天品質評分。
Content-Type: multipart/form-data
參數: photo (file), rating (int 1-10)
⚠️ 警告台 API
GET 警告台數據
GET /api/warning-dashboard-data
獲取警告台儀表板所需的統計數據和歷史記錄。
使用範例
JavaScript (Fetch API)
// 獲取日落預測
async function getSunsetPrediction() {
try {
const response = await fetch('/predict/sunset?advance_hours=0');
const data = await response.json();
console.log('燒天評分:', data.score);
console.log('建議:', data.recommendation);
} catch (error) {
console.error('API 錯誤:', error);
}
}
Python
import requests
def get_sunset_prediction():
try:
response = requests.get('http://localhost:5001/predict/sunset?advance_hours=0')
data = response.json()
return {
'score': data['score'],
'recommendation': data['recommendation']
}
except requests.RequestException as e:
print(f'API 錯誤: {e}')
return None
curl
curl -X GET "http://localhost:5001/predict/sunset?advance_hours=0"
錯誤處理
API 使用標準 HTTP 狀態碼。錯誤回應格式:
{
"error": "錯誤類型",
"message": "詳細錯誤信息"
}
支援
如有 API 使用問題或建議,請聯絡我們。