Python zwiększa rozmiar pliku mojego .mxd


14

Mam skrypt geoprzetwarzania, który uruchamia następujące ...

arcpy.AddMessage("TEST...")

Tak, tylko jeden wiersz kodu.

Pusty plik .mxd zaczyna się dla mnie przy 391 KB, kiedy uruchamiam skrypt i zapisuję wzrost rozmiaru pliku.

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

Wydaje się, że skrypt Pythona do geoprzetwarzania zwiększa rozmiar pliku o 20-30 kb za każdym razem.

Uruchomiłem ten test na rzeczywistym skrypcie, który coś robi i zwiększa rozmiar pliku o 40-60 kb ...

Uruchomiłem też pusty skrypt, który nie robi absolutnie nic poza uruchomieniem i wciąż zwiększa rozmiar pliku o 20-30kb ...

Z tego, co mogłem znaleźć ESRI Tech

wzrost rozmiaru pliku może być spowodowany dużą liczbą wyników geoprzetwarzania przechowywanych na karcie Wyniki w ArcToolbox w ArcCatalog.

Postępując zgodnie z instrukcjami zawartymi w artykule, mogłem zmniejszyć rozmiar pliku z 589 kb do 293 kb, zapisując go w nowym pliku .mxd

Twoje myśli, doświadczenia z tym? Czy ktoś znalazł sposób na automatyczne usunięcie karty wyników ze skryptu Pythona, aby nie musiałem za każdym razem zapisywać nowego pliku .mxd?

AKTUALIZACJA:

@AHIGH Próbowałem bawić się opcjami Geoprocessing zgodnie z sugestią AHIGH. Wydaje się, że nie zatrzymuje wzrostu rozmiaru pliku.

@ artwork21 Jeśli przejdę do geoprzetwarzania> wyników i usunę wyniki, zmniejszy to rozmiar pliku. Czy istnieje sposób na zautomatyzowanie tego procesu, aby wyniki były automatycznie usuwane po uruchomieniu skryptu?

ESRI: Używanie opcji geoprzetwarzania do kontrolowania wykonywania narzędzia

Wszelkie wyniki narzędzi nadal znajdujące się w spisie treści ArcMap zostaną zapisane na dysku, niezależnie od ustawienia wyników tymczasowych. Wynika to z faktu, że geoprzetwarzanie musi zakładać, że zapisując dokument mapy, chcesz zapisać wszystko w spisie treści ArcMap

Chcę, aby wszystko zostało zapisane, z wyjątkiem wyników, które powiększają mój rozmiar pliku ...

Jeśli nie chcesz zapisać dokumentu mapy, ale chcesz zapisać dane w osobnej warstwie, kliknij warstwę prawym przyciskiem myszy i wybierz Dane> Ustaw na stałe.

Niezupełnie praktyczne rozwiązanie ...

W wersji 10.1 wprowadzono nowe funkcje, które pozwoliłyby mi rozwiązać problem. Zgaduję, że będę musiał zmusić moją firmę do aktualizacji do wersji 10.1 ASAP.

Narzędzie Python

ROZWIĄZANIE OBEJŚCIA:

W obszarze Geoprocessing> Opcje geoprzetwarzania> Zarządzanie wynikami> „Zachowaj wyniki młodsze niż:”> Ustaw na Nigdy nie zapisuj.

To powstrzyma wzrost rozmiaru pliku.

Alternatywnie możesz spróbować napisać swoje skrypty, aby uruchamiały się niezależnie od Arcmap (tj. Bez jego otwarcia).

Możesz pisać bardziej wydajny kod, który działa szybciej. Jak skrypt, który uruchamia wiele MXD jednocześnie.


1
Jeśli używasz tego z ArcMap, czy próbowałeś wyłączyć „Rejestruj operacje geoprzetwarzania do pliku dziennika” w opcjach Geoprocessing?
AHigh

Odpowiedzi:


13

Sądzę, że ma to coś wspólnego z rejestrowaniem informacji o wynikach geoprzetwarzania.

wprowadź opis zdjęcia tutaj

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.