Daha çox

ArcPy istifadə edərək əfsanədən element silinsin?


Silə bilmirəm maddə bu kodla arcpy istifadə edərək əfsanədən ("atikot" adlanan lyr):

arcpy-dən arcpy idxal env removeLyr = arcpy.mapping.ListLayers (mxd, "atikot") [0] mxd = arcpy.mapping.MapDocument (r "C:  Project  Project.mxd") legend = arcpy.mapping.ListLayoutElements (mxd, "LEGEND_ELEMENT") [0] legend.listLegendItemLayers (): if lyr.name == "atikot": legend.removeItem (lyr) del mxd

Kod işləmir. Kodda nəyin səhv olduğu barədə kiminsə fikri varmı?


Hesab edirəm ki, kodunuzdakı problem bir daxil etməməyinizdirmxd.save ()sonunda sənəd sənədinizi (mxd) silmədən əvvəl. Siz də özünüzə istinad edirsinizmxdtəyin etmədən əvvəl dəyişən.

Dəyişdirilən kodunuz belə olmalıdır:

arcpy-dən arcpy idxal env mxd = arcpy.mapping.MapDocument (r "C:  Project  Project.mxd") legend = arcpy.mapping.ListLayoutElements (mxd, "LEGEND_ELEMENT") [0] in lyr in legend.listLegendItemLayers ( ): əgər lyr.name == "atikot": legend.removeItem (lyr) mxd.save () del mxd

Xəritə sənədini (mxd) saxladığınızdan əmin olun əvvəl silirsən.


Nəhayət, bir neçə mxd-də əfsanədən elementi silməyə çalışdım və nəticədə çıxan kod budur:

idxal arcpy idxal arcpy.mapping idxal arcpy-dən idxal os sys idxal env.workspace = arcpy-də mxdname üçün r "C:  Project" ("*. mxd"): çap mxdname mxd = arcpy.mapping.MapDocument (r "C:  Project " + mxdname) legend = arcpy.mapping.ListLayoutElements (mxd, "LEGEND_ELEMENT") [0] in lyr in legend.listLegendItemLayers (): if lyr.name == "atikot": legend .removeItem (lyr) print 'remove' mxd.save () del mxd

Dərslik: Xəritə əfsanəsini dəyişdirin və ArcPy istifadə edərək əlavə çap parametrlərini ötürün

Aşağıdakı şəkil, yaratacağınız JavaScript üçün ArcGIS API istifadə edərək nümunə bir veb GIS tətbiqini göstərir. Veb tətbiqində son istifadəçi bunları edə biləcək:

  • Maraqlanan bir sahəyə gedin.
  • Mərhələ şəkli şablonu seçin.
  • Çıxış formatını seçin.
  • Veb tətbiqindən Çap Tapşırığına əlavə bir parametr ötürərək georeferans məlumatlarını bir çıxış PDF sənədinə ixrac edib etməyinizi seçin. (Bu barədə daha ətraflı məlumat aşağıda.)
  • Xəritədə hansı xidmət sublayerlərinin açıq / söndürüldüyünə nəzarət edin.
  • Çıxış sənədindəki əfsanədə hansı xidmət alt qatının açıq / söndürüldüyünə nəzarət edin. (Yəni bir qat xəritədə açıq və əfsanədə ola bilər.)
  • Xəritəni xidmət təbəqələri üçün vektor çıxışı olan çap üçün uyğun bir formata ixrac edin.

Nümunə çıxışı PDF aşağıda. Veb tətbiqindəki Mündəricat və Əfsanədə söndürülmüş təbəqələrin nəticədə əks olunduğunu unutmayın.

Export Map düyməsinin arxasındakı kod JavaScript Print Task üçün ArcGIS API istifadə edir. Bu təlimat ayrıca əlavə parametrlərin Çap Tapşırığına necə keçiləcəyini, məsələn, georeferans məlumatlarını çıxışı PDF sənədinə ixrac edib etməyəcəyinizi göstərəcəkdir.

Çap Tapşırığına əlavə parametrlər ötürmək qabiliyyəti faydalıdır, çünki veb tətbiqetmədən istənilən sayda əlavə parametr toplamağa imkan verir.

Çap Tapşırığının istifadə edəcəyi bir geosərəsləmə xidməti olaraq yayımlanacaq bir Python skriptini də yaradacaqsınız. Python skripti arcpy.mapping modulundakı ConvertWebMapToMapDocument funksiyasından istifadə edir ki, bu da veb xəritənin tam vəziyyətini mərhələli şablon xəritəsi sənədinə daxil edəcəkdir.

İstifadəçinin seçə biləcəyi bir neçə şablonu səhnələşdirəcəksiniz. Hər bir şablon xəritə xidmətindəki bütün mümkün təbəqələrin vektor ekvivalentlərini ehtiva edir. Mərhələli şablonlarda əfsanə, dinamik mətn və s. Kimi digər elementlər də ola bilər. Arcpy.mapping modulu ayrıca xidmət qatlarını müəyyənləşdirmək və onları yerli məlumatlara yönəldən təbəqələr üçün dəyişdirmək və PDF kimi müxtəlif formatlara ixrac etmək üçün funksionallıq təmin edir.

Bu təlimatda ümumiyyətlə C: Program Files (x86) ArcGIS Desktop & ltVersion & gt (32 bit əməliyyat sistemlərində) yerləşən ArcGIS Desktop quraşdırma qovluğundakı MapTemplates və TemplateData qovluqları istifadə olunur. Bu təlimatda xəritə şablonları və şablon məlumatlarının mövcud olduğu və dəyişdirilmədiyi düşünülür. Əgər belə deyilsə, ArcGIS Desktop-ı yenidən qurmalısınız.


Videoya baxın: تعلم برنامج ARCGIS: تصحيح أخطاء الرسم وأساليب اختصار الرسم Editing in Arcmap (Oktyabr 2021).