יותר

Arcpy.MakeFeatureLayer שכבת הזיכרון עדיין קיימת כאשר השלב הבא נכשל במהלך הבדיקה

Arcpy.MakeFeatureLayer שכבת הזיכרון עדיין קיימת כאשר השלב הבא נכשל במהלך הבדיקה


כאשר השתמשתי ב- arcgisscripting ליצירת שכבת פלט בזיכרון עם gp.makefeaturelayer, הייתי מכניסה אותה לניסיון / מלבד לחסום ומחיקה של אובייקט ה- gp בחתיכה למעט כאשר שכבת makefeaturelay תיכשל. עכשיו כשאני משתמש בקשת, נראה שאני צריך לסגור את חלון הבטלה ולפתוח שוב בכדי לגרום לשכבת הפלט בזיכרון להימחק.

כיצד אוכל למחוק את שכבת הפלט מכלי ה- makefeaturelayer שלי בבלוק ניסיון / למעט? תודה.


arcpy.Delete_management (featureLayer)

לְרַבּוֹת

arcpy.env.overwriteOutput = נכון

בתוך התסריט שלך יחליף כל גרסה קודמת של קובץ מבלי שתצטרך למחוק גירסאות "גרועות" כלל.


מחיקת שכבת התכונות בבלוק הקוד למעט לא תעבוד. אם אתה נמצא בבלוק הקוד למעט, שכבת התכונות נכשלה.

אני ממליץ להוסיף סוף סוף חסימת קוד שתבוצע בין אם בלוק הניסיון יצליח או לא. אם תעשה זאת, עליך לוודא ששכבת התכונות קיימת לפני שתוכל למחוק אותה.

נסה: arcpy.MakeFeatureLayer_management (inFeatureClass, "outFeatureLayer", {whereClause}) למעט: הדפס arcpy.GetMessages () לבסוף: אם arcpy.Exists ("outFeatureLayer"): arcpy.Delete_management ("outFeatureLayer")

צפו בסרטון: GEG4301 M6 ArcPy Mapping Module