gis里将当前mxd下的所有图层的名称写入其shape的属性表

import arcpy
mxd = arcpy.mapping.MapDocument(r"CURRENT")  #需要修改的mxd的路径
df  = arcpy.mapping.ListDataFrames(mxd, "")[0]                #该mxd下面第一个数据框
lyr = arcpy.mapping.ListLayers(mxd, "", df)             #该数据框下所有的图层
for ly in lyr:
    name=ly.name                                    #读取图层的名字
    try:
       arcpy.AddField_management(ly, "test", "TEXT", "", "", "20") #执行添加test的字段
    
       fieldName = "test"
       expression = "'"+name+"'"
       arcpy.CalculateField_management(ly, fieldName, expression, "PYTHON_9.3") #将名字写入test字段
    except Exception,e:
       print e

 

对于有用的人可能有用吧!-.-方便批量录入信息吧,复制代码的时候,最好别用CTRL+C,选择右上的代码复制

复制的代码在GIS 的Python窗口下打开,

如果显示解析错误,不如prasing error,,不知道的是网页的解码关系还是其他原因,把刚才在Python窗口运行的代码进行复制,然后进行粘贴,就能解析成功,可能因为从CSDN复制的代码可能解析方式不同,解码方式有ANSI,utf-8等等,虽然文字看上去一样,但是编码的结构却不同,所以很多人上传代码,都选择上传的文件原因。但是文件下载却需要积分,搞得非常的毛病。。。。

所以在此建议,如果复制的代码无法被解析,先粘贴网页的代码,然后从运行的窗口里将代码复制出来,再粘贴就不会出现解析错误了

  • 10
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值