Daha çox

ArcPy istifadə edərək .msd-dən təbəqələr əldə edirsiniz?


Bir .msd-də hər təbəqənin adına ehtiyacım var, amma arcpy (ArcGIS 10.0) istifadə edərək dəstək tapa bilmədim. Buraxdığım bir metod varmı?

Mövcud iş axınında, sənədi dərc etdiyim üçün REST xidmətindən istifadə edirəm:

descriptionUrl = url + "/ ArcGIS / rest / services /" + mapServer + "/ MapServer? f = json" restResponseFp = urllib.urlopen (descriptionUrl) mapDescription = json.load (restResponseFp) layerNames = [str (layer ["name") ]) xəritədəki təbəqə üçün Təsvir ["qatlar"]]

xml.etree.cElementTree-dən zipfile idxal etzparse zz = zipfile.ZipFile ('C:  Temp  Untitled.msd') serviceNames = [] ad üçün zz.namelist (): ad == "DocumentInfo.xml "və ya ad ==" təbəqələr / təbəqələr.xml ": başqa keçmək: üçün _event, elem in iterparse (zz.open (name)): if elem.tag ==" Name ": serviceNames.append (elem.text) break zz.close ()

Qatlarla əlaqəli fayllar belə adlandırılır: layer / featureclassname.xml

Fayl adını düzəltmək üçün uzun xidmət adları kəsilir, buna görə bütün halları idarə etmək üçün faylın məzmununu təhlil etməliyik.