Python, das die Dateigröße meines .mxd erhöht


14

Ich habe ein Geoverarbeitungsskript, das Folgendes ausführt.

arcpy.AddMessage("TEST...")

Ja, nur eine Codezeile.

Eine leere .mxd-Datei beginnt für mich bei 391 KB, während ich mein Skript ausführe und die Dateigröße vergrößert speichere.

391 kb
431 kb
451 kb
471 kb
and so on...

Ein Geoverarbeitungs-Python-Skript scheint die Dateigröße jedes Mal um 20-30 KB zu erhöhen.

Ich habe diesen Test mit einem aktuellen Skript durchgeführt, das etwas bewirkt und die Dateigröße um 40-60 KB erhöht ...

Ich habe auch ein leeres Skript ausgeführt, das absolut nichts anderes tut, als ausgeführt zu werden und trotzdem die Dateigröße um 20-30 KB zu erhöhen ...

Soweit ich ESRI Tech finden konnte

Eine Erhöhung der Dateigröße kann durch eine große Anzahl von Geoverarbeitungsergebnissen verursacht werden, die auf der Registerkarte Ergebnisse in ArcToolbox in ArcCatalog gespeichert sind.

Den Schritten im Artikel folgend konnte ich die Dateigröße von 589 KB auf 293 KB verringern, indem ich sie in einer neuen .mxd-Datei speicherte

Deine Gedanken, Erfahrungen damit? Hat jemand eine Möglichkeit gefunden, die Ergebnisregisterkarte automatisch aus einem Python-Skript zu löschen, damit ich nicht jedes Mal eine neue .mxd-Datei speichern muss?

AKTUALISIEREN:

@AHIGH Ich habe versucht, mit den von AHIGH vorgeschlagenen Geoverarbeitungsoptionen herumzuspielen. Scheint nicht zu verhindern, dass die Dateigröße zunimmt.

@ artwork21 Wenn ich zu "Geoverarbeitung"> "Ergebnisse" gehe und die Ergebnisse lösche, wird die Dateigröße verringert. Gibt es eine Möglichkeit, diesen Vorgang zu automatisieren, damit die Ergebnisse nach Ausführung des Skripts automatisch gelöscht werden?

ESRI: Verwenden von Geoverarbeitungsoptionen zum Steuern der Werkzeugausführung

Alle noch im ArcMap-Inhaltsverzeichnis enthaltenen Werkzeugergebnisse werden unabhängig von der Einstellung für temporäre Ergebnisse auf der Festplatte gespeichert. Dies liegt daran, dass die Geoverarbeitung davon ausgehen muss, dass beim Speichern eines Kartendokuments alles im Inhaltsverzeichnis von ArcMap gespeichert werden soll

Ich möchte, dass alles außer den Ergebnissen, die meine Dateigröße aufblähen, gespeichert wird ...

Wenn Sie das Kartendokument nicht speichern möchten, die Daten jedoch in einem einzelnen Layer speichern möchten, klicken Sie mit der rechten Maustaste auf den Layer und klicken Sie auf Daten> Permanent machen.

Keine wirklich praktische Lösung ...

In 10.1 gibt es neue Funktionen, mit denen ich mein Problem beheben kann. Vermutlich muss ich versuchen, mein Unternehmen dazu zu bringen, so schnell wie möglich auf 10.1 zu aktualisieren.

Python-Tool

Abhilfe Lösung:

Klicken Sie unter Geoverarbeitung> Geoverarbeitungsoptionen> Ergebnisverwaltung> "Ergebnisse jünger als" auf Nie speichern.

Dies verhindert, dass die Dateigröße zunimmt.

Alternativ können Sie versuchen, Ihre Skripte so zu schreiben, dass sie unabhängig von Arcmap laufen (dh ohne es zu öffnen).

Sie können effizienteren Code schreiben, der schneller ausgeführt wird. Wie ein Skript, das mehrere MxDs gleichzeitig ausführt.


1
Wenn Sie dies in ArcMap ausführen, haben Sie versucht, "Geoverarbeitungsvorgänge in einer Protokolldatei protokollieren" in den Geoverarbeitungsoptionen zu deaktivieren?
AHigh

Antworten:


13

Ich denke, es hat etwas mit dem Aufzeichnen der Informationen zu den Geoverarbeitungsergebnissen zu tun.

Bildbeschreibung hier eingeben

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.