При создании таблицы или добавлении столбца в таблицу базы данных вы указываете определенный тип данных для столбца. Типы данных определяются, исходя из следующего:
- Какие значения можно хранить в столбце
- Какие операции можно применять к данным этого столбца
- Как данные этого столбца хранятся в базе данных
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 при создании класса пространственных объектов. ArcGIS не поддерживает следующие подтипы геометрии:
Примечание:В ArcGIS AllSource следующие пространственные типы являются устаревшими:
Нельзя создать классы пространственных объектов, которые использовали бы эти типы хранилищ. В настоящее время можно просматривать классы пространственных объектов, использующие эти типы геометрии хранилищ, но эта функциональность будет удалена в будущем релизе. Используйте инструмент геообработки Изменить условия хранения, чтобы перенести классы пространственных объектов на поддерживаемые типы данных для обеспечения дальнейшего доступа к данным. Если имеются сжатые двоичные данные, они хранятся в базе данных как тип данных 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
Если вы создаете поле 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 использует глобальный (на сфере) экстент слоя.
Координаты данных не могут выходить за пределы глобального экстента.