При создании таблицы или добавлении столбца в таблицу базы данных столбцы создаются с конкретным типом данных. Типы данных представляют собой классификации, которые позволяют определить возможные значения, операции, которые могут быть выполнены для этих данных, а также каким образом данные этого поля будут храниться в базе данных.
При осуществлении доступа к таблицам баз данных через ArcGIS вы можете работать со специфическими типами данных. При осуществлении доступа к таблице базы данных через узел Подключения баз данных в дереве Каталога или слой запроса в ArcMap ArcGIS отбирает все не поддерживаемые типы данных. Если вы работаете с таблицей базы данных непосредственно, не поддерживаемые типы данных не будут отображены в интерфейсе ArcGIS и вы не сможете редактировать их в ArcGIS. Кроме того, при копировании таблиц, содержащих не поддерживаемые типы данных с использованием ArcGIS, скопированы будут только данные поддерживаемых типов. Если вы вставляете таблицу в другую базу данных или базу геоданных, колонки не поддерживаемых типов данных представлены в ней не будут.
Когда вы создаете класс пространственных объектов или таблицу в ArcGIS либо добавляете столбец к существующей таблице или классу пространственных объектов с помощью ArcGIS, существуют 12 возможных типов данных, которые можно присваивать полям. Типы данных, не соответствующие этим типам, не могут напрямую использоваться в приложениях ArcGIS.
В первом столбце перечислены типы данных ArcGIS. Во втором столбце отображается тип данных SQL Server, который будет создан в базе данных. В третьем столбе показано, какие еще типы данных 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 | INT, GEOMETRY, GEOGRAPHY | В многопользовательской базе геоданных тип создаваемых данных SQL Server зависит от параметра GEOMETRY_STORAGE ключевого слова конфигурации, использующегося при создании класса пространственных объектов. SDEBINARY = INT; GEOMETRY = столбец GEOMETRY; GEOGRAPHY = столбец GEOGRAPHY. В настольных базах геоданных и базах геоданных рабочих групп используется тип GEOMETRY. В базе данных вы выбираете использование GEOMETRY или GEOGRAPHY при создании класса пространственных объектов. ArcGIS не поддерживает следующие подтипы геометрии:
| |
GLOBAL ID | UNIQUEIDENTIFIER | Поддерживается только базами геоданных. | |
GUID | UNIQUEIDENTIFIER | ||
LONG INTEGER | INT | ||
RASTER | INT, ST_RASTER | Растры поддерживаются только базами геоданных. В настольных базах геоданных и базах геоданных рабочих групп растры создаются в качестве данных типа INT. В многопользовательских базах геоданных тип создаваемых данных SQL Server зависит от ключевого слова конфигурации, использующегося при создании столбца растра. Если параметр RASTER_STORAGE ключевого слова равен 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 и Compressed binary (сжатый двоичный). Дополнительные сведения об использовании геометрического или географического типа в ArcGIS см. в Пространственные типы SQL Server и ArcGIS.
Сжатый бинарный формат
Тип Esri compressed binary использует механизм бинарного хранения для хранения геометрии пространственных объектов. Хранение геометрии Compressed binary может использоваться только в базах геоданных. Сжатый бинарный класс пространственных объектов состоит из трех таблиц: бизнес-таблицы, таблицы объектов и таблицы пространственного индекса.
После проверки геометрии клиентское приложение сжимает и отсылает ее в базу геоданных, где она хранится в сжатом бинарном формате в таблице пространственных объектов, или F-таблице. Сжатие геометрии клиентским приложением снимает эту задачу с сервера базы данных и сокращает время на пересылку этой геометрии. Оно также обеспечивает эффективное хранение и извлечение пространственных данных, экономя пространство, необходимое для хранения данных, на целых 40 процентов.
В бизнес-таблице находятся атрибуты и пространственный столбец. Пространственный столбец является ключом к таблице объектов и таблице пространственного индекса.
Отношения между бизнес-таблицей и таблицей объектов управляются через пространственный столбец и столбец идентификатора объектов (feature ID (FID) column). Данный ключ, который поддерживается ArcGIS, является уникальным.
Геометрия SQL Server
Здесь представлено краткое описание геометрического типа. Более подробные сведения о геометрическом типе и его использовании можно найти в документации к Microsoft SQL Server.
- Тип геометрии поддерживает любую систему координат X/Y.
- Для отображения и пространственных сравнений используются вычисления на плоскости (Евклидовы) и прямолинейная интерполяция между вершинами.
- Соответствует спецификации Open Geospatial Consortium (OGC) Simple Features for SQL версии 1.1.9 и совместимо с ISO-стандартом SQL MM.
География SQL Server
Здесь представлено краткое описание географического типа. Более подробные сведения о географическом типе и его использовании можно найти в документации к Microsoft SQL Server.
- Тип geography поддерживает многие стандартные географические системы координат, например, широта-долгота GPS.
Microsoft рекомендует использовать SRID и географические системы координат, заданные в словаре данных SQL Server.
- Для вычислений и пространственных сравнений используются модель эллипсоида (круглая Земля) и интерполяция отрезков линий между вершинами Great Elliptic.
- Использует глобальный (сфероидный) экстент слоя.
Координаты данных не могут выходить за пределы глобального экстента.
- В SQL Server 2008 и 2008 R2 объекты должны быть меньше полушария.
- При использовании в ArcGIS объекты не могут иметь z- или m-координаты, если используется SQL Server 2008 или 2008 R2.
Растровые типы данных
В базе геоданных на SQL Server по умолчанию используется целочисленный растровый тип. Если вы хотите получить доступ к растру базы геоданных с помощью SQL, вы можете настроить многопользовательскую базу геоданных на SQL Server на работу с типом ST_Raster.
Подробные сведения об определении объекта типа ST_Raster см. в разделе Тип данных ST_Raster.