ArcGisPro脚本工具【6】——湘源画的规划用地CAD带指标导入ArcGIS数据库

本次Arcpy脚本工具用的是ArcGisPro2.8版本,尽量使用同一版本,其它版本可以参照。

混进有

工具介绍

城规专业一般都使用湘源软件画规划用地图。现在很多工作都转入ArcGIS中,但是传统画的用地图想要完美转成数据库文件是比较麻烦的,比如:

1、有地块内线的用地怎么导入?

2、规划用地中的各种指标,如【容积率、建筑密度、绿地率、建筑限高……】,如何保留?

第2点是最难的。比较笨的办法是把这些指标编辑成文字,然后通过【空间连接】工具连接到地块上,但是这样明显太笨了,于是就有了这个工具。

这个工具不是简单用脚本就能解决的,需要用到ArcGIS Pro安装包全家桶里的【Data_Interoperability】。

这里分享一下我使用的ArcGIS Pro 2.8.6的安装包,里面有Data_Interoperability。安装好后,就相当于给ArcGIS Pro安装了一个FME组件。FME有的人可能知道,是数据处理的超级软件,有兴趣的可以上网学习一下。

ArcGIS_Pro_2.8.6安装包https://pan.baidu.com/s/1H_j_incqFLjghN5UQLHZWQ?pwd=rkeu

工具结构

工具主要是用FME写的,FME工具怎么写的这里就不多做介绍,只说明一下主要思路。有FME基础的人听得懂就行,没用FME的人,直接调用这个写好的工具,也不必深究。后面有机会专门讲一讲FME的用法。

这里最主要的工具是【AttributeExposer】,暴露地块的隐藏属性,可以把指标等各种属性暴露出来。后续就是字段整理,以及计算各类指标。

FME工具写好后,可以在ArcGIS Pro新建一个空间ETL工具。

在工具属性里,设置【工作空间】为你刚写好的FME工具。这相当于直接调用了这个FME工具。

但是由于FME工具在参数方面有些小问题,比如参数标签不能用中文,输出参数必须先指定数据库,再指定要素名称等等....用起来不太习惯。于是我新建了一个脚本工具,然后在脚本里调用FME工具,一切就变得熟悉了起来。

最后要调用的工具是这个:

其它文件也是有用的,不要删掉(测试用的cad可删)

最终参数有3个。 

1、【输入用地CAD】——湘源画的规划用地。这里需要重点说明的一点是。不管是ArcGIS还是FME,都是按【面】来认用地要素的。FME更优秀的一点是可以认【填充图案】。但是湘源画的用地是一种特殊的自定义块,正常情况下不管是ArcGIS还是FME都不能读取。所以我们需要把用地炸开,只取填充图案。

炸开后,我们会发现指标等隐藏属性已经不见了。这没关系,其实是还在的,进了FME就可以看到了。

最后一件重要的事情:用来输入的规划地块,即【填充图案】一定要干净,如果含有其它无关的要素导入进处理,是大概率会出错的。这里推荐一种方法,隔离用地图层,选择炸开后的用地,用【w】命令,写块写出一个新文件,用这个新文件作为输入地块。

2、【输入人均居住面积】——这是用来计算人口、停车位数量的参数。默认是45,这个可以根据当地实际情况调整,或者在输出结果后再修改指标,都可以,不重要。

3、【输出用地要素】——输出结果的用地要素。

脚本编写

主要思路

由于主要工具是FME写的,所以脚本里的代码只是基本的一些框架代码。

完整代码如下:

import arcpy
import os

# 获取文档位置
default_path = os.path.dirname(__file__)
arcpy.ImportToolbox(default_path + r"\cc工具箱.tbx")  # 加载cc工具箱

input_cad = arcpy.GetParameterAsText(0)     # 输入用地cad文件
pp_area = arcpy.GetParameter(1)              # 输入人均居住面积
output_fc = arcpy.GetParameterAsText(2)     # 输出用地要素

# 获取参数
gdb_FME = default_path + r'\FME导出.gdb'  # 临时FME导出gdb

# cad用地导入gdb
def cad2gdb():
    arcpy.AddMessage(r'——————————cad用地导入gdb——————————' )
    # 判断数据库里是否已经有存在同名要素【如果有则清除】
    fc = gdb_FME + r'\FME导出用地'   # 设置一个中间数据
    if arcpy.Exists(fc):
        arcpy.Delete_management(fc)
    # 使用FME工具【FMEcad2gdb】
    arcpy.cc.FMEcad2gdb(input_cad, gdb_FME, r'FME导出用地', pp_area)
    arcpy.AddMessage(r'——————————复制到目标gdb——————————')
    # 复制到目标gdb
    arcpy.CopyFeatures_management(fc, output_fc)

