Suite

Obtenir des couches à partir de .msd à l'aide d'ArcPy ?


J'ai besoin du nom de chaque couche dans un fichier .msd, mais je n'ai pas pu trouver de support avec arcpy (ArcGIS 10.0). Y a-t-il une méthode que j'ai ratée ?

Dans le workflow actuel, puisque je publie le document, j'utilise le service REST :

descriptionUrl = url + "/ArcGIS/rest/services/" + mapServer + "/MapServer?f=json" restResponseFp = urllib.urlopen(descriptionUrl) mapDescription =json.load(restResponseFp) layerNames = [str(layer["name" ]) pour la couche dans mapDescription["layers"]]

importer le fichier zip de xml.etree.cElementTree importer iterparse zz = zipfile.ZipFile('C:TempUntitled.msd') serviceNames = [] pour le nom dans zz.namelist() : if name == "DocumentInfo.xml " ou name == "layers/layers.xml": passez else: pour _event, elem dans iterparse(zz.open(name)): if elem.tag == "Name": serviceNames.append(elem.text) break zz.close()

Les fichiers associés aux calques sont nommés comme suit : calques/nom de la classe d'entités.xml

Les noms de service longs sont tronqués pour créer le nom de fichier, nous devons donc analyser le contenu du fichier pour gérer tous les cas.


Voir la vidéo: Arcgis: Merge the raster datasets fusionner raster arcgis Mosaic raster dataset ArcGIS (Octobre 2021).