feat: added broken map for supporting multiple tracks (will likely get removed) and added colorless rendering for tracks in point cloud
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 47s

This commit is contained in:
2025-01-13 00:49:08 +01:00
parent 8a59bbbea7
commit df1795c0bd
11 changed files with 147263 additions and 175 deletions

51
app.py
View File

@@ -53,6 +53,18 @@ def getTrack():
if ("start" in request.args and "end" in request.args) or ("id" in request.args):
if "start" in request.args and "end" in request.args:
if "asMap" in request.args:
# get tracks by filter
start = request.args["start"]
end = request.args["end"]
# Die GeoJSON-Daten aus der Datenbank abrufen
geojson_data = gpxHandler.getTracksInTimeWithGeoData(start, end)
app.logger.debug(f"returned track {geojson_data}")
# Die GeoJSON-Daten als JSON zurückgeben
return jsonify(geojson_data)
# get tracks by filter
start = request.args["start"]
end = request.args["end"]
@@ -78,12 +90,36 @@ def getTrack():
return f"error {e}", 500
else:
try:
# gets all tracks as list
return gpxHandler.getTracks()
tracks = gpxHandler.getTracks()
if len(tracks) > 0:
# gets all tracks as list
return tracks, 200
else:
return [], 200
except Exception as e:
app.logger.debug(f"fetching all tracks failed with error {e}")
return f"error {e}", 500
@app.route("/track/meta", methods=['GET'])
@cross_origin()
def getTrackMeta():
app.logger.debug(f"found arguments {request.args}")
if "id" in request.args:
# get track by id
trackID = int(request.args["id"])
try:
app.logger.debug(f"Request args: {request.args}")
app.logger.debug(f"track id {trackID}")
track = gpxHandler.getTrackMeta(trackID)
app.logger.debug(f"returned track {track}")
return jsonify(track), 200
except Exception as e:
app.logger.debug(f"fetching track failed with error {e}")
return f"error {e}", 500
@app.route("/driver", methods=['GET', 'POST'])
@cross_origin()
@@ -103,7 +139,8 @@ def handleDriverRoute():
try:
drivers = driverHandler.getDrivers()
return drivers, 200
if len(drivers) > 0:
return drivers, 200
except Exception as e:
app.logger.debug(f"getting drivers failed with error {e}")
return "error" + " " + str(e), 500
@@ -163,11 +200,17 @@ def handleVehicleRoute():
if "name" not in data:
return "missing name", 400
licenseplate = ""
if "licensePlate" not in data:
licenseplate = "N/A"
else:
licenseplate = data["licensePlate"]
name = data["name"]
# handle creating vehicle
try:
vehicle = vehicleHandler.createVehicle(name)
vehicle = vehicleHandler.createVehicle(name, licenseplate)
return jsonify({"id": vehicle.id, "name": vehicle.name}), 200
except Exception as e: