أكثر

هل تستخدم ArcPy لتصدير طبقات متعددة إلى ملفات .pdf؟

هل تستخدم ArcPy لتصدير طبقات متعددة إلى ملفات .pdf؟


لقد وجدت حلاً للمشكلة أدناه. كانت المشكلة تتعلق بترميز GetParameterAsText دون استخدامه فعليًا كمدخل في الأداة. كان هذا هو السبب في عدم تشغيل الطبقات النقطية.


أنا جديد إلى حد ما على بايثون. هذا سؤالي:

لدي خرائط نطاق فردية لعدة مئات من أنواع اللافقاريات ، ولكل منها نفس المدى. أرغب في تصدير هذه الخرائط إلى .pdf باستخدام Python في ArcGIS 10.2. تحتاج كل خريطة أيضًا إلى ملف أشكال "الأماكن" و "الأنهار" (هذان الملفان الشكلان متماثلان لجميع الأنواع).

لقد حاولت تعديل البرنامج النصي من تصدير كل طبقة في الخريطة لفصل الصورة باستخدام ArcPy؟ ، ولكن لا يبدو أنه يمكنني إظهار البيانات النقطية لخريطة النطاق.

يحتاج النص التالي إلى العمل (ويجب أن أعطي الفضل لـ Roy ، الذي أجاب على المنشور الآخر الذي ذكرته) ، ولكن هذا ما لدي حتى الآن:

mxd = arcpy.mapping.MapDocument ("CURRENT") df = arcpy.mapping.ListDataFrames (mxd، ") [0] allLayers = arcpy.GetParameterAsText (0) lyrList = allLayers.split ("؛ ") PDFPath = arcpy.Gextet (1) لـ lyr في arcpy.mapping.ListLayers (mxd، "، df): للطبقة في lyrList: if lyr.name ==" Places ": lyr.visible = True if lyr.name ==" Rivers ": lyr .visible = True if lyr.name == layer: lyr.visible = True arcpy.mapping.ExportToPDF (mxd، os.path.join (r "C:  Project_7  Newer_data  Inverts  GO"، PDFPath، lyr.name + ".pdf") ، القرار = 150) #EDIT: هذا الخط يعمل الآن. lyr.visible = قوس زائف.RefreshActiveView () del mxd

لا أعتقد أنني أضفت الحلقات في المكان الصحيح. أحتاج إلى طبقات "الأماكن" و "الأنهار" المعروضة على الخريطة في كل مرة (أي لكل خريطة نطاق).

لا أعرف كيفية تعديل ما يلي لملاءمة بياناتي:

arcpy.mapping.ExportToPNG (mxd، PDFPath + "" + lyr.name + ".pdf")

على وجه التحديد ، ما الذي يمكنني استبدال "" به؟ هل يجب أن تكون كلتا الخط المائل العكسي هناك؟ (على سبيل المثال ، PDFPath + "C: Project_7 Newer_data Inverts GO )

أيضًا ، لقد حاولت فقط تشغيل الكود التالي دون إضافة ملفي الشكل ، ولكن لا يبدو أن الطبقات قيد التشغيل.

لـ lyr في arcpy.mapping.ListLayers (mxd، "، df): للطبقة في lyrList: if lyr.name == layer: lyr.visible = True arcpy.RefreshActiveView ()

لست متأكدًا مما تحاول القيام به باستخدام اسم ملف الإخراج ، لكن إنشاءه بهذه الطريقة لن ينجح - يجب أن يبدأ المسار بـ C: .

أيضًا ، في Python ، من الممارسات الجيدة استخدام os.path.join لإضافة مسارات معًا ، على سبيل المثال

استيراد نظام التشغيل ... arcpy.mapping.ExportToPDF (mxd، os.path.join (r "C:  Project_7  Newer_data  Inverts  GO"، PDFPath، lyr.name + ".pdf"))

يعتبر الحرف "" الفردي في سلسلة أحرف هروبًا ، لذا يجب عليك إما إضافة "r" قبل السلسلة حتى يتعامل معها Python كسلسلة أولية ، أو استخدام "".


كنت سأستخدم صفحات تعتمد على البيانات ، كل منها يغطي نفس النطاق من الخريطة. يمكنك إظهار / إخفاء الطبقات في العرض إذا كان هناك حقل لتخزين اسم الصفحات. أضف حقلًا إلى كل طبقة واملأه باسم الصفحة ذات الصلة. استخدم نافذة استعلام التعريف للطبقة لإظهارها / إخفائها باستخدام خيارات التطابق / عدم المطابقة.