之前发了两片通过代码“一键”转换国土“三调”数据的文章,
《【办公自动化】国土“三调”用地分类“一键”转南京分类》
《【办公自动化】国土“三调”用地分类“一键”转国标分类》
有同学提出作为规划工作者不会python怎么办?答曰可以自学呀!
其实电脑装有Excel和Word就能“一键”搞定!

1、Excel“一键”开始

  • 打开我们提供的用地转换对照表Excel(后文提供)
  • 快捷键 Alt+F11 打开了Excel的VB编辑器
  • 点文件 > 导入文件…
  • 对话框中选到 VB转代码.bas 文件 (后文提供),打开
  • 按F5 或者点绿色箭头运行,出现下面宏对话框,有宏名称就加载正确
  • 点运行,会自动弹出一个Word,里面是生成的Python代码,已全选,复制去GIS粘贴就行,简单吧。

    注意:这里代码是通过判断表中A列,返回C+D列中数据生成的,其他列无关,需要的同学自行修改Excel。

2、GIS部分操作再啰嗦一下

  • 打开GIS,打开属性表,添加字段layer,类型文本;
  • 右击字段,打开字段计算器…,选Python,勾选显示代码块,在其中粘贴脚本代码,在Layer= 下面填入 plan_name(!DLBM!) 调用函数;
  • 点保存就生成了cal文件,以后可以加载使用一键转换;
  • 点确定就生成了转换后的Layer数据。

    若需要CAD文件,自行导出CAD,CAD中就形成了国土空间规划的用地图层。

3、VB版代码

之前文章中提供的是python版本生成代码,用python生成python格式上更方便写,但在Excel中运行VBA,不需要读取文件,不需要安装python环境,不需要安装库,就是生成代码比python略微复杂一些,供交流学习!

Public Sub make_code()
Dim wdapp As Object'生成函数定义,筛选处理含K类型。通过chr(10)换行,注意python退让格式
cord = "def plan_name(name): " & Chr(10) & "    if 'K' in name:" & Chr(10) & "        name = name[:-1]" & Chr(10)'循环生成判断代码
For Row = 2 To Cells(Rows.Count, "a").End(xlUp).RowName = Cells(Row, "c") + Cells(Row, "d")If Row = 2 Thencord = cord & "    if name == '" & Cells(Row, "a") & "' : " & Chr(10) & "        return '" & Name & "'" & Chr(10)Elsecord = cord & "    elif name == '" & Cells(Row, "a") & "' : " & Chr(10) & "        return '" & Name & "'" & Chr(10)End If
Next
'生成代码结尾,没有else结尾gis中会报错
cord = cord & "    else:" & Chr(10) & "        return  'check '"Set wdapp = CreateObject("word.application")  '链接WORD用于显示结果方便复制
wdapp.Documents.Add    '新建WORD页面
wdapp.Visible = True      '显示页面
wdapp.Selection = cord  '写入代码并选择End Sub

附一个python版本供对比,还是python简洁:

import pandas as pd
url = "sandiao-gb.xlsx" #excel地址
#读取EXCEL对照表
df = pd.read_excel(url,dtype='object')  #强制object这样所有的数据成了字符串#生成定义函数,转换带K类用地,用\n换行,这里注意换行后的python对其格式
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就是可以直接显示!

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

