示例#1
0
class Koordinat(FikspunktregisterObjekt):
    __tablename__ = "koordinat"
    sridid = Column(Integer, ForeignKey("sridtype.sridid"), nullable=False)
    srid = relationship("Srid", lazy="joined")
    sx = Column(Float)
    sy = Column(Float)
    sz = Column(Float)
    t = Column(TIMESTAMP(timezone=True), default=func.current_timestamp())
    transformeret = Column(StringEnum(Boolean),
                           nullable=False,
                           default=Boolean.FALSE)
    _fejlmeldt = Column("fejlmeldt",
                        StringEnum(Boolean),
                        nullable=False,
                        default=Boolean.FALSE)
    artskode = Column(IntEnum(Artskode), nullable=True, default=Artskode.NULL)
    x = Column(Float)
    y = Column(Float)
    z = Column(Float)
    sagseventfraid = Column(String, ForeignKey("sagsevent.id"), nullable=False)
    sagsevent = relationship("Sagsevent",
                             foreign_keys=[sagseventfraid],
                             back_populates="koordinater")
    sagseventtilid = Column(String, ForeignKey("sagsevent.id"), nullable=True)
    slettet = relationship(
        "Sagsevent",
        foreign_keys=[sagseventtilid],
        back_populates="koordinater_slettede",
    )

    punktid = Column(String(36), ForeignKey("punkt.id"), nullable=False)
    punkt = relationship("Punkt", back_populates="koordinater")
    beregninger = relationship("Beregning",
                               secondary=beregning_koordinat,
                               back_populates="koordinater")

    tidsserier = relationship(
        "Tidsserie",
        order_by="Tidsserie.objektid",
        viewonly=True,
        secondary=tidsserie_koordinat,
    )

    @property
    def fejlmeldt(self):
        return self._fejlmeldt == Boolean.TRUE

    @fejlmeldt.setter
    def fejlmeldt(self, value: Boolean):
        if value:
            self._fejlmeldt = Boolean.TRUE
        else:
            self._fejlmeldt = Boolean.FALSE
示例#2
0
class RegisteringFraObjekt(DeclarativeBase):
    # SQLALchemy knows abstract classes do not map to a table.
    # If class is not declared abstract then SQLAlchemy whines about missing table declaration.
    __abstract__ = True
    objektid = Column(Integer, primary_key=True)
    _registreringfra = Column(
        "registreringfra",
        TIMESTAMP(timezone=True),
        nullable=False,
        default=func.current_timestamp(),
    )

    @property
    def registreringfra(self):
        return self._registreringfra
示例#3
0
class Observation(FikspunktregisterObjekt):
    __tablename__ = "observation"
    id = Column(String, nullable=False, unique=True, default=fire.uuid)
    value1 = Column(Float, nullable=False)
    value2 = Column(Float)
    value3 = Column(Float)
    value4 = Column(Float)
    value5 = Column(Float)
    value6 = Column(Float)
    value7 = Column(Float)
    value8 = Column(Float)
    value9 = Column(Float)
    value10 = Column(Float)
    value11 = Column(Float)
    value12 = Column(Float)
    value13 = Column(Float)
    value14 = Column(Float)
    value15 = Column(Float)
    sagseventfraid = Column(String, ForeignKey("sagsevent.id"), nullable=False)
    sagsevent = relationship("Sagsevent",
                             foreign_keys=[sagseventfraid],
                             back_populates="observationer")
    sagseventtilid = Column(String, ForeignKey("sagsevent.id"), nullable=True)
    slettet = relationship(
        "Sagsevent",
        foreign_keys=[sagseventtilid],
        back_populates="observationer_slettede",
    )
    observationstidspunkt = Column(TIMESTAMP(timezone=True), nullable=False)
    antal = Column(Integer, nullable=False, default=1)
    gruppe = Column(Integer)
    observationstypeid = Column(
        Integer, ForeignKey("observationstype.observationstypeid"))
    observationstype = relationship("ObservationsType",
                                    back_populates="observationer",
                                    lazy="joined")
    sigtepunktid = Column(String(36), ForeignKey("punkt.id"))
    sigtepunkt = relationship("Punkt", foreign_keys=[sigtepunktid])
    opstillingspunktid = Column(String(36), ForeignKey("punkt.id"))
    opstillingspunkt = relationship("Punkt", foreign_keys=[opstillingspunktid])
    beregninger = relationship("Beregning",
                               secondary=beregning_observation,
                               back_populates="observationer")

    __mapper_args__ = {
        "polymorphic_identity": "observation",
        "polymorphic_on": observationstypeid,
    }