Типы данных баз данных, поддерживаемые в ArcGIS

При создании таблицы или добавлении столбца в таблицу базы данных вы указываете определенный тип данных для столбца. Типы данных определяются, исходя из следующего:

  • Какие значения можно хранить в столбце
  • Какие операции можно применять к данным этого столбца
  • Как данные этого столбца хранятся в базе данных

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

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

Dameng

Тип данных ArcGISТип данных Dameng созданДругие типы данных Dameng, которые можно просматриватьПримечания

Большое целое

bigint

Blob

BLOB

Date

datetime6

Только дата

date

Double

dec(p,s)

По умолчанию, p (точность) = 38 а s (масштаб) = 8.

Float

dec(p,s)

По умолчанию, p (точность) = 38 а s (масштаб) = 8.

Геометрия

st_geometry

GUID

char(38)

Long integer

integer

Object ID

integer

Short integer

smallint

Текст

varchar

Значение длины текстового поля по умолчанию 50.

Только время

время

Сдвиг метки времени

метка времени со сдвигом часового пояса

Типы данных Dameng, поддерживаемые в ArcGIS

IBM Db2

Тип данных ArcGISТип данных Db2 созданДругие типы данных Db2, которые можно просматриватьПримечания

Большое целое

bigint

Blob

BLOB

Date

timestamp

Только дата

date

Double

decimal(p,s)

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

Float

decimal(p,s)

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

Геометрия

ST_Geometry

Global ID

char(38)

Global ID поддерживается только базами геоданных.

GUID

char(UUID len)

Long integer

integer

Object ID

integer (32-bit object ID), big int (64-bit object ID)

Тип данных ArcGIS ObjectID соответствует столбцу с идентификаторами записей (ID) таблицы (или класса объектов). В таблице может быть только один.

Поле включает свойство identity при создании в базе данных.

Растр

BLOB

Тип растровых данных ArcGIS поддерживается только в базах геоданных.

Short integer

smallint

Текст

varchar

char

Только время

время

Сдвиг метки времени

Не применяется

Не поддерживается

Типы данных Db2, которые поддерживаются ArcGIS

Microsoft SQL Server

Тип данных ArcGISСозданные типы данных SQL ServerДругие типы данных SQL Server, которые можно просматриватьПримечания

Большое целое

bigint

Blob

varbinary(max)

binary, image, timestamp, varbinary(n)

Date

datetime2(7)

datetime2(n), datetime, smalldatetime

Только дата

date

Double

numeric(p,s)

decimal, float, money, smallmoney

Точность (p) и масштаб (s), указанные в ArcGIS, могут повлиять на тип полученных данных, создаваемых в базе данных. Для получения более подробной информации см. раздел Типы данных полей ArcGIS.

Float

numeric(p,s)

real

Точность (p) и масштаб (s), указанные в ArcGIS, могут повлиять на тип полученных данных, создаваемых в базе данных. Для получения более подробной информации см. раздел Типы данных полей ArcGIS.

Геометрия

  • geometry
  • geography

Укажите, следует ли использовать тип пространственных данных geometry или geography при создании класса пространственных объектов.

ArcGIS не поддерживает следующие подтипы геометрии:

  • CircularString
  • CompoundCurve
  • CurvePolygon
  • GeometryCollection

Примечание:

В ArcGIS Pro следующие пространственные типы являются устаревшими:

  • SDEBINARY
  • WKB_GEOMETRY

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

Если имеются сжатые двоичные данные, они хранятся в базе данных как тип данных INT.

Global ID

uniqueidentifier

Поддерживается только в базах геоданных.

GUID

uniqueidentifier

Long integer

int

Растр

int

Тип растровых данных ArcGIS поддерживается только в базах геоданных.

В корпоративных базах геоданных в SQL Server в базовой таблице создается целочисленное поле, а поля BLOB в связанных растровых таблицах хранят данные изображений.

OBJECT ID

int(4) when created in an enterprise geodatabase