【办公自动化】Excel“一键”生成国土“三调”转换代码相关推荐

  1. 【办公自动化】“一键”生成国土空间规划CAD标准图层

    回顾三调转换的前面几篇推文: [办公自动化]国土"三调"用地分类"一键"转南京分类 [办公自动化]国土"三调"用地分类"一键&qu ...

  2. 三调 图斑地类面积_国土三调攻坚冲刺,大疆无人机为调查举证提供加速度

    第三次全国土地调查(国土三调)已进入实地举证核查的攻坚阶段,大疆无人机解决方案正在辅助各地进行外业图斑举证工作.从导入图斑.自动规划航线,到举证拍摄.成果 DB 包生成.上传国土调查云平台,一体化工作 ...

  3. 今奥无人机举证_国土三调攻坚冲刺,大疆无人机为调查举证提供加速度

    原标题:国土三调攻坚冲刺,大疆无人机为调查举证提供加速度 第三次全国土地调查(国土三调)已进入实地举证核查的攻坚阶段,大疆无人机解决方案正在辅助各地进行外业图斑举证工作.从导入图斑.自动规划航线,到举 ...

  4. 成都领君国土三调数据建库与管理系统总体设计方案

    1,总体架构 国土三调数据建库与管理系统基于成都领君科技JLKEngine中间件平台库进行二次扩展开发完成,这是为满足国土三调的快速建库以及进行三调应用管理需要而设计的一个综合应用系统.JLKEngi ...

  5. Python办公自动化|一键生成数据分析报告

    前两天逛知乎的时候看到这样一个提问,Python自动化办公能做那些有趣或者有用的事情? 看了一下这个提问,我想这可能是很多职场人面临的困惑,想把Python用到工作中来提升效率,却不知如何下手?Pyt ...

  6. 【ArcGIS Pro微课1000例】0010:ArcGIS Pro导入ArcMap样式符号库——以国土三调样式为例

    样式是用于存储符号.颜色.配色方案.标注放置和布局项目的容器. 它们可以提升地图.场景和布局的一致性和标准化程度. 您创作地图.场景和布局时所使用的符号库和颜色选取器由存储在样式中的项目填充. Arc ...

  7. 今奥无人机举证_无人机助力国土 “三调”外业举证

    "首先观察图斑有没有多个地类,然后照片要按规范拍照,做到一次举证到位."近日,安昌街道九鼎村上空,一架无人机正在空中盘旋拍摄照片,原来这是安昌街道自然资源所工作人员借助新型设备开展 ...

  8. Excel一键生成工资条的另类操作

    该发工资了,该发工资了,老板让小王在一周之内把所有员工的工资整理好,并分成工资条打印.没想到小王在几秒之内就把这件事情搞定了,是什么神操作?????? (方方格子插件) 1.先看动图演示吧 2.选中数 ...

  9. GitHub开源:一键生成前后端代码神器

    目录 1.技术架构 2.微服务架构图 3.业务应用 本篇博客将为朋友们分享一款神器:JeecgBoot. JeecgBoot 是一款基于代码生成器的低代码开发平台,零代码开发.采用前后端分离架构:Sp ...

  10. Word【内容一键生成目录】

    一,打开目录导航 首先看你有没有打开Word的目录导航,如果打开了就跳过这一步,没有就接着 二,导航栏自动生成 这里强调一点,目录是可以自动生成的,不用自己进行制作,你只需要写内容就可以了,最后目录一 ...

最新文章

  1. Spring STS Call Hierarchy 查找不到被调用的信息
  2. 背景建模与前景检测3(Background Generation And Foreground Detection Phase 3)
  3. 大数据和人工智能的关系是什么?
  4. Linux:9个实用shell运维脚本,值得收藏!
  5. odps mapreduce学习笔记
  6. 常用-开发框架【转】
  7. 安防监控必备的基础知识
  8. blufr 算法的理解---理解的不对的,欢迎拍砖
  9. 验证 decimal 和 数字
  10. 爬虫-----自定义框架
  11. 一个果农儿子的心声,你倾听一下吧?
  12. [面试备忘]数组(一维)最大子串总结
  13. spark 稀疏矩阵存储详细解读
  14. nb模块不能接收公网消息_NB-IoT 对接调测问题汇总,你想知道的都在这儿 | 收藏吧...
  15. OpenCV4学习笔记(59)——高动态范围(HDR)成像
  16. 入职地府后我成了人生赢家_129、新鬼入职|入职地府后我成了人生赢家|入职地府后我成了人生赢家章节阅读-龙族小说网...
  17. Mac下Tesseract-OCR文字识别新手使用入门
  18. 睢阳区中小学计算机提升培训,商丘市中小学电脑制作活动培训顺利举行
  19. HTML figure 标签 figcaption 标签
  20. 如何启动单线程实现多线程效果及保证安全?

热门文章

  1. Java区块链视频教程百度云_区块链开发入门到精通视频教程
  2. 【考研数学】函数图像(三角函数、幂函数、指数函数等)
  3. 2016年考研数学一解析 ​​​
  4. 隐式函数声明警告---调用malloc函数但不包含头文件
  5. Pytorch Note19 优化算法5 Adadelta算法
  6. java实习鉴定书个人鉴定_大学生实习鉴定表自我鉴定范文
  7. 写一个自己的javascript库
  8. 《计算机网络 自顶向下方法》(第7版)答案(第四章)
  9. 银行综合前置系统IFS
  10. Camtasia2022电脑屏幕录像使用录屏教程