При создании таблицы или добавлении столбца в таблицу базы данных вы указываете определенный тип данных для столбца. Типы данных определяются, исходя из следующего:
- Какие значения можно хранить в столбце
- Какие операции можно применять к данным этого столбца
- Как данные этого столбца хранятся в базе данных
ArcGIS работает с определенными типами данных. При осуществлении доступа к таблице базы данных через Подключения к базам данных или слой запроса, ArcGIS отфильтровывает любые неподдерживаемые типы данных. ArcGIS не будет отображать неподдерживаемые типы данных, и вы не сможете редактировать их в ArcGIS. Аналогично, если при помощи ArcGIS копировать и вставлять таблицы, содержащие неподдерживаемые типы данных, из одной базы в другую, ArcGIS вставит только те столбцы, которые используют поддерживаемые типы данных.
В первом столбце в следующей таблице перечислены типы данных ArcGIS. Во втором столбце перечислены SQL Server типы данных, создаваемые ArcGIS. В третьем столбце показано, какие другие SQL Server типы данных (если имеются) сопоставляются типам данных ArcGIS при просмотре таблицы, созданной вне ArcGIS. В последнем столбце при необходимости предоставляется дополнительная информация.
Типы данных ArcGIS | Создаваемые типы данных SQL Server | Другие типы данных SQL Server, которые можно просматривать | Примечания |
---|---|---|---|
BLOB | VARBINARY(MAX) | BINARY, IMAGE, TIMESTAMP, VARBINARY(n) | |
DATE | DATETIME2(7) | DATETIME2(n), DATETIME, SMALLDATETIME | |
DOUBLE | NUMERIC(p,s) | DECIMAL, FLOAT, MONEY, SMALLMONEY | Точность и количество знаков, указанные в ArcGIS, могут повлиять на тип полученных данных, создаваемых в базе данных. Более подробно см. Типы данных полей ArcGIS. |
FLOAT | NUMERIC(p,s) | REAL | Точность и количество знаков, указанные в ArcGIS, могут повлиять на тип полученных данных, создаваемых в базе данных. Более подробно см. Типы данных полей ArcGIS. |
GEOMETRY |
| В многопользовательской базе геоданных тип создаваемых данных SQL Server зависит от параметра GEOMETRY_STORAGE ключевого слова конфигурации, использующегося при создании класса пространственных объектов. SDEBINARY = INT; GEOMETRY = столбец GEOMETRY; GEOGRAPHY = столбец GEOGRAPHY. В базе данных вы выбираете использование GEOMETRY или GEOGRAPHY при создании класса пространственных объектов. В настольных базах геоданных и базах геоданных рабочих групп используется тип GEOMETRY. ArcGIS не поддерживает следующие подтипы GEOMETRY:
| |
GLOBAL ID | UNIQUEIDENTIFIER | Поддерживается только базами геоданных. | |
GUID | UNIQUEIDENTIFIER | ||
LONG INTEGER | INT | ||
RASTER | BLOB, INT, ST_RASTER | Растровые типы данных поддерживаются только базами геоданных. В настольных базах геоданных и базах геоданных рабочих групп растры создаются в качестве данных типа BLOB. В многопользовательских базах геоданных тип создаваемых данных SQL Server зависит от ключевого слова конфигурации, использующегося при создании набора растровых данных или набора данных мозаики. Если для ключевого слова RASTER_STORAGE используется параметр RASTERBLOB, создается столбец BLOB, если BINARY – столбец INT, если ST_RASTER – столбец ST_Raster. Необходимо отдельно настроить ST_Raster в многопользовательской базе геоданных, если вы собираетесь его использовать. Инструкции см. в разделе Установка типа ST_Raster в SQL Server. | |
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 | |
TEXT | VARCHAR, NVARCHAR, VARCHAR(MAX), NVARCHAR(MAX) | CHAR, NCHAR |
Текстовые типы данных
Если вы создаете поле VARCHAR или VARCHAR(MAX) в базе данных SQL Server, то оно будет совмещено с типом данных ArcGIS TEXT при просмотре в ArcGIS. Если вы создадите поле TEXT в базе данных SQL Server в ArcGIS, то будет использоваться NVARCHAR или NVARCHAR(MAX).
В случае если параметр конфигурации UNICODE_STRING в многопользовательской базе геоданных равен FALSE, а длина текстового поля – 7999 символов и менее, используется VARCHAR.
Если параметр конфигурации UNICODE_STRING имеет значение FALSE, а длина текстового поля больше или равна 8000 символов, используется VARCHAR(MAX).
Если параметр конфигурации UNICODE_STRING имеет значение TRUE, а длина текстового поля меньше или равна 3 999 знаков, используется NVARCHAR.
Если параметр конфигурации UNICODE_STRING имеет значение TRUE, а длина текстового поля больше или равна 4 000 символов, используется NVARCHAR(MAX).
Геометрические типы данных
Как отмечено в таблице, ArcGIS создает и может работать с тремя типами данных геометрии в SQL Server: сжатый двоичный формат, SQL Server Geometry и SQL Server Geography.
Сжатый бинарный формат
Тип Esri compressed binary использует механизм бинарного хранения для хранения геометрии пространственных объектов. Хранение геометрии Compressed binary может использоваться только в базах геоданных. Сжатый бинарный класс пространственных объектов состоит из трех таблиц: бизнес-таблицы, таблицы объектов и таблицы пространственного индекса.
После проверки геометрии клиентское приложение сжимает и отсылает ее в базу геоданных, где она хранится в сжатом бинарном формате в таблице пространственных объектов, или F-таблице. Сжатие геометрии клиентским приложением снимает эту задачу с сервера базы данных и сокращает время на пересылку этой геометрии. Оно также обеспечивает эффективное хранение и извлечение пространственных данных, экономя пространство, необходимое для хранения данных, на целых 40 процентов.
В бизнес-таблице находятся атрибуты и пространственный столбец. Пространственный столбец является ключом к таблице объектов и таблице пространственного индекса.
Отношения между бизнес-таблицей и таблицей объектов управляются через пространственный столбец и столбец ID объектов (FID). Данный ключ, который поддерживается ArcGIS, является уникальным.
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.
- Для вычислений и пространственных сравнений используются модель эллипсоида (круглая Земля) и интерполяция отрезков линий между вершинами Great Elliptic.
- Тип Geography использует глобальный (на сфере) экстент слоя.
Координаты данных не могут выходить за пределы глобального экстента.
Растровые типы данных
В базе геоданных на SQL Server по умолчанию используется тип BLOB (rasterblob). Если необходимо получить доступ к растрам, хранящимся в базе геоданных с помощью SQL, настройте многопользовательскую базу геоданных на SQL Server на работу с типом ST_Raster.
Подробные сведения об определении объекта типа ST_Raster см. в разделе Тип данных ST_Raster.