欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【办公自动化】探秘少了22种用地的空间规划新国标并更新国标相关内容

程序员文章站 2022-05-10 14:55:31
...

我们在整理最新空间规划用地分类的时候发现,网传最新国标是132种分类,而2019年5月的《市县国土空间规划分区与用途分类指南》(试行,送审稿)中有154种用地分类,难道有一个差了22种用地的新版本?
经多天搜索,只发现了多篇文章中有提到:“2020年2月自然资源部制定了《国土空间规划用地用海用途分类指南》(试行,征求意见稿),……”。
这是一个找不到具体内容,找不到发布信息的神秘版本。

————————————————

几经求证,我们拿到了《国土空间规划用地用海用途分类指南》(试行,征求意见稿)PDF的扫描件,所以在此更新前几天文章中所有涉及到国标标准的内容。
这里涉及到之前发的几篇

【办公自动化】国土“三调”用地分类“一键”转南京分类
【办公自动化】国土“三调”用地分类“一键”转国标分类
【办公自动化】Excel“一键”生成国土“三调”转换代码
【办公自动化】“一键”生成国土空间规划CAD标准图层

1、新旧国标对比

2019年5月的《市县国土空间规划分区与用途分类指南》(试行,送审稿)设置 28种一级类、102 种二级类 、 24种三级类,共154种
2020年2月的《国土空间规划用地用海用途分类指南》(试行,征求意见稿) 设置22种一级类、80种二级类及,30种三级类,共132种,少了22种
我们特地整理了两版国标的对照表(后文获取),部分截图如下:
【办公自动化】探秘少了22种用地的空间规划新国标并更新国标相关内容

2、三调用地“一键”转换至国标用地

三调转换国土空间用地四种类型说明参照《【办公自动化】国土“三调”用地分类“一键”转国标分类》中用地转换说明。在此我们更新了最新用地转换对照表(后文获取),可以看到四种用地分类的对比。部分截图如下:
【办公自动化】探秘少了22种用地的空间规划新国标并更新国标相关内容
注:红字为一对多用地,需根据实际情况调整划分用地。

转换操作如下:

  • GIS中打开属性表,添加字段layer,类型文本;
    【办公自动化】探秘少了22种用地的空间规划新国标并更新国标相关内容
  • 右击Layer图层打开字段计算器…,
  • 加载 三调转国标2.0.cal 文件(后文获取),
  • 点选上面的Python,
  • 点确定,就自动转换生成了Layer的数据。
    【办公自动化】探秘少了22种用地的空间规划新国标并更新国标相关内容
    若需要CAD文件,自行导出CAD,CAD中就形成了国土空间规划的用地图层。

3、CAD国标图层“一键”生成

我们按照《国土空间规划用地用海用途分类指南》(试行,征求意见稿)设置了图层名称,并配置了颜色。需要的同学可在Excel中自行修改CAD色号。相关配色说明参照《【三调转换】“一键”生成CAD用地标准图层》中颜色对照表说明。
CAD国标图层及配色表(后文获取)部分截图如下:
【办公自动化】探秘少了22种用地的空间规划新国标并更新国标相关内容
生成操作如下:

  • 打开GIS生成的CAD,或新开CAD并新建页面
  • 打开我们提供的 CAD国标图层及配色1.0.xlsx Excel文件(后文获取)
  • 快捷键 Alt+F11 打开Excel的VB编辑器
    【办公自动化】探秘少了22种用地的空间规划新国标并更新国标相关内容
  • 点文件 > 导入文件…
  • 对话框中选到 CAD图层生成.bas 文件(后文获取),打开
  • 按F5 或者点绿色箭头运行,出现下面宏对话框,有宏名称就加载正确
    【办公自动化】探秘少了22种用地的空间规划新国标并更新国标相关内容
  • 点运行,会弹出提示框“提示:打开CAD,点击确定生成图层”
    确保打开了CAD文件或新开CAD并新建了页面,不然会报错。
  • 点确定,生成完毕,会弹出提示框 “图层创建完毕,请至CAD查看”
    Excel会按照颜色对照表,在CAD中给相应的图层设置颜色,没有的图层会自动添加图层并设置颜色。

CAD图层生成结果截图如下:
【办公自动化】探秘少了22种用地的空间规划新国标并更新国标相关内容
————————————————

4、代码部分

代码在excel中运行,链接CAD,把excel中的图层和颜色信息添加至CAD中,比python进行CAD链接更稳定。在excel中无法设置CAD的RGB颜色,所以一色号来代替,VBA在CAD中是可以设置RGB的。

Public Sub CAD_layers()
MsgBox ("提示:打开CAD,点击确定生成图层")
'连接CAD
Set acadapp = GetObject(, "autocad.application") 
Set acad = acadapp.ActiveDocument

'读取数据生成图层和颜色
For Row = 2 To Cells(Rows.Count, "d").End(xlUp).Row
Name = Cells(Row, "a") + Cells(Row, "b")
acad.layers.Add (Name)
acad.layers.Item(Name).color = Int(Cells(Row, "c"))
Next

MsgBox ("图层创建完毕,请至CAD查看!")
End Sub

excel中设置RGB底色的代码,将填有RGB颜色数字的表格填入对应的颜色,方便查看。

Public Sub color()

Column = "d" 
For Row = 2 To Cells(Rows.Count, Column).End(xlUp).Row
    
    col = Cells(Row, Column)
    If col <> "" Then
    'Mid(col, 9, 3) 切分会出错,部分RGB颜色不足9位
    s = Split(col, ",")   
    R = Int(s(0))
    G = Int(s(1))
    B = Int(s(2))
    Cells(Row, Column).Interior.color = RGB(R, G, B)
    End If
Next

End Sub

需要相关文件的同学,
关注公众号,回复 “转换”、“图层” ,自动发送链接
【办公自动化】探秘少了22种用地的空间规划新国标并更新国标相关内容

相关标签: 实用技巧