integer with identity property when created in a database

Тип данных ArcGIS ObjectID соответствует столбцу с идентификаторами записей (ID) таблицы (или класса объектов). В таблице может быть только один такой тип.

Short integer

smallint

bit, tinyint

Текст

varchar, nvarchar, varchar(max), nvarchar(max)

char, nchar

Только время

время

Сдвиг метки времени

метка времени со сдвигом часового пояса

Типы данных SQL Server, которые поддерживаются ArcGIS

Oracle

Тип данных ArcGISСозданные типы данных OracleДругой тип данных Oracle, которые можно просматриватьПримечания

Большое целое

number(p)

number(p)

Значение точности (p) может находиться в диапазоне от 11 до 18.

Если не указать точность при создании большого целочисленного поля в ПО ArcGIS или ArcObjects SDK, будет создано поле Oracle number(38).

Blob

BLOB

Date

timestamp

Только дата

Не применяется

Не поддерживается

Double

number(38,8)

number(p,s)

Точность (p) и масштаб (s), указанные в ArcGIS, могут повлиять на тип полученных данных. Для получения более подробной информации см. раздел Типы данных полей ArcGIS.

Float

number(38,8)

number(p,s)

Точность (p) и масштаб (s), указанные в ArcGIS, могут повлиять на тип полученных данных. Для получения более подробной информации см. раздел Типы данных полей ArcGIS.

Геометрия

ST_Geometry или SDO_Geometry

Тип создаваемых данных Oracle зависит от указанного при создании класса пространственных объектов хранилища геометрии. Oracle Spatial = SDO_Geometry или spatial type = ST_Geometry.

Чтобы использовать ST_Geometry в базе данных (не в базе геоданных), вам нужно установить эту библиотеку.

Примечание:

В ArcGIS Pro следующие пространственные типы являются устаревшими:

  • SDEBINARY
  • SDELOB
  • WKB_GEOMETRY

Если они присутствуют в базе геоданных, то в базе данных они отображаются как числовые типы данных.

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

Global ID

char or nchar (UUID len)

Поддерживается только в базах геоданных.

Поле уникального идентификатора будет создано как nchar, если для параметра UNICODE_STRING ключевого слова конфигурации, с которым была создана таблица, было указано значение TRUE.

GUID

char or nchar (UUID len)

Поле уникального идентификатора будет создано как nchar в базе геоданных, если для параметра UNICODE_STRING ключевого слова конфигурации, с которым была создана таблица, было указано значение TRUE.

Long integer

number(10)

число(p)

Значение точности (p) может находиться в диапазоне от 6 до 10.

При создании с помощью ПО ArcGIS или ArcObjects SDK, если при этом значение точности не задано, в базе данных создается number(38); в ином случае используется заданная точность.

Точность может повлиять на тип полученных данных ArcGIS. Для получения более подробной информации см. раздел Типы данных полей ArcGIS.

Object ID

number(38) при создании в многопользовательской базе геоданных

number(38) с последовательностью при регистрации существующей таблицы базы данных базой геоданных.

number(38) всегда создается в качестве идентификатора при использовании ArcGIS для создания класса пространственных объектов или таблицы в базе данных Oracle либо при работе с инструментом геообработки Добавить прирастающее поле ID для добавления поля ID field к таблице базы данных Oracle.

Тип данных ArcGIS ObjectID соответствует столбцу с идентификаторами записей (ID) таблицы (или класса объектов). В таблице может быть только один.

Растр

BLOB or number(38)

Тип растровых данных ArcGIS поддерживается только в базах геоданных.

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

Short integer

number(5)

number(p)

Значение точности (p) может находиться в диапазоне от 1 до 5. Но в столбцах short integer могут храниться только значения в диапазоне от -32 768 до 32 767. Даже если точность числа равна 5, вы не можете хранить в столбце short integer значение, большее 32 767 или меньшее -32 768.

При создании с помощью ПО ArcGIS или ArcObjects SDK, если при этом значение точности не задано, в базе данных создается number(5); в ином случае используется заданная точность.

