Korzystam z narzędzia Calculate Field GP z arcpy w ArcMap. Gdy wartość wiersza jest aktualizowana, nie pojawia się, dopóki nie użyję narzędzia Przeładuj pamięć podręczną (Opcje tabeli> Przeładuj pamięć podręczną). Jak odświeżyć tabelę atrybutów automatycznie bez użycia ArcObjects?
Próbowałem zaktualizować zapytanie definicji, jak sugeruje @ blah238. Używając Pythona, jak „przeładować pamięć podręczną” otwartej tabeli atrybutów , ale to nie pomaga. Resetowanie źródła danych nie jest opcją, ponieważ klasa funkcji może znajdować się w sesji edycji i nie chcę utracić połączenia z danymi źródłowymi.
arcpy
arcmap
attribute-table
refresh
Alex Tereshenkov
źródło
źródło
Odpowiedzi:
Wygląda na to, że osiągasz ograniczenie ArcPy, przy braku ArcObjects.
Ograniczenia ArcPy.mapping zostały szeroko opisane tutaj jako:
Jeśli inna sugestia @ blah238 dotycząca korzystania z ArcObjects z ArcPy nie jest dla Ciebie opcją, być może najlepiej jest przesłać pomysł ArcGIS, aby ta funkcjonalność została udostępniona ArcPy. Jeśli opublikujesz tutaj link do takiego pomysłu ArcGIS, chętnie zagłosuję za nim.
źródło
To może, ale nie musi być przydatne dla twojego określonego przepływu pracy. Przekonałem się, że jeśli zmienisz zaznaczenie na warstwie, tabela atrybutów również się zaktualizuje.
Więc często używam
Oczywiście, jeśli rzeczywiście wybrałeś coś, czego nie chcesz stracić, nie jest to dobre. W takim przypadku możesz wybrać warstwę, na której OID znajduje się na liście OID z aktualnie wybranych funkcji (w zasadzie zmień zaznaczenie na to, co jest już wybrane). Może to zająć dużo czasu, nigdy nie próbowałem tego w prawdziwym życiu.
źródło
Czy próbowałeś:
lub
lub
Myślę, że jeden z nich będzie działał, ale wiem, że czasami w ArcMap muszę ręcznie zamknąć tabelę atrybutów, a następnie otworzyć ją ponownie, aby zobaczyć niektóre zmiany. Nie jestem pewien, czy zamknięcie i otwarcie stołu można zrobić za pomocą ArcPy, ale to też byłaby opcja.
źródło
To działa:
źródło