2017-06-06 1 views
0

J'essaie d'écrire un outil Python qui affiche les noms de tous les calques avec leurs types de géométrie, mais lorsque j'exécute mon code, il affiche tous les calques comme Polygone uniquement. Quelqu'un peut-il indiquer où je vais mal? Je suis un débutant.Liste des noms des couches avec les types de géométrie

Voici mon code à ce jour:

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 
+0

Soyez conscient qu'il ya plusieurs milliers de questions arcpy posées et des réponses à la Bourse Stack [de gis.se]. – PolyGeo

Répondre

1

Vous utilisez actuellement type = desc.shapeType, décrivant le shapeType d'un shapefile particulier. Cela ne vous parlera pas des couches individuelles du MXD (que vous parcourez en boucle avec for lyr in layers:).

Afin d'obtenir la shapeType d'une couche particulière, Describe à nouveau dans la boucle:

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

Cela a fonctionné comme un charme, merci. – kamweshi

+0

Heureux de vous aider! :) – Erica