CC工具箱使用指南:【添加Layer字段并赋值】

 一、简介

将GIS里的图层导出CAD里,Layer字段会被自动识别为图层名。

因些一般情况下导出CAD前都会添加Layer字段,并作好标记。

这个工具的目的就是添加Layer字段并赋值,方便下一步导出CAD。


二、工具参数介绍

右键点击图层,在弹出的【CC工具箱_通用02】找到【添加Layer字段并赋值】:

点击后即可打开下面的工具框界面:

1、文本参数

工具提供了多个文本标签和字段选择。

如图如示,Layer字段值将按照上面的顺序自动生成。

例如,3个标签和2个字段都填上:

生成的结果:

如果只填2个字段:

生成的结果:

如果只填1个字段:

生成的结果:

所见即所得,很容易理解,可以多试试。


三、工具执行结果

以上面截图为例,工具如果正常执行的话,提示框信息如下:

需要注意的是,如果图层没有【Layer】字段,工具会创建一个。​​​​​​​

import arcpy # 设置工具箱参数 input_features = arcpy.GetParameterAsText(0) # 输入要素图层 join_features = arcpy.GetParameterAsText(1) # 连接要素图层 output_features = arcpy.GetParameterAsText(2) # 输出要素图层 join_fields = arcpy.GetParameterAsText(3).split(';') # 连接要素图层中需要赋值字段,用“;”隔开 area_threshold = arcpy.GetParameterAsText(4) # 面积阈值,只有面积大于该值的要素才会被连接 # 创建空间连接对象 spatial_join = arcpy.SpatialJoin_analysis(target_features=input_features, join_features=join_features, out_feature_class=output_features, join_operation="JOIN_ONE_TO_MANY", join_type="KEEP_ALL", match_option="INTERSECT") # 根据面积阈值进行筛选 if len(area_threshold) > 0: arcpy.SelectLayerByAttribute_management(in_layer_or_view=spatial_join, where_clause="Shape_Area >= {}".format(area_threshold)) # 检查 SelectLayerByAttribute_management 函数的输入参数是否正确 desc = arcpy.Describe(spatial_join) if desc.dataType == 'FeatureClass': # 设置字段映射 field_mapping = arcpy.FieldMappings() for field in join_fields: field_map = arcpy.FieldMap() field_map.addInputField(spatial_join, field) output_field = field_map.outputField output_field.name = "{}_{}".format(join_features, field) field_map.outputField = output_field field_mapping.addFieldMap(field_map) # 对要素进行赋值 arcpy.FeatureClassToFeatureClass_conversion(spatial_join, output_features, "", field_mapping) else: arcpy.AddError("SelectLayerByAttribute_management 函数的输入参数不是要素图层。")运行错误:SyntaxError: EOL while scanning string literal (空间连接.py, line 38) 执行(空间连接多对一)失败。请改正代码
05-25
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

规划GIS会

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

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

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

打赏作者

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

抵扣说明:

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

余额充值