摘要
Describe 函数会返回工作空间的下述属性。
对于工作空间,Describe dataType 属性将返回值 "Workspace"。
属性
属性 | 说明 | 数据类型 | ||||||||
connectionProperties (只读) | 企业级地理数据库工作空间的连接属性因所使用的企业级数据库类型而异。 connectionProperties 是一个属性集。 可能的属性包括:
对于任意给定工作空间,只存在 historical_name、historical_timestamp、version 或 branch 值中的一个。 | Object | ||||||||
connectionString (只读) | 与企业级数据库类型结合使用的连接字符串。 对于其他任何工作空间类型,将返回空字符串。 | String | ||||||||
currentRelease (只读) | 对于地理数据库工作空间,指定地理数据库版本是否为最新。 此属性可用于评估地理数据库是否可以升级。 | Boolean | ||||||||
domains (只读) | 包含地理数据库属性域名称的列表。 要使用这些属性域名称,使用属性域工具集中的工具。 | String | ||||||||
release (只读) | 对于地理数据库工作空间,将返回地理数据库版本值。 下表显示了地理数据库版本值到 ArcGIS 版本号的映射:
| String | ||||||||
supportsBigInteger (只读) | 指定工作空间是否支持大整型字段。 | Boolean | ||||||||
supportsBigObjectID (只读) | 指定工作空间是否支持具有 64 位对象 ID 的对象。 | Boolean | ||||||||
supportsDateOnly (只读) | 指定工作空间是否支持仅日期类型的字段。 | Boolean | ||||||||
supportsTimeOnly (只读) | 指定工作空间是否支持仅时间类型的字段。 | Boolean | ||||||||
supportsTimestampOffset (只读) | 指定工作空间是否支持时间戳偏移类型的字段。 | Boolean | ||||||||
workspaceFactoryProgID (只读) | 此 ID 是一个字符串;与 workspaceType 相比,您可使用此字符串以更细的粒度区分工作空间类型。 以下是针对常用工作空间类型返回的 workspaceFactoryProgID 值:
旧版本:在 ArcGIS Pro 3.0 之前,内存工作空间将返回 esriDataSourcesGDB.ColumnaDBWorkspaceFactory 的值。 提示:在 32 位产品中,workspaceFactoryProgID 返回的字符串后面跟着 .1。 如果要将编写的代码用于 32 位和 64 位产品,请使用 startswith 字符串方法。
| String | ||||||||
workspaceType (只读) | 指定工作空间类型。
| String |
代码示例
以下独立脚本显示了企业级数据库的工作空间属性:
import arcpy
# Create a Describe object for an Enterprise database
desc = arcpy.Describe(r"c:\data\Connection to state.sde")
print(f"Connection string: {desc.connectionString}")
print(f"WorkspaceFactoryProgID: {desc.workspaceFactoryProgID}")
print(f"Workspace type: {desc.workspaceType}")
# Print connection properties
cp = desc.connectionProperties
print("\nDatabase Connection Properties:")
print(f" Server: {cp.server}")
print(f" Instance: {cp.instance}")
print(f" Database: {cp.database}")
print(f" Database client: {cp.dbClient}")
print(f" User: {cp.user}")
print(f" Version: {cp.version}")
# Print workspace domain names
domains = desc.domains
print("\nDomains:")
for domain in domains:
print(f" {domain}")