Точность может повлиять на тип полученных данных ArcGIS. Для получения более подробной информации см. раздел Типы данных полей ArcGIS.

Текст

varchar2, CLOB, nvarchar2 или NCLOB

Только время

Не применяется

Не поддерживается

Сдвиг метки времени

метка времени со сдвигом часового пояса

Типы данных Oracle, которые поддерживаются ArcGIS

PostgreSQL

Тип данных ArcGISСозданные типы данных PostgreSQLДругие типы данных PostgreSQL, которые можно просматриватьПримечания

Большое целое

bigint

Blob

bytea

Date

timestamp without time zone

метка времени с часовым поясом

Только дата

date

Double

numeric(p,s)

двойная точность

Точность (p) и масштаб (s), указанные в ArcGIS, могут повлиять на тип полученных данных, создаваемых в базе данных. Для получения более подробной информации см. раздел Типы данных полей ArcGIS.

Float

numeric(p,s)

decimal, double precision, numeric, real

Точность (p) и масштаб (s), указанные в ArcGIS, могут повлиять на тип полученных данных, создаваемых в базе данных. Для получения более подробной информации см. раздел Типы данных полей ArcGIS.

Геометрия

ST_Geometry, Geometry (PostGIS), Geography (PostGIS)

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

Чтобы использовать ST_Geometry в базе данных (не в базе геоданных), вам нужно установить эту библиотеку. Для получения подробной информации см. раздел Добавление типа геометрии ST_Geometry к базе данных PostgreSQL.

Для использования типа PostGIS geometry или geography необходимо установить PostGIS в кластер базы данных PostgreSQL и активировать работу с PostGIS в самой базе данных. Более подробная информация находится в документации по PostgreSQL.

Global ID

varchar(38)

Global ID поддерживаются только базами геоданных.

GUID

varchar(38)

UUID

Long integer

integer

serial

Object ID

integer (32-bit) или bigint (64-bit) в базе геоданных

Serial в базе данных

Тип данных ArcGIS ObjectID соответствует столбцу с идентификаторами записей (ID) таблицы (или класса объектов). В таблице может быть только один.

Растр

bytea

Тип растровых данных ArcGIS поддерживается только в базах геоданных.

Short integer

smallint

Текст

character varying

character, text

Если вы создаете текстовое поле с помощью SQL-клиента или стороннего приложения и не задаете длину (другими словами, длина равна 0), ArcGIS считывает это поле как CLOB.

Только время

время

время без часового пояса, время с часовым поясом

Сдвиг метки времени

Не применяется

Не поддерживается

Типы данных PostgreSQL, поддерживаемые в ArcGIS

SAP HANA

Тип данных ArcGISТип данных SAP HANA созданДругие типы данных SAP HANA, которые можно просматриватьПримечания

Большое целое

bigint

Blob

BLOB

Date

timestamp

date, seconddate, time

Только дата

date

Double

decimal(38,8)

decimal(p,s), number(p,s), numeric(p,s), bigint

p > 0

Точность (p) и масштаб (s), указанные в ArcGIS, влияют на тип полученных данных, создаваемых в базе данных.

Float

decimal(38,8)

decimal(p,s)

p <= 9 и s > 0

Точность (p) и масштаб (s), указанные в ArcGIS, влияют на тип полученных данных, создаваемых в базе данных.

Геометрия

ST_Geometry

Global ID

character(38)

Поддерживается только в базах геоданных.

GUID

character(38)

Набор латинских символов

Long integer

integer

decimal(p,0)

p <= 9

Object ID

bigint

На данный момент сохраняются только 32-битовые значения.

Растр

Не применяется

Тип растровых данных ArcGIS поддерживается только в базах геоданных.

Растры, созданные в базах геоданных на SAP HANA, используют собственный тип данных Esri.

Short integer

smallint

tinyint

Текст

nvarchar(50)

