Parsovani vzdusneho prostoru

This commit is contained in:
Michal Kváček
2024-03-21 16:40:23 +01:00
parent 7c81069e96
commit ed35de96c9
11 changed files with 7316 additions and 15 deletions
+15
View File
@@ -2,6 +2,7 @@ from __future__ import annotations
import datetime
from typing import Set, List
from sqlalchemy import String, DateTime, ForeignKey, Text, Integer, func, Table, Column, Boolean, select, Float, Enum
from sqlalchemy.dialects.mysql import JSON
from sqlalchemy.orm import Mapped, relationship, as_declarative, mapped_column
from sqlalchemy.ext.asyncio import AsyncSession
@@ -66,6 +67,20 @@ copilot_has_photo = Table(
)
class AirspaceItem(BaseModel):
__tablename__ = "airspace_item"
id: Mapped[int] = mapped_column(primary_key=True)
country: Mapped[str] = mapped_column(String(8), nullable=False, index=True)
name: Mapped[str] = mapped_column(String(128), nullable=False, unique=True)
type: Mapped[str] = mapped_column(String(8), nullable=False, index=True)
lower_limit: Mapped[str] = mapped_column(String(32), nullable=False)
upper_limit: Mapped[str] = mapped_column(String(32), nullable=False)
center: Mapped[List[dict]] = mapped_column(JSON())
radius: Mapped[float] = mapped_column(Float, nullable=True)
bounds: Mapped[list[tuple[float, float]]] = mapped_column(JSON())
class Airport(BaseModel):
__tablename__ = "airport"