from sqlalchemy import Column, Integer, Float, String, Text, DateTime from geoalchemy2 import Geometry from app.database import Base class WaterSampleData(Base): """ 灌溉水采样点数据模型 @param {int} id - 采样点ID(主键,自增) @param {str} sample_code - 样品编码 @param {str} sample_number - 样品编号 @param {float} longitude - 采样位置经度坐标(精确到小数点后六位数) @param {float} latitude - 采样位置纬度坐标(精确到小数点后六位数) @param {str} sampling_location - 采样位置描述 @param {datetime} sample_time - 采样时间 @param {str} weather - 天气状况 @param {str} container_material - 样品储存容器材质 @param {str} container_color - 样品储存容器颜色 @param {int} container_capacity - 样品储存容器容量(mL) @param {float} sampling_volume - 采样体积(mL) @param {str} sample_description - 样品状态感官描述 @param {str} water_quality - 断面水质表现 @param {str} water_environment - 断面周边环境描述 @param {str} storage_method - 保存方式 @param {float} cr_concentration - 铬(Cr)含量(μg/L) @param {float} as_concentration - 砷(As)含量(μg/L) @param {float} cd_concentration - 镉(Cd)含量(μg/L) @param {float} hg_concentration - 汞(Hg)含量(μg/L) @param {float} pb_concentration - 铅(Pb)含量(μg/L) @param {float} ph_value - 水样pH值 @param {geometry} geom - 采样点空间位置 """ __tablename__ = 'water_sampling_data' id = Column('id', Integer, primary_key=True, autoincrement=True, comment='采样点ID') sample_code = Column('sample_code', String(20), nullable=True, comment='样品编码') sample_number = Column('sample_number', String(20), nullable=True, comment='样品编号') longitude = Column('longitude', Float, nullable=True, comment='经度坐标(精确到小数点后六位数)') latitude = Column('latitude', Float, nullable=True, comment='纬度坐标(精确到小数点后六位数)') sampling_location = Column('sampling_location', String(100), nullable=True, comment='采样位置描述') sample_time = Column('sample_time', DateTime, nullable=True, comment='采样时间') weather = Column('weather', String(50), nullable=True, comment='天气状况') container_material = Column('container_material', String(50), nullable=True, comment='储存容器材质') container_color = Column('container_color', String(50), nullable=True, comment='储存容器颜色') container_capacity = Column('container_capacity', Integer, nullable=True, comment='储存容器容量(mL)') sampling_volume = Column('sampling_volume', Float, nullable=True, comment='采样体积(mL)') sample_description = Column('sample_description', Text, nullable=True, comment='样品状态感官描述') water_quality = Column('water_quality', String(100), nullable=True, comment='断面水质表现') water_environment = Column('water_environment', String(100), nullable=True, comment='断面周边环境') storage_method = Column('storage_method', Text, nullable=True, comment='保存方式') # 重金属含量字段(单位:μg/L) cr_concentration = Column('cr_concentration', Float, nullable=True, comment='铬(Cr)含量(μg/L)') as_concentration = Column('as_concentration', Float, nullable=True, comment='砷(As)含量(μg/L)') cd_concentration = Column('cd_concentration', Float, nullable=True, comment='镉(Cd)含量(μg/L)') hg_concentration = Column('hg_concentration', Float, nullable=True, comment='汞(Hg)含量(μg/L)') pb_concentration = Column('pb_concentration', Float, nullable=True, comment='铅(Pb)含量(μg/L)') ph_value = Column('ph_value', Float, nullable=True, comment='水样pH值')