创建表或向数据库中的表添加新列时,将为列定义特定数据类型。数据类型确定以下内容:
- 可以在该列中存储哪些值
- 可以在该列中对数据执行哪些操作
- 如何在数据库中存储该列的数据
ArcGIS 使用特定数据类型。通过数据库连接、查询图层或 web 服务访问数据库表时,ArcGIS 将过滤掉任何不受支持的数据类型。ArcGIS 不会显示不受支持的数据类型并且您无法通过 ArcGIS 编辑不受支持的数据类型。同样,使用 ArcGIS 将包含不受支持的数据类型的表从一个数据库复制和粘贴到另一个数据库时,ArcGIS 只粘贴使用受支持的数据类型的列。
下表第一列列出了 ArcGIS 的各个数据类型。第二列列出了 ArcGIS 创建的 SQL Server 数据类型。第三列显示了在查看 ArcGIS 外创建的表时哪些其他 SQL Server 数据类型(如果有)会映射到 ArcGIS 数据类型。最后一列用于提供所需其他信息。
ArcGIS 数据类型 | 创建的 SQL Server 数据类型 | 可以查看的其他 SQL Server 数据类型 | 备注 |
---|---|---|---|
BLOB | varbinary(max) | binary、image、timestamp、varbinary(n) | |
日期 | datetime2(7) | datetime2(n)、datetime、smalldatetime | |
双精度型 | numeric(p,s) | decimal、float、money、smallmoney | ArcGIS 中指定的精度和小数位数可以影响在数据库中创建的结果数据类型。有关详细信息,请参阅 ArcGIS 字段数据类型。 |
浮点型 | numeric(p,s) | real | ArcGIS 中指定的精度和小数位数可以影响在数据库中创建的结果数据类型。有关详细信息,请参阅 ArcGIS 字段数据类型。 |
几何 |
| 指定创建要素类时使用 GEOMETRY 还是 GEOGRAPHY。 ArcGIS 不支持以下 Geometry 子类型:
您无法在 ArcGIS Pro 中创建使用压缩二进制几何存储类型的要素类,但您可以在 ArcGIS Pro 中查看使用该类型的要素类。压缩二进制数据作为 INT 数据类型存储在数据库中。 | |
Global ID | uniqueidentifier | 仅地理数据库支持。 | |
GUID | uniqueidentifier | ||
长整型 | 整型 | ||
栅格 | BLOB, int | 仅地理数据库支持栅格数据类型。 在企业级地理数据库中,创建的 SQL Server 数据类型取决于创建栅格数据集或镶嵌数据集时使用的配置关键字。如果关键字的 RASTER_STORAGE 参数设置为 RASTERBLOB,则会创建 BLOB 列;如果该参数设置为 BINARY,则会创建 int 列。 | |
OBJECT ID | int(4) when created in an enterprise geodatabase integer with identity property when created in a database | ArcGIS 类型 ObjectID 是表(或要素类)的注册行 ID 列。每个表只能存在一个 ObjectID。 | |
短整型 | smallint | bit、tinyint | |
文本 | varchar, nvarchar, varchar(max), nvarchar(max) | char、nchar |
文本数据类型
如果在 SQL Server 数据库中创建 varchar 或 varchar(max) 字段,那么在 ArcGIS 中查看时,该字段将映射至 ArcGIS TEXT 数据类型。如果在 ArcGIS 中的 SQL Server 数据库中创建了一个文本字段,则会使用 nvarchar 或 nvarchar(max)。
在企业级地理数据库中,如果 UNICODE_STRING 配置参数设置为 FALSE,并且文本字段是 7,999 个字符或更少,则使用 VARCHAR。
如果 UNICODE_STRING 配置参数设置为 FALSE,并且文本字段是 8,000 个字符或更多,则使用 VARCHAR(MAX)。
如果 UNICODE_STRING 配置参数设置为 TRUE,并且文本字段是 3,999 个字符,则使用 NVARCHAR。
如果 UNICODE_STRING 配置参数设置为 TRUE,并且文本字段是 4,000 个字符或更多,则使用 NVARCHAR(MAX)。
几何数据类型
如表中所示,ArcGIS Pro 可在 SQL Server 中创建并使用两种几何数据类型:SQL Server 几何和 SQL Server 地理。
SQL Server 几何
以下内容是对 Microsoft 几何类型进行的总结。有关几何类型及其使用方式的详细信息,请参阅 Microsoft SQL Server 文档。
- Microsoft 几何类型支持所有 X/Y 坐标系。
- 平面(平地,欧氏)计算和折点间的直线插值用于渲染和空间比较。
- 符合 SQL 规范(版本 1.1.9)的开放地理空间联盟 (OGC) 简单要素,并符合 ISO 标准 SQL MM。
SQL Server 地理
以下内容是对 Microsoft 地理类型进行的总结。有关地理类型及其使用方式的详细信息,请参阅 Microsoft SQL Server 文档。
- 地理类型支持许多标准地理坐标系,例如 GPS 经度和纬度。
Microsoft 要求使用 SQL Server 数据字典中定义的 SRID 和地理坐标系。
- 椭圆体(圆形地球)模型和折点间的大椭圆线段插值用于计算和空间比较。
- 地理类型使用全球(椭圆体)图层范围。
数据坐标不能超过全球范围。
栅格数据类型
SQL Server 地理数据库中使用的栅格类型默认为 BLOB 类型 (rasterblob)。