Что такое object ID?
ObjectID — это столбец уникальных целочисленных и отличных от NULL значений, используемых для однозначной идентификации строк в таблицах базы геоданных. Значения ObjectID могут быть только 32-разрядными, то есть не могут быть больше 2 147 483 648.
В таблицы, которые были созданы в ArcGIS, или которые были созданы вне ArcGIS, а затем зарегистрированы в базе геоданных, автоматически добавляется поле ObjectID. Значения этого поля управляются базой геоданных. Идентификатор objectID используется в ArcGIS для прокрутки и вывода наборов выбора, а также выполнения операций идентификации для объектов.
Так как большинство функций ArcGIS for Desktop требует уникальности ObjectID, надо проявлять осторожность при непосредственной работе с базой данных, чтобы не создать повторяющиеся записи в полях типа ObjectID. Например, при создании видов со связями типа один-ко-многим есть вероятность продублировать ObjectID. А это приведет к некорректному поведению функций ArcGIS for Desktop.
Когда идентификатор objectID добавляется в таблицу?
Существует три способа добавления идентификатора objectID в таблицу:
- Управляемый базой геоданных столбец ObjectID автоматически добавляется в каждую таблицу, созданную в ArcGIS.
- Если в базе геоданных регистрируется таблица, которая не имеет квалификационный столбец, база геоданных добавляет другой столбец, удовлетворяющий требованиям идентификатора objectID. Если таблица уже содержит столбец по имени ObjectID, то база геоданных добавляет столбец по имени OBJECTID_.
- Если таблица регистрируется в ArcSDE с помощью команды sdetable или sdelayer, вы указываете при этом столбец идентификатора. Вы также указываете, будет ли столбец управляться ArcSDE или вами (управление пользователем).
При последующей регистрации таблицы в базе геоданных идентификатор строки таблицы используется для идентификатора objectID в базе геоданных, если указанный идентификатор строки управляется ArcSDE. Если вместо этого идентификатор строки управляется пользователем, то база геоданных добавляет новый столбец ObjectID при последующей регистрации в ней таблицы. Этот новый столбец ObjectID заменяет столбец, указанный при регистрации таблицы в ArcSDE. Он также изменяет тип данных пользовательского идентификатора objectID на длинное целое (long integer).
Поэтому, если вы собираетесь зарегистрировать таблицы в базе геоданных после ее регистрации в ArcSDE, необходимо зарегистрировать идентификатор строки как управляемый ArcSDE.