Я использую инструмент вычисления поля GP из arcpy в ArcMap. Когда значение строки обновляется, оно не отображается, пока я не использую инструмент «Обновить кэш» («Параметры таблицы»> «Обновить кэш»). Как автоматически обновить таблицу атрибутов без использования ArcObjects?
Я попытался обновить запрос определения, так как @ blah238 предложил использовать python, как «перезагрузить кеш» открытой таблицы атрибутов , но это не помогает. Сброс источника данных не вариант, потому что класс объектов может быть в сеансе редактирования, и я не хочу терять соединение с исходными данными.
arcpy
arcmap
attribute-table
refresh
Алекс Терешенков
источник
источник
Ответы:
Похоже, вы попали в ограничение ArcPy в отсутствие ArcObjects.
Ограничения ArcPy.mapping были широко описаны здесь как:
Если другое предложение @ blah238 об использовании ArcObjects из ArcPy для вас не подходит, то лучше всего представить ArcGIS Idea, чтобы эта функция была доступна ArcPy. Если вы разместите здесь ссылку на такую идею ArcGIS, я буду рад проголосовать за нее.
источник
Это может или не может быть полезно для вашего конкретного рабочего процесса. Я обнаружил, что если вы измените выделение на своем слое, то таблица атрибутов тоже обновится.
Поэтому я часто использую
Конечно, если у вас есть что-то, что вы не хотите потерять, то это не хорошо. В этом случае вы можете выбрать слой, где OID находится в списке OID из выбранных в данный момент объектов (в основном, измените выбор на тот, который уже выбран в данный момент). Это может занять много времени, чтобы быть практически, я никогда не пробовал в реальной жизни сценарий.
источник
Ты пробовал:
или же
или же
Я думаю, что один из них будет работать, но я знаю, что иногда в ArcMap мне приходится вручную закрывать таблицу атрибутов, а затем снова открывать ее, чтобы увидеть некоторые изменения. Я не уверен, что закрытие и открытие таблицы может быть сделано с помощью ArcPy, но это также будет вариант.
источник
Это работает:
источник