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

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

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

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

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

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

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

bigint

Blob

varbinary(max)

binary, image, timestamp, varbinary(n)

Дата

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 AllSource следующие пространственные типы являются устаревшими:

  • 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

Только время

time

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

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

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

Текстовые типы данных в SQL Server

Если вы создаете поле varchar или varchar(max) в базе данных SQL Server, то оно будет сопоставлено с типом данных ArcGIS TEXT при просмотре в ArcGIS. Если вы создаете текстовое поле в базе данных SQL Server из ArcGIS, используется nvarchar или nvarchar(max).

В случае если параметр конфигурации UNICODE_STRING в многопользовательской базе геоданных SQL Server равен FALSE, а длина текстового поля – 8000 символов и менее, используется varchar.

Если параметр конфигурации UNICODE_STRING имеет значение FALSE, а длина текстового поля больше или равна 8001 символов, используется varchar(max).

Если параметр конфигурации UNICODE_STRING имеет значение TRUE, а длина текстового поля меньше или равна 4000 знаков, используется nvarchar.

Если параметр конфигурации UNICODE_STRING имеет значение TRUE, а длина текстового поля больше или равна 4 001 символов, используется nvarchar(max).

Геометрические типы данных в SQL Server

Как указано в таблице, ArcGIS AllSource создает и может работать в SQL Server с двумя типами геометрических данных: Esri SQL Server Geometry и SQL Server Geography.

SQL Server Geometry

Здесь представлено краткое описание типа Microsoft Geometry. Более подробные сведения о типе Geometry и его использовании можно найти в документации к Microsoft SQL Server.

  • Тип Microsoft Geometry поддерживает любую систему координат X/Y.
  • Для отображения и пространственных сравнений используются вычисления на плоскости (Евклидовы) и прямолинейная интерполяция между вершинами.
  • Соответствует спецификации Open Geospatial Consortium (OGC) Simple Features for SQL версии 1.1.9 и совместимо с ISO-стандартом SQL MM.

SQL Server Geography

Здесь представлено краткое описание типа Microsoft Geography. Более подробные сведения о типе Geography и его использовании можно найти в документации к Microsoft SQL Server.

  • Тип Geography поддерживает многие стандартные географические системы координат, например, широта-долгота GPS.

    Microsoft требует использования SRID и географических систем координат, заданных в словаре данных SQL Server.

  • Для расчетов и пространственных сравнений используется модель эллипсоида (круглой Земли) и интерполяция ортодромии сегментов линий между вершинами.
  • Тип Geography использует глобальный (на сфере) экстент слоя.

    Координаты данных не могут выходить за пределы глобального экстента.