初始化

This commit is contained in:
2026-04-22 12:27:49 +08:00
commit 4857cb6e45
73 changed files with 20927 additions and 0 deletions

View File

@@ -0,0 +1,141 @@
'''
用于pandas dataframe中字段计算
'''
# 计算一级土地利用类型
def calculate_yjdl(dlbm):
if str(dlbm).startswith('01'):
return '耕地'
elif str(dlbm).startswith('02'):
return '园地'
elif str(dlbm).startswith('03'):
return '林地'
elif str(dlbm).startswith('04'):
return '草地'
else:
return '其他'
# 计算二级土地利用类型
def calculate_ejdl(dlbm):
dlbm_str = str(dlbm).strip()
if dlbm_str.startswith('0101'):
return '水田'
elif dlbm_str.startswith('0102'):
return '水浇地'
elif dlbm_str.startswith('0103'):
return '旱地'
elif dlbm_str.startswith('0201'):
return '果园'
elif dlbm_str.startswith('0202'):
return '茶园'
elif dlbm_str.startswith('0203'):
return '橡胶园'
elif dlbm_str.startswith('0204'):
return '其他园地'
elif dlbm_str.startswith('03'):
return '林地'
elif dlbm_str.startswith('04'):
return '草地'
elif dlbm_str.startswith('12'):
return '其他'
else:
return '未分类'
# 计算母岩母质
def calculate_muyan(soil_name):
soil_name = str(soil_name) # 确保为字符串
# 将"紫"放在最前面
if "" in soil_name:
return "紫色砂页岩"
elif "红砂" in soil_name:
return "第三纪红砂岩"
elif "麻砂" in soil_name:
return "花岗岩或花岗片麻岩"
elif "涂砂" in soil_name:
return "砂质浅海沉积物"
elif "暗泥" in soil_name:
return "玄武岩、火山灰(渣)"
elif "砂泥" in soil_name:
return "砂页岩、砂岩、砂砾岩"
elif "" in soil_name or "白粉泥" in soil_name:
return "石英砂岩、石英岩、硅质岩"
elif "灰泥" in soil_name or "石灰" in soil_name:
return "石灰岩、白云岩、大理岩"
elif "磷灰" in soil_name:
return "磷灰岩"
elif "红泥" in soil_name:
return "第四纪红色黏土"
elif "红土" in soil_name:
return "第三纪红色黏土"
elif "风砂" in soil_name:
return "风积砂"
elif "潮泥砂" in soil_name or "泥砂" in soil_name or "新积土" in soil_name:
return "洪积物"
elif "淡涂泥" in soil_name:
return "河口相沉积物"
elif "涂泥" in soil_name:
return "海相沉积物"
elif "黄泥" in soil_name:
return "古老洪冲积物"
# 将容易误匹配的放在最后
elif "潮泥" in soil_name or "潮砂" in soil_name or "潮土" in soil_name:
return "冲积物"
elif "" in soil_name or "鳝泥" in soil_name:
return "片岩、板岩、千枚岩、页岩、泥岩"
else:
return "其他" # 或者返回空值 ""
def calculate_muzhi(value):
if value in ["第三纪红砂岩", "花岗岩或花岗片麻岩", "玄武岩、火山灰(渣)",
"砂页岩、砂岩、砂砾岩", "片岩、板岩、千枚岩、页岩、泥岩", "石英砂岩、石英岩、硅质岩",
"石灰岩、白云岩、大理岩", "磷灰岩", "紫色砂页岩", "第三纪红色黏土", "风积砂"]:
return "残坡积物"
elif value in ["冲积物", "第四纪红色黏土", "洪积物", "海相沉积物", "古老洪冲积物", "河口相沉积物", "砂质浅海沉积物"]:
return "第四纪松散沉积物"
else:
return "未知"
"""
"粉(砂)质黏壤土": "1",
"粉(砂)质黏土": "2",
"粉(砂)质壤土": "3",
"黏壤土": "4",
"黏土": "5",
"壤土": "6",
"壤质黏土": "7",
"砂土及壤质砂土": "8",
"砂质黏壤土": "9",
"砂质黏土": "10",
"砂质壤土": "11",
"重黏土": "12"
"""
def cal_trzd(value):
if value == "砂土及壤质砂土":
return 1
elif value == "砂质壤土":
return 2
elif value == "壤土":
return 3
elif value == "粉砂质壤土":
return 4
elif value == "砂质黏壤土":
return 5
elif value == "黏壤土":
return 6
elif value == "粉砂质黏壤土":
return 7
elif value == "砂质黏土":
return 8
elif value == "壤质黏土":
return 9
elif value == "粉砂质黏土":
return 10
elif value == "黏土":
return 11
elif value == "重黏土":
return 12
else:
return 0