# coding: utf-8 from sqlalchemy import ARRAY, Boolean, CheckConstraint, Column, Float, Integer, Numeric, String, Table, Text, text from geoalchemy2.types import Geometry, Raster from sqlalchemy.ext.declarative import declarative_base Base = declarative_base() metadata = Base.metadata class ConventionalLandInformation(Base): __tablename__ = 'Conventional_land_information' __table_args__ = {'comment': '常规土地信息'} Lon = Column(Float(53), primary_key=True, nullable=False, comment='经度-Long.(°)') Lat = Column(Float(53), primary_key=True, nullable=False, comment='纬度-Lat.(°)') Altitude = Column(Numeric, comment='海拔-Alt.(m)') Landform = Column(Text, comment='地貌类型') Landuse = Column(Text, comment='土地利用类型') Soiltype = Column(Text, comment='土壤类型') Lithologic_type = Column(Text, comment='岩性类型') class PointInformation(Base): __tablename__ = 'Point_information' __table_args__ = {'comment': '点位信息'} Lon = Column(Float(53), nullable=False, comment='经度-Long.(°)') Lat = Column(Float(53), nullable=False, comment='纬度-Lat.(°)') Province = Column(Text, nullable=False) City = Column(Text, comment='市') District = Column(Text, comment='县') Point_id = Column(Integer, primary_key=True, autoincrement=True, comment='唯一编码') class FiftyThousandSurveyDatum(Base): """ 五万亩调查数据 """ __tablename__ = 'fifty_thousand_survey_data' __table_args__ = {'comment': '五万亩调查数据表'} gid = Column(Integer, primary_key=True, autoincrement=True, comment='主键ID') id = Column(Float(53), comment='编号') dwmc = Column(String(254), comment='点位原始编码') r_dwmc = Column(String(254), comment='点位重编码') lat = Column(Float(53), comment='位置信息-纬度') lon = Column(Float(53), comment='位置信息-经度') xmc = Column(String(254), comment='位置信息-县名称') zmc = Column(String(254), comment='位置信息-镇名称') cmc = Column(String(254), comment='位置信息-村名称') tql_cd = Column(Float(53), comment='土壤单全量-镉(mg/kg)') tql_as = Column(Float(53), comment='土壤单全量-砷(mg/kg)') tql_pb = Column(Float(53), comment='土壤单全量-铅(mg/kg)') ph = Column(Float(53), comment='pH值') zzm_cd = Column(Float(53), comment='早稻米-镉(mg/kg)') zzm_as = Column(Float(53), comment='早稻米-砷(mg/kg)') zzm_pb = Column(Float(53), comment='早稻米-铅(mg/kg)') wzm_cd = Column(Float(53), comment='晚稻米-镉(mg/kg)') wzm_as = Column(Float(53), comment='晚稻米-砷(mg/kg)') wzm_pb = Column(Float(53), comment='晚稻米-铅(mg/kg)') tcb_cd = Column(Float(53), comment='土壤参比值-镉(mg/kg)') tcb_as = Column(Float(53), comment='土壤参比值-砷(mg/kg)') tcb_pb = Column(Float(53), comment='土壤参比值-铅(mg/kg)') mcb_cd = Column(Float(53), comment='稻米参比值-镉(mg/kg)') mcb_as = Column(Float(53), comment='稻米参比值-砷(mg/kg)') mcb_pb = Column(Float(53), comment='稻米参比值-铅(mg/kg)') tzs_cd = Column(Float(53), comment='土壤指数-镉(mg/kg)') tzs_as = Column(Float(53), comment='土壤指数-砷(mg/kg)') tzs_pb = Column(Float(53), comment='土壤指数-铅(mg/kg)') z_mzs_cd = Column(Float(53), comment='早造米指数-镉(mg/kg)') z_mzs_as = Column(Float(53), comment='早造米指数-砷(mg/kg)') z_mzs_pb = Column(Float(53), comment='早造米指数-铅(mg/kg)') w_mzs_cd = Column(Float(53), comment='晚造米指数-镉(mg/kg)') w_mzs_as = Column(Float(53), comment='晚造米指数-砷(mg/kg)') w_mzs_pb = Column(Float(53), comment='晚造米指数-铅(mg/kg)') tzs_max = Column(Float(53), comment='土壤综合指数') mzs_max = Column(Float(53), comment='稻米综合指数') s_tfj_max = Column(Float(53), comment='综合指数分级') s_mfj_max = Column(Float(53), comment='综合指数分级') h_tfj_max = Column(Float(53), comment='环保97号文土壤指数分级') h_mfj_max = Column(Float(53), comment='环保98号文稻米指数分级') s_pdtj = Column(String(254), comment='综合风险等级代码') h_pdtj = Column(String(254), comment='土壤环境质量类别代码') s_xtfx = Column(String(254), comment='综合风险等级') h_xtfx = Column(String(254), comment='土壤环境质量类别') mzs_cd_max = Column(Float(53), comment='单金属最大米指数') mzs_as_max = Column(Float(53), comment='单金属最大米指数') mzs_pd_max = Column(Float(53), comment='单金属最大米指数') tzs_cd_fj = Column(Float(53), comment='按土壤指数分级') tzs_as_fj = Column(Float(53), comment='按土壤指数分级') tzs_pb_fj = Column(Float(53), comment='按土壤指数分级') mzs_cd_fj = Column(Float(53), comment='按稻米指数分级') mzs_as_fj = Column(Float(53), comment='按稻米指数分级') mzs_pb_fj = Column(Float(53), comment='按稻米指数分级') s_cd_pdtj = Column(String(254), comment='单金属风险代码') s_cd_pdtj1 = Column(String(254), comment='单金属风险代码') s_pb_pdtj = Column(String(254), comment='单金属风险代码') s_cd_xtfx = Column(String(254), comment='单金属协同风险等级') s_as_xtfx = Column(String(254), comment='单金属协同风险等级') s_pb_xtfx = Column(String(254), comment='单金属协同风险等级') s_cd_fz = Column(Float(53), comment='镉分风险分级') s_as_fz = Column(Float(53), comment='砷分风险分级') cd_as_pdtj = Column(String(254), comment='镉-砷复合污染分级代码') cd_as_fhwr = Column(String(254), comment='镉-砷复合污染分级代码') wrlx = Column(String(254), comment='镉-砷复合污染分级') wrlx_pb = Column(String(254), comment='铅是否有风险') cec__cmol_ = Column(Float(53), comment='阳离子交换容量(cmol/kg)') tom_g_kg_ = Column(Float(53), comment='土壤有机质(g/kg)') mmax_cd = Column(Float(53), comment='单金属稻米最大值') mmax_as = Column(Float(53), comment='单金属稻米最大值') mmax_pb = Column(Float(53), comment='单金属稻米最大值') bcf_cd = Column(Float(53), comment='稻米富集系数') bcf_as = Column(Float(53), comment='稻米富集系数') bcf_pb = Column(Float(53), comment='稻米富集系数') nl_g_kg_ = Column(Float(53), comment='粘粒') fl_g_kg_ = Column(Float(53), comment='粘粒') sl_g_kg_ = Column(Float(53), comment='粘粒') nl_zb = Column(Float(53), comment='黏粒占比') fl_zb = Column(Float(53), comment='粉粒占比') sl_zb = Column(Float(53), comment='砂粒占比') trlx = Column(String(254), comment='土壤质地') dtpa_cd = Column(Float(53), comment='土壤单金属提取态') lin_suan_er_qing_an = Column(Float(53), comment='土壤单金属提取态') dtpa_pb = Column(Float(53), comment='土壤单金属提取态') zb_cd = Column(Float(53), comment='土壤单金v属提取态占比') zb_as = Column(Float(53), comment='土壤单金属提取态占比') zb_pb = Column(Float(53), comment='土壤单金属提取态占比') tql_cr = Column(Float(53), comment='土壤单金属全量') tql_hg = Column(Float(53), comment='土壤单金属全量') f_2_00mm = Column(String(254), comment='土壤机械组成数据>2.00mm粒径分布') _2_1mm = Column('2_1mm', Float(53), comment='土壤机械组成数据2-1mm粒径分布') _1_0_5mm = Column('1_0_5mm', Float(53), comment='土壤机械组成数据1-0.5mm粒径分布') _0_5_0_25mm = Column('0_5_0_25mm', Float(53), comment='土壤机械组成数据0.5-0.25mm粒径分布') _0_25_0_05m = Column('0_25_0_05m', Float(53), comment='土壤机械组成数据0.25-0.05mm粒径分布') _0_05_0_02m = Column('0_05_0_02m', Float(53), comment='土壤机械组成数据0.05-0.02mm粒径分布') _0_02_0_002 = Column('0_02_0_002', Float(53), comment='土壤机械组成数据0.02-0.002mm粒径分布') f_0_002mm = Column(Float(53), comment='土壤机械组成数据<0.002mm粒径分布') ph_fj = Column(Float(53), comment='pH值分级1') ph_fj_2 = Column(Float(53), comment='pH值分级2') geom = Column(Geometry('POINT', from_text='ST_GeomFromEWKT', name='geometry'), index=True, comment='几何位置信息') class RasterTable(Base): __tablename__ = 'raster_table' id = Column(Integer, primary_key=True, autoincrement=True) rast = Column(Raster(from_text='raster', name='raster'), index=False) class SpatialRefSy(Base): __tablename__ = 'spatial_ref_sys' __table_args__ = ( CheckConstraint('(srid > 0) AND (srid <= 998999)'), ) srid = Column(Integer, primary_key=True) auth_name = Column(String(256)) auth_srid = Column(Integer) srtext = Column(String(2048)) proj4text = Column(String(2048)) class Surveydatum(Base): __tablename__ = 'surveydata' id = Column(Float(53), primary_key=True, autoincrement=True) dwmc = Column(String(50)) r_dwmc = Column(String(50)) lat = Column(Numeric(9, 6)) lon = Column(Numeric(9, 6)) xmc = Column(String(50)) zmc = Column(String(50)) cmc = Column(String(50)) tql_cd = Column(Numeric(10, 6)) tql_as = Column(Numeric(10, 6)) tql_pb = Column(Numeric(10, 6)) ph = Column(Numeric(4, 2)) zzm_cd = Column(Numeric(10, 6)) zzm_as = Column(Numeric(10, 6)) zzm_pb = Column(Numeric(10, 6)) wzm_cd = Column(Numeric(10, 6)) wzm_as = Column(Numeric(10, 6)) wzm_pb = Column(Numeric(10, 6)) tcb_cd = Column(Numeric(10, 6)) tcb_as = Column(Numeric(10, 6)) tcb_pb = Column(Numeric(10, 6)) mcb_cd = Column(Numeric(10, 6)) mcb_as = Column(Numeric(10, 6)) mcb_pb = Column(Numeric(10, 6)) tzs_cd = Column(Numeric(10, 6)) tzs_as = Column(Numeric(10, 6)) tzs_pb = Column(Numeric(10, 6)) z_mzs_cd = Column(Numeric(10, 6)) z_mzs_as = Column(Numeric(10, 6)) z_mzs_pb = Column(Numeric(10, 6)) w_mzs_cd = Column(Numeric(10, 6)) w_mzs_as = Column(Numeric(10, 6)) w_mzs_pb = Column(Numeric(10, 6)) tzs_max = Column(Numeric(10, 6)) mzs_max = Column(Numeric(10, 6)) s_tfj_max = Column(Numeric(10, 6)) s_mfj_max = Column(Numeric(10, 6)) h_tfj_max = Column(Numeric(10, 6)) h_mfj_max = Column(Numeric(10, 6)) s_pdtj = Column(String(10)) h_pdtj = Column(String(10)) s_xtfx = Column(String(50)) h_xtfx = Column(String(50)) cec_cmol = Column(Numeric(10, 6)) tom_g_kg = Column(Numeric(10, 6)) trlx = Column(String(50)) dtpa_cd = Column(Numeric(10, 6)) dtpa_pb = Column(Numeric(10, 6)) geom = Column(Geometry('POINT', 4326, from_text='ST_GeomFromEWKT', name='geometry'), index=True) mzs_cd_max = Column(Float(53)) mzs_as_max = Column(Float(53)) mzs_pd_max = Column(Float(53)) tzs_cd_fj = Column(Float(53)) tzs_as_fj = Column(Float(53)) tzs_pb_fj = Column(Float(53)) mzs_cd_fj = Column(Float(53)) mzs_as_fj = Column(Float(53)) mzs_pb_fj = Column(Float(53)) s_cd_pdtj = Column(String) s_cd_pdtj1 = Column(String) s_pb_pdtj = Column(String) s_cd_xtfx = Column(String) s_as_xtfx = Column(String) s_pb_xtfx = Column(String) s_cd_fz = Column(Float(53)) s_as_fz = Column(Float(53)) cd_as_pdtj = Column(String) cd_as_fhwr = Column(String) wrlx = Column(String) wrlx_pb = Column(String) cec__cmol_ = Column(Float(53)) tom_g_kg_ = Column(Float(53)) mmax_cd = Column(Float(53)) mmax_as = Column(Float(53)) mmax_pb = Column(Float(53)) bcf_cd = Column(Float(53)) bcf_as = Column(Float(53)) bcf_pb = Column(Float(53)) nl_g_kg_ = Column(Float(53)) fl_g_kg_ = Column(Float(53)) sl_g_kg_ = Column(Float(53)) nl_zb = Column(Float(53)) fl_zb = Column(Float(53)) sl_zb = Column(Float(53)) lin_suan_er_qing_an = Column(Float(53)) zb_cd = Column(Float(53)) zb_as = Column(Float(53)) zb_pb = Column(Float(53)) tql_cr = Column(Float(53)) tql_hg = Column(Float(53)) f_2_00mm = Column(String) _2_1mm = Column('2_1mm', Float(53)) _1_0_5mm = Column('1_0_5mm', Float(53)) _0_5_0_25mm = Column('0_5_0_25mm', Float(53)) _0_25_0_05m = Column('0_25_0_05m', Float(53)) _0_05_0_02m = Column('0_05_0_02m', Float(53)) _0_02_0_002 = Column('0_02_0_002', Float(53)) f_0_002mm = Column(Float(53)) ph_fj = Column(Float(53)) ph_fj_2 = Column(Float(53)) class UnitCeil(Base): __tablename__ = 'unit_ceil' gid = Column(Integer, primary_key=True, autoincrement=True) OBJECTID = Column(Float(53)) BSM = Column(String(20)) PXZQDM = Column(String(2)) PXZQMC = Column(String(50)) CXZQDM = Column(String(4)) CXZQMC = Column(String(50)) SUM_NYDTBM = Column(Numeric) XCDYBM = Column(String(20)) Shape_Leng = Column(Numeric) Shape_Area = Column(Numeric) geom = Column(Geometry('GEOMETRYZM', 4490, 4, from_text='ST_GeomFromEWKT', name='geometry'), index=True)