Для всех слоев ArcGIS - включая слои запросов, слои из баз данных и баз геоданных - требуется уникальный идентификатор.
Для использования поля в качестве поля уникальных идентификаторов в ArcGIS AllSource оно не может содержать пустые значения, и должно содержать уникальные значения и быть одного из следующих типов:
- Integer (только 32- and 64-битные положительные значения)
- Строка
- GUID
- Date
- Только дата
- Только время
Значения в поле должны быть уникальными и не пустыми. Вы должны гарантировать, что значения этого поля удовлетворяют этим требованиям.
Примечание:
Если ArcGIS обнаружит пустое значение (null), то вы получите сообщение об ошибке, и ArcGIS не будет обеспечивать уникальность значений поля идентификатора в слое запросов или в таблице базы данных. Если ArcGIS встречает значение, не являющееся уникальным, то ошибка не возвращается; однако, результаты в выборке или других запросах в ArcGIS могут быть некорректны.
Если вы задаете слой запроса в одной таблице или в одном классе объектов многопользовательской базы геоданных, используйте поле ID в качестве поля уникального идентификатора.
Для таблиц реляционных баз данных и облачных хранилищ данных является обычным явлением наличие поля уникальных идентификаторов. Поэтому таблицы реляционной базы данных или облачного хранилища данных, скорее всего, уже содержат поле, значения которого вы сможете использовать в качестве уникальных идентификаторов. Если класс или таблица содержат поле с 32-битными, уникальными, не содержащими значений null целочисленными значениями, ArcGIS AllSource увидит соответствующее поле и установит его в качестве поля уникальных идентификаторов. Часто это поле оказывается подходящим для его использования в качестве поля уникальных идентификаторов. Однако, вы можете все равно выбрать одно или несколько полей из списка Поля уникального идентификатора вместо заданного по умолчанию поля. Чтобы выбрать уникальный идентификатор, измените слой запроса.
При добавлении слоя запроса, который обращается к таблице в базе данных документов, ArcGIS AllSource автоматически использует поддерживаемое системой строковое поле (_id) в качестве идентификатора объекта.
Чтобы опубликовать слой запроса в векторном слое (сервисе объектов), который ссылается на зарегистрированное хранилище данных, являющееся реляционной базой данных, облачным хранилищем данных или многопользовательской базой геоданных, поле ID должно быть простым, не null, уникальным, автоматически возрастающим целочисленным полем. Для подмножества поддерживаемых баз данных можно запустить инструмент геообработки Добавить поле возрастающего ID, чтобы добавить поддерживаемое поле идентификатора.
В настоящее время невозможно опубликовать слой запроса из базы данных документов.