orm_models.py 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281
  1. # coding: utf-8
  2. from sqlalchemy import ARRAY, Boolean, CheckConstraint, Column, Float, Integer, Numeric, String, Table, Text, text
  3. from geoalchemy2.types import Geometry, Raster
  4. from sqlalchemy.ext.declarative import declarative_base
  5. Base = declarative_base()
  6. metadata = Base.metadata
  7. class ConventionalLandInformation(Base):
  8. __tablename__ = 'Conventional_land_information'
  9. __table_args__ = {'comment': '常规土地信息'}
  10. Lon = Column(Float(53), primary_key=True, nullable=False, comment='经度-Long.(°)')
  11. Lat = Column(Float(53), primary_key=True, nullable=False, comment='纬度-Lat.(°)')
  12. Altitude = Column(Numeric, comment='海拔-Alt.(m)')
  13. Landform = Column(Text, comment='地貌类型')
  14. Landuse = Column(Text, comment='土地利用类型')
  15. Soiltype = Column(Text, comment='土壤类型')
  16. Lithologic_type = Column(Text, comment='岩性类型')
  17. class PointInformation(Base):
  18. __tablename__ = 'Point_information'
  19. __table_args__ = {'comment': '点位信息'}
  20. Lon = Column(Float(53), nullable=False, comment='经度-Long.(°)')
  21. Lat = Column(Float(53), nullable=False, comment='纬度-Lat.(°)')
  22. Province = Column(Text, nullable=False)
  23. City = Column(Text, comment='市')
  24. District = Column(Text, comment='县')
  25. Point_id = Column(Integer, primary_key=True, autoincrement=True, comment='唯一编码')
  26. class FiftyThousandSurveyDatum(Base):
  27. """
  28. 五万亩调查数据
  29. """
  30. __tablename__ = 'fifty_thousand_survey_data'
  31. __table_args__ = {'comment': '五万亩调查数据表'}
  32. gid = Column(Integer, primary_key=True, autoincrement=True, comment='主键ID')
  33. id = Column(Float(53), comment='编号')
  34. dwmc = Column(String(254), comment='点位原始编码')
  35. r_dwmc = Column(String(254), comment='点位重编码')
  36. lat = Column(Float(53), comment='位置信息-纬度')
  37. lon = Column(Float(53), comment='位置信息-经度')
  38. xmc = Column(String(254), comment='位置信息-县名称')
  39. zmc = Column(String(254), comment='位置信息-镇名称')
  40. cmc = Column(String(254), comment='位置信息-村名称')
  41. tql_cd = Column(Float(53), comment='土壤单全量-镉(mg/kg)')
  42. tql_as = Column(Float(53), comment='土壤单全量-砷(mg/kg)')
  43. tql_pb = Column(Float(53), comment='土壤单全量-铅(mg/kg)')
  44. ph = Column(Float(53), comment='pH值')
  45. zzm_cd = Column(Float(53), comment='早稻米-镉(mg/kg)')
  46. zzm_as = Column(Float(53), comment='早稻米-砷(mg/kg)')
  47. zzm_pb = Column(Float(53), comment='早稻米-铅(mg/kg)')
  48. wzm_cd = Column(Float(53), comment='晚稻米-镉(mg/kg)')
  49. wzm_as = Column(Float(53), comment='晚稻米-砷(mg/kg)')
  50. wzm_pb = Column(Float(53), comment='晚稻米-铅(mg/kg)')
  51. tcb_cd = Column(Float(53), comment='土壤参比值-镉(mg/kg)')
  52. tcb_as = Column(Float(53), comment='土壤参比值-砷(mg/kg)')
  53. tcb_pb = Column(Float(53), comment='土壤参比值-铅(mg/kg)')
  54. mcb_cd = Column(Float(53), comment='稻米参比值-镉(mg/kg)')
  55. mcb_as = Column(Float(53), comment='稻米参比值-砷(mg/kg)')
  56. mcb_pb = Column(Float(53), comment='稻米参比值-铅(mg/kg)')
  57. tzs_cd = Column(Float(53), comment='土壤指数-镉(mg/kg)')
  58. tzs_as = Column(Float(53), comment='土壤指数-砷(mg/kg)')
  59. tzs_pb = Column(Float(53), comment='土壤指数-铅(mg/kg)')
  60. z_mzs_cd = Column(Float(53), comment='早造米指数-镉(mg/kg)')
  61. z_mzs_as = Column(Float(53), comment='早造米指数-砷(mg/kg)')
  62. z_mzs_pb = Column(Float(53), comment='早造米指数-铅(mg/kg)')
  63. w_mzs_cd = Column(Float(53), comment='晚造米指数-镉(mg/kg)')
  64. w_mzs_as = Column(Float(53), comment='晚造米指数-砷(mg/kg)')
  65. w_mzs_pb = Column(Float(53), comment='晚造米指数-铅(mg/kg)')
  66. tzs_max = Column(Float(53), comment='土壤综合指数')
  67. mzs_max = Column(Float(53), comment='稻米综合指数')
  68. s_tfj_max = Column(Float(53), comment='综合指数分级')
  69. s_mfj_max = Column(Float(53), comment='综合指数分级')
  70. h_tfj_max = Column(Float(53), comment='环保97号文土壤指数分级')
  71. h_mfj_max = Column(Float(53), comment='环保98号文稻米指数分级')
  72. s_pdtj = Column(String(254), comment='综合风险等级代码')
  73. h_pdtj = Column(String(254), comment='土壤环境质量类别代码')
  74. s_xtfx = Column(String(254), comment='综合风险等级')
  75. h_xtfx = Column(String(254), comment='土壤环境质量类别')
  76. mzs_cd_max = Column(Float(53), comment='单金属最大米指数')
  77. mzs_as_max = Column(Float(53), comment='单金属最大米指数')
  78. mzs_pd_max = Column(Float(53), comment='单金属最大米指数')
  79. tzs_cd_fj = Column(Float(53), comment='按土壤指数分级')
  80. tzs_as_fj = Column(Float(53), comment='按土壤指数分级')
  81. tzs_pb_fj = Column(Float(53), comment='按土壤指数分级')
  82. mzs_cd_fj = Column(Float(53), comment='按稻米指数分级')
  83. mzs_as_fj = Column(Float(53), comment='按稻米指数分级')
  84. mzs_pb_fj = Column(Float(53), comment='按稻米指数分级')
  85. s_cd_pdtj = Column(String(254), comment='单金属风险代码')
  86. s_cd_pdtj1 = Column(String(254), comment='单金属风险代码')
  87. s_pb_pdtj = Column(String(254), comment='单金属风险代码')
  88. s_cd_xtfx = Column(String(254), comment='单金属协同风险等级')
  89. s_as_xtfx = Column(String(254), comment='单金属协同风险等级')
  90. s_pb_xtfx = Column(String(254), comment='单金属协同风险等级')
  91. s_cd_fz = Column(Float(53), comment='镉分风险分级')
  92. s_as_fz = Column(Float(53), comment='砷分风险分级')
  93. cd_as_pdtj = Column(String(254), comment='镉-砷复合污染分级代码')
  94. cd_as_fhwr = Column(String(254), comment='镉-砷复合污染分级代码')
  95. wrlx = Column(String(254), comment='镉-砷复合污染分级')
  96. wrlx_pb = Column(String(254), comment='铅是否有风险')
  97. cec__cmol_ = Column(Float(53), comment='阳离子交换容量(cmol/kg)')
  98. tom_g_kg_ = Column(Float(53), comment='土壤有机质(g/kg)')
  99. mmax_cd = Column(Float(53), comment='单金属稻米最大值')
  100. mmax_as = Column(Float(53), comment='单金属稻米最大值')
  101. mmax_pb = Column(Float(53), comment='单金属稻米最大值')
  102. bcf_cd = Column(Float(53), comment='稻米富集系数')
  103. bcf_as = Column(Float(53), comment='稻米富集系数')
  104. bcf_pb = Column(Float(53), comment='稻米富集系数')
  105. nl_g_kg_ = Column(Float(53), comment='粘粒')
  106. fl_g_kg_ = Column(Float(53), comment='粘粒')
  107. sl_g_kg_ = Column(Float(53), comment='粘粒')
  108. nl_zb = Column(Float(53), comment='黏粒占比')
  109. fl_zb = Column(Float(53), comment='粉粒占比')
  110. sl_zb = Column(Float(53), comment='砂粒占比')
  111. trlx = Column(String(254), comment='土壤质地')
  112. dtpa_cd = Column(Float(53), comment='土壤单金属提取态')
  113. lin_suan_er_qing_an = Column(Float(53), comment='土壤单金属提取态')
  114. dtpa_pb = Column(Float(53), comment='土壤单金属提取态')
  115. zb_cd = Column(Float(53), comment='土壤单金v属提取态占比')
  116. zb_as = Column(Float(53), comment='土壤单金属提取态占比')
  117. zb_pb = Column(Float(53), comment='土壤单金属提取态占比')
  118. tql_cr = Column(Float(53), comment='土壤单金属全量')
  119. tql_hg = Column(Float(53), comment='土壤单金属全量')
  120. f_2_00mm = Column(String(254), comment='土壤机械组成数据>2.00mm粒径分布')
  121. _2_1mm = Column('2_1mm', Float(53), comment='土壤机械组成数据2-1mm粒径分布')
  122. _1_0_5mm = Column('1_0_5mm', Float(53), comment='土壤机械组成数据1-0.5mm粒径分布')
  123. _0_5_0_25mm = Column('0_5_0_25mm', Float(53), comment='土壤机械组成数据0.5-0.25mm粒径分布')
  124. _0_25_0_05m = Column('0_25_0_05m', Float(53), comment='土壤机械组成数据0.25-0.05mm粒径分布')
  125. _0_05_0_02m = Column('0_05_0_02m', Float(53), comment='土壤机械组成数据0.05-0.02mm粒径分布')
  126. _0_02_0_002 = Column('0_02_0_002', Float(53), comment='土壤机械组成数据0.02-0.002mm粒径分布')
  127. f_0_002mm = Column(Float(53), comment='土壤机械组成数据<0.002mm粒径分布')
  128. ph_fj = Column(Float(53), comment='pH值分级1')
  129. ph_fj_2 = Column(Float(53), comment='pH值分级2')
  130. geom = Column(Geometry('POINT', from_text='ST_GeomFromEWKT', name='geometry'), index=True, comment='几何位置信息')
  131. class RasterTable(Base):
  132. __tablename__ = 'raster_table'
  133. id = Column(Integer, primary_key=True, autoincrement=True)
  134. rast = Column(Raster(from_text='raster', name='raster'), index=True)
  135. class SpatialRefSy(Base):
  136. __tablename__ = 'spatial_ref_sys'
  137. __table_args__ = (
  138. CheckConstraint('(srid > 0) AND (srid <= 998999)'),
  139. )
  140. srid = Column(Integer, primary_key=True)
  141. auth_name = Column(String(256))
  142. auth_srid = Column(Integer)
  143. srtext = Column(String(2048))
  144. proj4text = Column(String(2048))
  145. class Surveydatum(Base):
  146. __tablename__ = 'surveydata'
  147. id = Column(Float(53), primary_key=True, autoincrement=True)
  148. dwmc = Column(String(50))
  149. r_dwmc = Column(String(50))
  150. lat = Column(Numeric(9, 6))
  151. lon = Column(Numeric(9, 6))
  152. xmc = Column(String(50))
  153. zmc = Column(String(50))
  154. cmc = Column(String(50))
  155. tql_cd = Column(Numeric(10, 6))
  156. tql_as = Column(Numeric(10, 6))
  157. tql_pb = Column(Numeric(10, 6))
  158. ph = Column(Numeric(4, 2))
  159. zzm_cd = Column(Numeric(10, 6))
  160. zzm_as = Column(Numeric(10, 6))
  161. zzm_pb = Column(Numeric(10, 6))
  162. wzm_cd = Column(Numeric(10, 6))
  163. wzm_as = Column(Numeric(10, 6))
  164. wzm_pb = Column(Numeric(10, 6))
  165. tcb_cd = Column(Numeric(10, 6))
  166. tcb_as = Column(Numeric(10, 6))
  167. tcb_pb = Column(Numeric(10, 6))
  168. mcb_cd = Column(Numeric(10, 6))
  169. mcb_as = Column(Numeric(10, 6))
  170. mcb_pb = Column(Numeric(10, 6))
  171. tzs_cd = Column(Numeric(10, 6))
  172. tzs_as = Column(Numeric(10, 6))
  173. tzs_pb = Column(Numeric(10, 6))
  174. z_mzs_cd = Column(Numeric(10, 6))
  175. z_mzs_as = Column(Numeric(10, 6))
  176. z_mzs_pb = Column(Numeric(10, 6))
  177. w_mzs_cd = Column(Numeric(10, 6))
  178. w_mzs_as = Column(Numeric(10, 6))
  179. w_mzs_pb = Column(Numeric(10, 6))
  180. tzs_max = Column(Numeric(10, 6))
  181. mzs_max = Column(Numeric(10, 6))
  182. s_tfj_max = Column(Numeric(10, 6))
  183. s_mfj_max = Column(Numeric(10, 6))
  184. h_tfj_max = Column(Numeric(10, 6))
  185. h_mfj_max = Column(Numeric(10, 6))
  186. s_pdtj = Column(String(10))
  187. h_pdtj = Column(String(10))
  188. s_xtfx = Column(String(50))
  189. h_xtfx = Column(String(50))
  190. cec_cmol = Column(Numeric(10, 6))
  191. tom_g_kg = Column(Numeric(10, 6))
  192. trlx = Column(String(50))
  193. dtpa_cd = Column(Numeric(10, 6))
  194. dtpa_pb = Column(Numeric(10, 6))
  195. geom = Column(Geometry('POINT', 4326, from_text='ST_GeomFromEWKT', name='geometry'), index=True)
  196. mzs_cd_max = Column(Float(53))
  197. mzs_as_max = Column(Float(53))
  198. mzs_pd_max = Column(Float(53))
  199. tzs_cd_fj = Column(Float(53))
  200. tzs_as_fj = Column(Float(53))
  201. tzs_pb_fj = Column(Float(53))
  202. mzs_cd_fj = Column(Float(53))
  203. mzs_as_fj = Column(Float(53))
  204. mzs_pb_fj = Column(Float(53))
  205. s_cd_pdtj = Column(String)
  206. s_cd_pdtj1 = Column(String)
  207. s_pb_pdtj = Column(String)
  208. s_cd_xtfx = Column(String)
  209. s_as_xtfx = Column(String)
  210. s_pb_xtfx = Column(String)
  211. s_cd_fz = Column(Float(53))
  212. s_as_fz = Column(Float(53))
  213. cd_as_pdtj = Column(String)
  214. cd_as_fhwr = Column(String)
  215. wrlx = Column(String)
  216. wrlx_pb = Column(String)
  217. cec__cmol_ = Column(Float(53))
  218. tom_g_kg_ = Column(Float(53))
  219. mmax_cd = Column(Float(53))
  220. mmax_as = Column(Float(53))
  221. mmax_pb = Column(Float(53))
  222. bcf_cd = Column(Float(53))
  223. bcf_as = Column(Float(53))
  224. bcf_pb = Column(Float(53))
  225. nl_g_kg_ = Column(Float(53))
  226. fl_g_kg_ = Column(Float(53))
  227. sl_g_kg_ = Column(Float(53))
  228. nl_zb = Column(Float(53))
  229. fl_zb = Column(Float(53))
  230. sl_zb = Column(Float(53))
  231. lin_suan_er_qing_an = Column(Float(53))
  232. zb_cd = Column(Float(53))
  233. zb_as = Column(Float(53))
  234. zb_pb = Column(Float(53))
  235. tql_cr = Column(Float(53))
  236. tql_hg = Column(Float(53))
  237. f_2_00mm = Column(String)
  238. _2_1mm = Column('2_1mm', Float(53))
  239. _1_0_5mm = Column('1_0_5mm', Float(53))
  240. _0_5_0_25mm = Column('0_5_0_25mm', Float(53))
  241. _0_25_0_05m = Column('0_25_0_05m', Float(53))
  242. _0_05_0_02m = Column('0_05_0_02m', Float(53))
  243. _0_02_0_002 = Column('0_02_0_002', Float(53))
  244. f_0_002mm = Column(Float(53))
  245. ph_fj = Column(Float(53))
  246. ph_fj_2 = Column(Float(53))
  247. class UnitCeil(Base):
  248. __tablename__ = 'unit_ceil'
  249. gid = Column(Integer, primary_key=True, autoincrement=True)
  250. OBJECTID = Column(Float(53))
  251. BSM = Column(String(20))
  252. PXZQDM = Column(String(2))
  253. PXZQMC = Column(String(50))
  254. CXZQDM = Column(String(4))
  255. CXZQMC = Column(String(50))
  256. SUM_NYDTBM = Column(Numeric)
  257. XCDYBM = Column(String(20))
  258. Shape_Leng = Column(Numeric)
  259. Shape_Area = Column(Numeric)
  260. geom = Column(Geometry('GEOMETRYZM', 4490, 4, from_text='ST_GeomFromEWKT', name='geometry'), index=True)