ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Справка
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Картографическая платформа вашей организации

ArcGIS Desktop

Полноценная профессиональная ГИС

ArcGIS Enterprise

ГИС предприятия

ArcGIS for Developers

Инструменты для встраивания приложений с местоположениями

ArcGIS Solutions

Бесплатные шаблоны карт и приложений для отрасли

ArcGIS Marketplace

Получение приложения и данных для вашей организации.

  • Документация
  • Поддержка
Esri
  • Войти
user
  • Мой профиль
  • Выход

ArcMap

  • На главную
  • Начало работы
  • Карта
  • Анализ
  • Управление данными
  • Инструменты
  • Дополнительные модули

Поля уникальных идентификаторов в таблицах базы данных

  • Использование одного поля в качестве уникального идентификатора
  • Использование составного уникального идентификатора

Все таблицы и классы пространственных объектов ArcGIS должны содержать поле, уникально идентифицирующее каждый объект или каждую запись таблицы.

Для использования в качестве поля уникальных идентификаторов, поле не должно содержать пустые значения (null), должно иметь только уникальные значения и быть типа:

  • Integer (только положительные значения)
  • String
  • GUID
  • Date

Значения, однозначно идентифицирующие объекты или строки в ArcGIS, должны быть уникальными и должны присутствовать. Вы обязаны гарантировать, что данные этого поля удовлетворяют этим требованиям.

Примечание:

Если ArcGIS обнаружит пустое значение (null), то вы получите сообщение об ошибке, и ArcGIS не будет обеспечивать уникальность значений поля идентификатора в слое запросов или в таблице базы данных. Если ArcGIS встречает такое значение, то ошибка не возвращается; однако, результаты в выборке или других запросах в ArcGIS могут быть некорректны.

Когда вы перетаскиваете таблицу баз данных на карту или проверяете определение слоя запросов, ArcGIS считает первое найденное поле с ненулевым значением полем уникального идентификатора по умолчанию. Вы можете использовать это поле или открыть запрос и выбрать другое поле или несколько полей, содержащих уникальные идентификаторы. Инструкции см. в разделе Выбор поля уникального идентификатора.

Использование одного поля в качестве уникального идентификатора

Если указано единственное поле уникального идентификатора, ArcGIS непосредственно применяет значения из этого поля для уникальной идентификации всех объектов и строк таблицы базы данных.

Если в вашей таблице базы данных нет поля, которое может хранить уникальные идентификаторы, и вы используете базу данных ALTIBASE, IBM DB2, Microsoft SQL Server, Oracle или PostgreSQL, вы можете запустить инструмент геообработки Добавить поле прирастающего идентификатора, чтобы добавить целочисленное поле уникального идентификатора к таблице.

Если в качестве поля уникального идентификатора используется одно текстовое поле, ArcGIS должен привести эти значения в целочисленный формат. Это происходит в ArcGIS каждый раз, когда системе необходим атрибут ObjectID, например, при создании выборки карты или открывании атрибутивной таблицы. ArcGIS добавит атрибут ESRI_OID и сохранит в него уникальное целочисленное значение. Этот атрибут является частью только определения слоя; таблица базы данных не изменяется.

Использование составного уникального идентификатора

Вы можете выбрать одно или несколько полей для хранения уникального идентификатора. Если вы решите использовать несколько полей, составные значения этих полей должны быть уникальными. В следующем примере показаны два текстовых поля: member_surname и signup_date. По отдельности значения в этих полях не обязательно должны быть уникальными. Но при составлении их комбинации, значения уникальны, как показано ниже:

member_surnamesignup_date

alfred

2006-09-28 10:15:41

dewey

2006-09-28 10:15:56

johnson

2000-02-19 09:14:50

johnson

2004-12-08 11:02:32

mujan

2011-07-07 12:44:21

Комбинация этих значений будет использоваться в качестве ключа для создания уникального целочисленного значения, которое будет сохранено в поле ESRI_OID. Этот атрибут является частью только определения слоя; таблица базы данных не изменяется.

Определение слоя в предыдущем примере будет содержать столбец ESRI_OID, как показано ниже:

member_surnamesignup_dateESRI_OID

alfred

2006-09-28 10:15:41

1

dewey

2006-09-28 10:15:56

2

johnson

2000-02-19 09:14:50

3

johnson

2004-12-08 11:02:32

4

mujan

2011-07-07 12:44:21

5

Помните, что если комбинированные значения в полях или указанном вами одном текстовом поле не являются уникальными, ArcGIS рассматривает эти записи как идентичные и присвоит им одинаковые значения ESRI_OID.

Если в вашей таблице уже есть поле ESRI_OID, к определению слоя будет добавлен атрибут ESRI_OID_1.

Примечание:

Вы не можете опубликовать доступный для редактирования сервис пространственных объектов, который содержит класс пространственных объектов с составным уникальным идентификатором.

Связанные разделы

  • Выбор поля уникального идентификатора для слоя запросов

ArcGIS Desktop

  • На главную
  • Документация
  • Поддержка

ArcGIS Platform

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Об Esri

  • О нас
  • Карьера
  • Блог Esri
  • Конференция пользователей
  • Саммит разработчиков
Esri
Расскажите нам, что вы думаете.
Copyright © 2019 Esri. | Конфиденциальность | Правовая информация