列表映射具有几何类型的图层名称

时间:2017-06-06 05:52:36

标签: python gis arcpy

我正在尝试编写一个Python工具,它显示所有图层的几何类型的名称,但是当我运行我的代码时,它只显示所有图层为Polygon。有人能指出我哪里错了吗?我是新手。

到目前为止,这是我的代码:

import arcpy.mapping as mapping
mxd = mapping.MapDocument ("CURRENT")
layers = mapping.ListLayers(mxd)
inFC = arcpy.GetParameterAsText(0)
outFC = arcpy.GetParameterAsText(1)
desc = arcpy.Describe("C:/Program Files(x86)/ArcGIS/Desktop10.4/Reference Systems/utm.shp")
type = desc.shapeType
for lyr in layers:
    print lyr.name +" " + type

1 个答案:

答案 0 :(得分:1)

您当前正在使用type = desc.shapeType,描述特定shapefile的shapeType。这不会告诉您MXD中的各个图层(您使用for lyr in layers:进行循环)。

为了在循环中再次获取特定图层的shapeTypeDescribe

for lyr in layers:
    desc = arcpy.Describe(lyr)
    print lyr.name, desc.shapeType