Arcpy 将要素类添加到当前工作窗口(内容列表)

 

 test1
layer=arcpy.mapping.Layer( folder+"\\"+"result.shp") mxd = arcpy.mapping.MapDocument("CURRENT") df = arcpy.mapping.ListDataFrames(mxd)[0] arcpy.mapping.AddLayer(df,layer,"TOP")

 

test2    
layer_name = "acute angle_lyr" arcpy.MakeFeatureLayer_management(out_fc, layer_name,workspace=out_folder) out_layer = "{}\\acute angle_lyr.lyr".format(out_folder) arcpy.SaveToLayerFile_management(layer_name,out_layer) layer=arcpy.mapping.Layer(out_layer) mxd = arcpy.mapping.MapDocument("CURRENT") df = arcpy.mapping.ListDataFrames(mxd)[0] arcpy.mapping.AddLayer(df,layer,"TOP")

 

test3
def
AddLayerToMap(in_fc, lyr_name,lyrFile_saveFolder): arcpy.MakeFeatureLayer_management(in_fc, lyr_name,workspace=lyrFile_saveFolder) out_layer = "{0}\\{1}.lyr".format(lyrFile_saveFolder,lyr_name) arcpy.SaveToLayerFile_management(lyr_name,out_layer) layer=arcpy.mapping.Layer(out_layer) mxd = arcpy.mapping.MapDocument("CURRENT") df = arcpy.mapping.ListDataFrames(mxd)[0] arcpy.mapping.AddLayer(df,layer,"TOP") del layer,mxd

 

终:
#in_fc: feature class
#lyr_name 
#lyrFile_saveFolder: a folder used to save layer file.
def AddLayerToMap(in_fc, lyr_name,lyrFile_saveFolder):
    mxd = arcpy.mapping.MapDocument("CURRENT")
    df = arcpy.mapping.ListDataFrames(mxd)[0]
    for lyr in arcpy.mapping.ListLayers(mxd,"*",df):
        if lyr.name==lyr_name:
            arcpy.mapping.RemoveLayer(df,lyr)
    try:
        arcpy.MakeFeatureLayer_management(in_fc, lyr_name,workspace=lyrFile_saveFolder)
    # except:
    #     lyr_name=lyr_name+"_"+str(uuid.uuid1())
    #     arcpy.MakeFeatureLayer_management(in_fc, lyr_name,workspace=lyrFile_saveFolder)

    out_layer = "{0}\\{1}.lyr".format(lyrFile_saveFolder,lyr_name)
    if os.path.exists(out_layer):
        os.remove(out_layer)
    arcpy.SaveToLayerFile_management(lyr_name,out_layer) 
    arcpy.Delete_management(lyr_name)
    layer=arcpy.mapping.Layer(out_layer)
    arcpy.mapping.AddLayer(df,layer,"TOP")

 

转载于:https://www.cnblogs.com/yzhyingcool/p/11385621.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值