alphanum(n), nvarchar(n), CLOB, NCLOB

Только время

время

Сдвиг метки времени

Не применяется

Не поддерживается.

Типы данных SAP HANA, которые поддерживаются ArcGIS

SQLite

Базы данных SQLite (включая файлы Open Geospatial Consortium (OGC) GeoPackage) обрабатывают типы данных не так, как большинство других СУБД. SQLite имеет несколько классов хранения, в которых могут содержаться типы данных. SQLite позволяет присваивать имена типам данных, как в случае с типами realdate, realdateonly, geometryblob и uuidtext, которые появляются в SQLite, когда вы создаете в ArcGIS поля date, dateonly, geometry или guid. Он также выполняет поиск текстового литерала типа данных, чтобы определить, какой тип данных находится в столбце. Например, он находит слово int и предполагает, что это поле целочисленное. Поэтому если вы задаете тип данных point, SQLite предполагает, что это целочисленное поле, поскольку слово содержит последовательность int.

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

Тип данных ArcGISСозданные типы данных SQLiteДругие типы данных SQLite, которые можно просматриватьПримечания

Большое целое

int64

В OGC GeoPackage создается целочисленное значение.

Не поддерживается в базах данных SQLite, если установлен SpatiaLite.

Blob

blob(n)

Date

realdate

Только дата

realdateonly

В OGC GeoPackage создается дата.

Не поддерживается в базах данных SQLite, если установлен SpatiaLite.

Double

float64

numeric, double, float, boolean, real

integer, int, int64, int32 (в базах данных без установленного SpatiaLite)

Float

float64

Геометрия

geometryblob

Global ID

uuidtext

Поддерживается только в мобильных базах геоданных.

GUID

uuidtext в базах данных SQLite, текст в файлах GeoPackage

Long Integer

int32(n)

integer, int, int32 (в базах данных с SpatiaLite)

integer primary key (целочисленный первичный ключ)

n >= -2147483648 и n <= 2147483648

Object ID

int32

Short Integer

int16(n)

n >= -32768 и n<= 32768

Текст

text(n)

char, varchar, blob

Только время

texttimeonly

Не поддерживается в файлах GeoPackage и в базах данных SQLite, если установлен SpatiaLite.

Сдвиг метки времени

texttimestamptz collate tsorder

Не поддерживается в файлах GeoPackage и в базах данных SQLite, если установлен SpatiaLite.

Типы данных SQLite, поддерживаемые в ArcGIS

Устройство хранения данных Teradata

Тип данных ArcGISТип данных Teradata созданДругие типы данных Teradata, которые можно просматриватьПримечания

Большое целое

bigint

Blob

BLOB

Размер BLOB соответствует размеру по умолчанию в Teradata.

Date

timestamp

Только дата

date

Double

decimal(38,8)

decimal(n,m), number(n,m), numeric(n,m)

m > 0

Точность и количество знаков, указанные в ArcGIS, могут повлиять на тип полученных данных, создаваемых в базе данных.

Float

decimal(38,8)

decimal(n,m), number(n,m), numeric(n,m)

m > 0

Точность и количество знаков, указанные в ArcGIS, могут повлиять на тип полученных данных, создаваемых в базе данных.

Геометрия

CLOB (ST_Geometry)

Данное поле должно иметь имя shape, чтобы ArcGIS распознавал его как пространственный столбец.

GUID

character(38) character set latin

Long integer

integer

decimal(p,s), number(p,s), numeric(p,s)

precision (p) = 5, 6, 7, 8 или 9

scale (s) = 0

Object ID

integer

Short integer

smallint

decimal(p,s), number(p,s), numeric(p,s)

precision (p) <= 4

scale (s) = 0

Текст

varchar(50) character set unicode

varchar(n) character set unicode, varchar(n) character set latin, char(n) character set unicode, char(n) character set latin, JSON

Только время

время

Сдвиг метки времени

метка времени со сдвигом часового пояса

Типы данных Teradata, которые поддерживаются ArcGIS