57 lines
1.6 KiB
Python
57 lines
1.6 KiB
Python
from flask import Flask, jsonify
|
|
import math
|
|
import time
|
|
import random
|
|
|
|
app = Flask(__name__)
|
|
|
|
def generate_mock_data():
|
|
current_time = int(time.time() * 1000) # 毫秒时间戳
|
|
vehicles = []
|
|
|
|
# 生成3架飞机的数据
|
|
for i in range(3):
|
|
aircraft = {
|
|
"id": f"AIRCRAFT_{i+1}",
|
|
"type": "AIRCRAFT",
|
|
"position": {
|
|
"x": 1000 + math.sin(time.time() + i) * 500,
|
|
"y": 1000 + math.cos(time.time() + i) * 500
|
|
},
|
|
"velocity": {
|
|
"x": random.uniform(-10, 10),
|
|
"y": random.uniform(-10, 10)
|
|
},
|
|
"heading": random.uniform(0, 360),
|
|
"timestamp": current_time,
|
|
"altitude": random.uniform(100, 1000)
|
|
}
|
|
vehicles.append(aircraft)
|
|
|
|
# 生成5辆车的数据
|
|
for i in range(5):
|
|
vehicle = {
|
|
"id": f"VEHICLE_{i+1}",
|
|
"type": "VEHICLE",
|
|
"position": {
|
|
"x": 500 + math.sin(time.time() + i) * 200,
|
|
"y": 500 + math.cos(time.time() + i) * 200
|
|
},
|
|
"velocity": {
|
|
"x": random.uniform(-5, 5),
|
|
"y": random.uniform(-5, 5)
|
|
},
|
|
"heading": random.uniform(0, 360),
|
|
"timestamp": current_time,
|
|
"altitude": 0
|
|
}
|
|
vehicles.append(vehicle)
|
|
|
|
return {"vehicles": vehicles}
|
|
|
|
@app.route('/api/vehicles')
|
|
def get_vehicles():
|
|
return jsonify(generate_mock_data())
|
|
|
|
if __name__ == '__main__':
|
|
app.run(host='0.0.0.0', port=8080) |