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

View File

@@ -6,7 +6,6 @@ from sqlalchemy.exc import OperationalError
Base = declarative_base()
# TODO: build license plate into car api construct and rebuild api to fit new data
# Funktion zur Herstellung einer Verbindung zur Datenbank
def db_connect():
try:
@@ -30,20 +29,23 @@ def create_table(engine):
except Exception as e:
print(f"Fehler bei der Tabellenerstellung: {e}")
# Track-Tabelle
class Track(Base):
__tablename__ = 'track'
id = Column(Integer, primary_key=True, autoincrement=True)
trackName = Column(String(200), nullable=True)
vehicle_id = Column(Integer, ForeignKey('vehicle.id'), nullable=False, default=1)
driver_id = Column(Integer, ForeignKey('driver.id'), nullable=False, default=1)
vehicle_id = Column(Integer, ForeignKey('vehicle.id'), nullable=False)
driver_id = Column(Integer, ForeignKey('driver.id'), nullable=False)
date = Column(Date, nullable=True)
distance = Column(Float, nullable=False, default=0)
speed = Column(Float, nullable=False, default=0)
driver = relationship("Driver", backref="vehicle_tracks") # 'vehicle_tracks' als backref
vehicle = relationship("Vehicle", backref="driver_tracks") # 'driver_tracks' als backref
waypoints = relationship('Waypoint', backref='track', lazy=True)
distance = Column(Float, nullable=False, default=0.0)
speed = Column(Float, nullable=False, default=0.0)
# Beziehungen
driver = relationship("Driver", back_populates="tracks", foreign_keys=[driver_id])
vehicle = relationship("Vehicle", back_populates="tracks", foreign_keys=[vehicle_id])
waypoints = relationship('Waypoint', back_populates='track', lazy=True)
# Waypoint-Tabelle
class Waypoint(Base):
__tablename__ = 'waypoint'
id = Column(Integer, primary_key=True, autoincrement=True)
@@ -54,16 +56,24 @@ class Waypoint(Base):
time = Column(DateTime, nullable=True)
track_id = Column(Integer, ForeignKey('track.id'), nullable=False)
# Beziehung zu Track
track = relationship("Track", back_populates="waypoints")
# Driver-Tabelle
class Driver(Base):
__tablename__ = 'driver'
id = Column(Integer, primary_key=True)
name = Column(String, nullable=False)
tracks = relationship("Track", back_populates="driver") # Beziehung von Track -> Driver
# Beziehung zu Tracks
tracks = relationship("Track", back_populates="driver", overlaps="vehicle_tracks")
# Vehicle-Tabelle
class Vehicle(Base):
__tablename__ = 'vehicle'
id = Column(Integer, primary_key=True)
name = Column(String, nullable=False)
tracks = relationship("Track", back_populates="vehicle") # Beziehung von Track -> Vehicle
licenseplate = Column(String, nullable=True)
# Beziehung zu Tracks
tracks = relationship("Track", back_populates="vehicle", overlaps="driver_tracks")