water_sample.py 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. from sqlalchemy import Column, Integer, Float, String, Text, DateTime
  2. from geoalchemy2 import Geometry
  3. from app.database import Base
  4. class WaterSampleData(Base):
  5. """
  6. 灌溉水采样点数据模型
  7. @param {int} id - 采样点ID(主键,自增)
  8. @param {str} sample_code - 样品编码
  9. @param {str} sample_number - 样品编号
  10. @param {float} longitude - 采样位置经度坐标(精确到小数点后六位数)
  11. @param {float} latitude - 采样位置纬度坐标(精确到小数点后六位数)
  12. @param {str} sampling_location - 采样位置描述
  13. @param {datetime} sample_time - 采样时间
  14. @param {str} weather - 天气状况
  15. @param {str} container_material - 样品储存容器材质
  16. @param {str} container_color - 样品储存容器颜色
  17. @param {int} container_capacity - 样品储存容器容量(mL)
  18. @param {float} sampling_volume - 采样体积(mL)
  19. @param {str} sample_description - 样品状态感官描述
  20. @param {str} water_quality - 断面水质表现
  21. @param {str} water_environment - 断面周边环境描述
  22. @param {str} storage_method - 保存方式
  23. @param {float} cr_concentration - 铬(Cr)含量(μg/L)
  24. @param {float} as_concentration - 砷(As)含量(μg/L)
  25. @param {float} cd_concentration - 镉(Cd)含量(μg/L)
  26. @param {float} hg_concentration - 汞(Hg)含量(μg/L)
  27. @param {float} pb_concentration - 铅(Pb)含量(μg/L)
  28. @param {float} ph_value - 水样pH值
  29. @param {geometry} geom - 采样点空间位置
  30. """
  31. __tablename__ = 'water_sampling_data'
  32. id = Column('id', Integer, primary_key=True, autoincrement=True, comment='采样点ID')
  33. sample_code = Column('sample_code', String(20), nullable=True, comment='样品编码')
  34. sample_number = Column('sample_number', String(20), nullable=True, comment='样品编号')
  35. longitude = Column('longitude', Float, nullable=True, comment='经度坐标(精确到小数点后六位数)')
  36. latitude = Column('latitude', Float, nullable=True, comment='纬度坐标(精确到小数点后六位数)')
  37. sampling_location = Column('sampling_location', String(100), nullable=True, comment='采样位置描述')
  38. sample_time = Column('sample_time', DateTime, nullable=True, comment='采样时间')
  39. weather = Column('weather', String(50), nullable=True, comment='天气状况')
  40. container_material = Column('container_material', String(50), nullable=True, comment='储存容器材质')
  41. container_color = Column('container_color', String(50), nullable=True, comment='储存容器颜色')
  42. container_capacity = Column('container_capacity', Integer, nullable=True, comment='储存容器容量(mL)')
  43. sampling_volume = Column('sampling_volume', Float, nullable=True, comment='采样体积(mL)')
  44. sample_description = Column('sample_description', Text, nullable=True, comment='样品状态感官描述')
  45. water_quality = Column('water_quality', String(100), nullable=True, comment='断面水质表现')
  46. water_environment = Column('water_environment', String(100), nullable=True, comment='断面周边环境')
  47. storage_method = Column('storage_method', Text, nullable=True, comment='保存方式')
  48. # 重金属含量字段(单位:μg/L)
  49. cr_concentration = Column('cr_concentration', Float, nullable=True, comment='铬(Cr)含量(μg/L)')
  50. as_concentration = Column('as_concentration', Float, nullable=True, comment='砷(As)含量(μg/L)')
  51. cd_concentration = Column('cd_concentration', Float, nullable=True, comment='镉(Cd)含量(μg/L)')
  52. hg_concentration = Column('hg_concentration', Float, nullable=True, comment='汞(Hg)含量(μg/L)')
  53. pb_concentration = Column('pb_concentration', Float, nullable=True, comment='铅(Pb)含量(μg/L)')
  54. ph_value = Column('ph_value', Float, nullable=True, comment='水样pH值')