【办公自动化】国土“三调”用地分类“一键”转南京分类

最近,国土空间规划体系下“多规合一”的实用性村庄规划大面积展开,“三调”数据拿到手直接就面临转换现状用地的问题,今天我们来聊聊通过代码“一键”转换的办法。

1、用地标准说明

依据第三次全国国土调查工作分类,“三调”将用地分类为12个一级地类与73个二级地类。

依据《市县国土空间规划基本分类与用途分类指南》(试行,征求意见稿)国土空间规划则分为28个一级地类,102个二级地类,39个三级地类。

2020年3月的《南京市村庄规划编制技术指南》(试行)(2020版)依据自然资源部《市县国土空间规划基本分区与用途分类指南(试行,送审稿)》中国土空间用途分类,根据实际常用情况,对部分地类作了细化。分为25个一级地类,71个二级地类,38个三级地类。
本次转换标准暂以《南京市村庄规划编制技术指南》(试行)(2020版)为准。 如有变更将及时更新

2、用地转换说明

用地转换基于《市县国土空间规划基本分区与用途分类指南(试行,送审稿)》中附件国土空间规划用途分类说明,第3与“三调”工作对接,所列的分类对接情况表。具体分为四种类型分别说明:

一一对应型: 一个“三调”用地的二级地类可以与国土空间规划用地的有明确的对应关系的,可以直接转换。
一对多型: 一个“三调”用地的的二级地类可转换成多个国土空间规划的类别,为保证转换效率,将转换为最常见一级地类,具体划分需根据现状调研情况进行手动调整。如08H2科教文卫用地,可转换为0702文化用地、0703教育用地、0704体育用地、0705医疗卫生用地、0706社会福利用地、0707科研用地多个,我们统一转换为一级地类07公共设施用地。
多对一型: 多个“三调”用地的二级地类可转换成一个国土空间规划的类别,可直接转换。如0101水田、0102水浇地、0103旱地,均为转换成01耕地。
无对应型: “三调”中空闲地无对应类型,需根据现状调研情况手动调整,默认转换为00空闲地
详见用地对照表:
用地对照表

3、操作说明

GIS中,打开属性表,添加字段layer,类型文本;
GIS字段设置
拉到最后,右击Layer图层打开字段计算器…,加载表达式cal文件(后文获取),切记加载后需点选上面的Python,然后点确定,就自动转换生成了Layer的数据。
GIS代码设置
导出CAD,CAD中就形成了国土空间规划的用地图层。

4、生成代码

由于代码很长,所以特地提供代码生成代码,这样可以直接去GIS中粘贴代码

import pandas as pd
url = "sandiao-gb.xlsx" #你的excel地址
#读取EXCEL对照表
df = pd.read_excel(url,dtype='object')  #强制object这样所有的数据成了字符串

#生成定义函数,转换带K类用地,用\n换行,这里注意换行后的格式
cord = 'def plan_name(name): \n    if \'K\' in name:\n        name = name[:-1]\n' 

#循环生成判断代码
for i in range(df.shape[0]):
    name = df.iloc[i,2]+df.iloc[i,3]
    if i  == 0 :
        cord = cord + '    if name == \'%s\' : \n        return \'%s\' \n' %(df.iloc[i,0], name)
    else:
        cord = cord + '    elif name == \'%s\' : \n        return \'%s\' \n' %(df.iloc[i,0], name)
        
#生成代码结尾,没有else结尾gis中会报错        
cord = cord  +'    else:\n        return \'check\' \n'

print(cord)

生成的Python代码如下,可以直接使用,代码生成代码非常方便!

def plan_name(name): 
    if 'K' in name:     #有特殊带K的用地,去除K
        name = name[:-1]
     #以编码进行匹配,排除可调用地等不同命名用地。
    if name == '0303' :  
        return '1701红树林地' 
    elif name == '0304' : 
        return '1702沼泽' 
    elif name == '0306' : 
        return '1702沼泽' 
    elif name == '0402' : 
        return '1702沼泽' 
    elif name == '0603' : 
        return '1602盐田' 
    elif name == '1105' : 
        return '170301沿海滩涂' 
    elif name == '1106' : 
        return '170302内陆滩涂' 
    elif name == '1108' : 
        return '1702沼泽' 
    elif name == '0101' : 
        return '01耕地' 
    elif name == '0102' : 
        return '01耕地' 
    elif name == '0103' : 
        return '01耕地' 
    elif name == '0201' : 
        return '02园地' 
    elif name == '0202' : 
        return '02园地' 
    elif name == '0203' : 
        return '02园地' 
    elif name == '0204' : 
        return '02园地' 
    elif name == '0301' : 
        return '03林地' 
    elif name == '0302' : 
        return '03林地' 
    elif name == '0305' : 
        return '03林地' 
    elif name == '0307' : 
        return '03林地' 
    elif name == '0401' : 
        return '04牧草地' 
    elif name == '0403' : 
        return '04牧草地' 
    elif name == '0404' : 
        return '1805其他草地' 
    elif name == '05H1' : 
        return '0708商服用地' 
    elif name == '0508' : 
        return '09仓储用地' 
    elif name == '0601' : 
        return '08工业用地' 
    elif name == '0602' : 
        return '1601采矿用地' 
    elif name == '0603' : 
        return '1602盐田' 
    #此处省略若干代码,太长了
    else:
        return 'check'    
        #如果出现check图层,请检查,用地代码不在对照表内

8月12日最新发布GIS转换工具箱,转换文件已停止更新
对原转换文件感兴趣的同学可以点击下方网盘链接
链接:https://pan.baidu.com/s/1fIaDrvwfElGWeqtqwAyZWg
提取码:0817

需要用地转换对照Excel表的同学,关注公众号,回复“对照表”,自动发送链接

规划酱
关注规划酱,一起高效率!

  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

规划酱

谢谢鼓励!一起自动化!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值