Основная информация о полях ObjectID
Поле ObjectID - важнейшее в ArcGIS и является гарантией уникальности ID для каждой строки в таблице. Когда вы смотрите на таблицу (в том числе таблицу атрибутов слоя), вы обычно видите поле ObjectID под псевдонимами OID или ObjectID для таблиц и слоев. От наличия этого поля зависят такие ключевые функции, как пролистывание и отображение выбранных наборов.
Большинство источников данных, поддерживаемых в ArcCatalog и ArcMap, имеют поле ObjectID в своих табличных данных. Поэтому поле ObjectID доступно напрямую и используется в окне Таблица (Table) в ArcMap и в таблице предварительного просмотра в ArcCatalog. Ниже представлены источники данных, не содержащие поле ObjectID в своих табличных данных:
- Данные OLE DB
- Данные текстовых файлов с разделителями
- Данные Microsoft Excel
- Непространственные данные из SDE 3 (Примечание: пространственные данные имеют поле ObjectID).
- Незарегистрированные непространственные данные из SDE 3 (Примечание: незарегистрированные пространственные данные имеют поле ObjectID).
- Незарегистрированные данные из персональных баз геоданных
Если вы не знаете, с каким типом таблиц вы работаете и есть ли в них поле ObjectID, вы можете легко это выяснить. В ArcMap, вверху окна таблицы содержания, щелкните кнопку По источникам (List by Source) , щелкните правой кнопкой мыши таблицу в таблице содержания и выберите Свойства (Properties). Щелкните на закладке Источник (Source) в диалоговом окне Свойства таблицы (Table Properties) и посмотрите, стоит ли там Да или Нет в строке Содержит поле объекта-ID (Has Object-ID Field). В ArcMap и ArcCatalog вы можете открыть в этой таблице диалоговое окно Свойства (Properties) и выбрать закладку Поля (Fields). Если в списке нет поля с типом данных ObjectID, эти данные не имеют поля ObjectID.
Если в вашей таблице отсутствует поле ObjectID, вы не сможете исполнять следующие операции:
- Выбирать объекты в слое на карте. Несмотря на то, что вы можете выбирать записи в окне Таблица (Table), включая выборку с помощью выражения в Выбрать по атрибуту (Select By Attributes), эта выборка не отражается на карте.
- Используйте определяющий запрос (definition query), чтобы отобразить только поднабор записей или пространственных объектов.
- Создавать связи. Вы можете связывать таблицу, не содержащую поле ObjectID с таблицей, содержащей поле ObjectID, однако в этом случае связь может быть использована инструментом Идентифицировать (Identify) для составления списка связанных записей. Вы не сможете выбирать связанные объекты.
- Открывать сеанс редактирования и редактировать атрибуты. Тем не менее, вы можете редактировать таблицу слоя напрямую на диске, в текстовом редакторе, если файл таблицы в формате .txt. Ваши изменения будут отражены на карте после ее обновления.
Существует несколько путей добавления поля ObjectID для ваших данных:
- Если вы работаете с таблицей координат X, Y, отображая ее в ArcMap, можно экспортировать слой X, Y в новый класс объектов. Вы можете также преобразовать таблицу координат в новый точечный класс объектов в ArcCatalog. Оба эти способа создают полнофункциональный класс пространственных объектов с ObjectID.
- Воспользуйтесь инструментом Создать таблицу запроса (Make Query Table), который позволит вам создать таблицу с помощью подключения OLE DB и выбрать столбец для поля ObjectID или динамически добавить поле ObjectID.
- При работе с некоторыми источниками данных можно зарегистрировать данные в ArcGIS и тем самым добавить поле ObjectID.
ArcGIS и база геоданных не может использовать 64-битовые целочисленные значения. Максимально возможное значение ObjectID - это 2147483648.