Отслеживание изменений в Arcgis 10.0

0 голосов
спросил 09 Июль, 18 от Denverino (430 баллов) в категории Программные продукты Esri
Приветствую. Вопрос такой, есть ли в Arcgis 10.0 какой то инструментарий отслеживания изменений? Если нет, то надо) А если серьезно может какие то альтернативные варианты предложите, например на уровне реляционной БД или еще что то. Спасибо заранее

1 Ответ

0 голосов
ответил 09 Июль, 18 от Grigoriy (120,160 баллов)

Отслеживания изменений чего? :)

На каком уровне нужно отслеживать эти изменения и с какой целью? :)

http://help.arcgis.com/en/arcgisdesktop/10.0/help/0027/002700000004000000.htm

оставил комментарий 09 Июль, 18 от Denverino (430 баллов)
Отслеживание изменений атрибутивной информации и(или) геометрии. Есть 2 идентичных набора пространственных данных, но к сожалению живущих в разных системах, без возможности прямой синхронизации. Поэтому для того чтобы данные оставались идентичными требуется наладить отслеживание изменений в слоях и фиксировать их например в атрибутивной колонке Дата создания(изменения). Слоев около 50, объектов в них более 100 тыщ. Работать будем в одной системе, а во вторую переносить только измененные объекты, главное определить какие
оставил комментарий 10 Июль, 18 от Grigoriy (120,160 баллов)
5 млн объектов можно и целиком перенести. Выгрузка из СУБД займет минут 10-20 :)
Но если хочется потренироваться с "изменениями", то в ArcGIS  это называется "распределённые данные" и "репликация".
При этом реплицирование можно выполнять, как в "онлайне".
Т.е. при наличии подключения между базами.
Так и полностью в оффлайне - перевозя реплики хоть на дискетах :)
Подробнее тут:
http://help.arcgis.com/en/arcgisdesktop/10.0/help/#/Understanding_distributed_data/002700000020000000/
Вот тут на русском:
https://desktop.arcgis.com/ru/arcmap/latest/manage-data/geodatabases/understanding-distributed-data.htm
оставил комментарий 10 Июль, 18 от Denverino (430 баллов)
С репликацией работаю да, хорошая штука, но для этой задачи не подходит. Во второй информационной системе пространственные данные хранятся несколько в другом виде все таки, да и вообще доступ к ним ограничен терминальным qgis). А так как больших изменений в данных уже не предвидится надо понять что обновлять.
Если честно сегодня почти докрутил лог изменений на уровне БД postgresql. Единственное у меня остался вопрос, дело в том что изменения объекта в Аркгис не  отображаются сразу в БД postgresql. ArcSDE сервис записывает изменения в базу с какой то периодичностью?
оставил комментарий 10 Июль, 18 от Grigoriy (120,160 баллов)
редактировать 10 Июль, 18 от Grigoriy
Если Вы работаете с версионными данными, то изменения попадают в таблицы A и D, а в основные таблицы переносятся только при выполнении "сжатия" (compress) базы геоданных.
Для получения "актуальных" данных средствами СУБД можно использовать "версионное представление" (multiversion view)
http://help.arcgis.com/en/arcgisdesktop/10.0/help/006z/006z0000000q000000.htm

Если данные "не версионные", то изменения пишутся сразу в основную таблицу. Если есть "задержка", то она зависит от настроек самой СУБД, а не от настроек sde.

Как вариант, можете включить "архивирование" для нужных классов:
http://resources.arcgis.com/en/help/main/10.1/0017/00170000016p000000.htm
Появятся поля с датой изменения.
Но Вы должны также помнить, что данные переносятся в "архивную" таблицу только в момент "сжатия" базы.

Будь у Вас ArcGIS поновее, то можно было бы включить "отслеживание изменений"
https://desktop.arcgis.com/ru/arcmap/latest/tools/data-management-toolbox/enable-editor-tracking.htm
К классу объектов в этом случае добавляется четыре поля:
created_user, created_date, last_edited_user, last_edited_date
Эти поля ArcGIS с версии 10.1 заполняет самостоятельно при редактировании.
http://resources.arcgis.com/en/help/main/10.1/0017/00170000016p000000.htm
Вы можете их создать самостоятельно и "повесить" на них "триггер".
Если знаете, как это может повлиять на Вашу работу с ArcGIS.
оставил комментарий 11 Июль, 18 от Denverino (430 баллов)
Григорий, большое спасибо! Я так вчера и сделал повесил на таблицу триггер, который пишет лог изменений. А теперь я понял в чем причина отсутствия изменений в таблице, я при регистрации слоя как версионный не ставил галочку "Сохранять в базу" и изменения действительно падали в A и D.
...