if __name__ == '__main__':
    cad2gdb()

结果展示

最终生成结果如下:

这里我对一些指标结果作了一些修正,比如绿地率有上下限,结果就是【10-20】这样的,如果是工业用地,建筑密度结果就是【建筑系数≥40%】之类的。如果想修改结果表达也没问题,我把原始的指标也按字段保留了下来,可以自己修正。

工具下载

最后,贴上工具下载地址:

工具下载:CAD用地带指标导入ArcGIS数据库https://pan.baidu.com/s/1SJpl31KfLU5z6mlKrL2DAw?pwd=p55o

  • 6
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: 湘源控规CAD 2014补丁是用于修复湘源控规CAD 2014版本中存在的一些bug和问题的程序。补丁的目的是提供一种解决方案,使CAD软件能够正常工作,并提供更好的用户体验。 CAD软件在使用过程中可能会出现各种问题,例如程序崩溃、功能失效、文件读取错误等。这些问题会影响用户的工作效率和准确性。为了解决这些问题,软件开发者会发布补丁,通过修复程序中的错误和缺陷来提高软件的稳定性和可靠性。 湘源控规CAD 2014补丁通过分析并修复CAD软件中已知的问题,以确保软件能够在不同的操作系统和硬件环境中正常运行。补丁可能会修复一些与绘图功能相关的错误,提升软件在处理复杂图形时的性能和稳定性。 补丁还可能会针对与用户界面和操作体验相关的问题进行修复,从而提供更好的用户交互和操作体验。例如,可能会修复一些界面卡顿、工具栏显示错误等问题,提升用户在软件中的工作效率。 为了安装湘源控规CAD 2014补丁,用户可以从官方网站或软件开发商的支持渠道获取补丁程序,并按照指导进行安装。安装补丁前,建议用户先备份重要的工作文件,以防止安装过程中数据丢失。 总之,湘源控规CAD 2014补丁是为了修复CAD软件中的错误和问题,提升软件的性能和稳定性,使用户能够更好地使用该软件进行绘图和设计工作。 ### 回答2: 湘源控规CAD 2014补丁是为了解决该软件在使用过程中可能出现的一些BUG和问题而发布的更新。补丁的目的是修复软件中的错误,提高其稳定性和性能。 在使用CAD软件时,可能会遇到一些问题,例如程序崩溃、功能无法正常运行等。湘源控规CAD 2014补丁就是为了解决这些问题而发布的。 补丁的安装通常很简单,只需下载并运行即可。在安装补丁之前,建议先备份原始软件,以防安装出现问题。一般来说,补丁会自动识别并修复软件中的错误,用户只需按照提示操作即可。 湘源控规CAD 2014补丁的发布对于使用该软件的用户来说是重要的。通过安装补丁,用户可以获得更稳定、更高效的软件使用体验,同时也可以充分利用软件的功能。 总之,湘源控规CAD 2014补丁是为了修复软件中的错误和问题而发布的更新。通过安装补丁,用户可以享受到更好的软件使用体验。 ### 回答3: 湘源控规CAD2014补丁是指针对湘源控规CAD2014软件的一种修复程序。补丁的作用是解决软件中可能存在的漏洞、错误或其他问题,以提高软件的性能和稳定性。通过安装补丁,可以修复软件中的bug,优化软件的功能,并且增强软件的安全性。 湘源控规CAD2014补丁是由湘源控规CAD2014的开发者或厂商发布的更新程序。用户可以从官方网站或软件的更新通知中下载和安装补丁。安装补丁的过程通常比较简单,用户只需按照提示操作即可完成。 安装湘源控规CAD2014补丁可以帮助用户避免软件出现的一些问题,并改善软件的使用体验。补丁通常可以修复软件中的一些功能性缺陷,帮助用户更好地完成工作。此外,补丁还可以提高软件的兼容性,使软件能够更好地与其他软件或操作系统协同工作。 总之,湘源控规CAD2014补丁是为了解决软件中的问题而发布的一种更新程序。用户可以通过安装补丁来修复软件的bug,改善软件的性能和安全性,提高软件的稳定性,从而更好地使用湘源控规CAD2014软件。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

规划GIS会

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值