工作空间属性

摘要

Describe 函数将返回工作空间的以下属性。

对于工作空间,Describe dataType 属性将返回值 "Workspace"

属性

属性说明数据类型
connectionProperties
(只读)

connectionProperties 是一个属性集。 企业级地理数据库工作空间的连接属性因所使用的企业级数据库类型而异。 可能的属性包括:

  • authentication_mode - 连接的凭据身份验证模式,OSADBMS
  • database - 所连接的数据库。
  • historical_name - 所连接的历史版本的历史标记名称。
  • historical_timestamp - 表示所连接历史版本中某一时刻时间戳的日期时间。
  • is_geodatabase - 如果已启用数据库以支持地理数据库,将返回 true;否则返回 falseis_geodatabase 值以字符串形式返回。
  • instance - 所连接的实例。
  • server - 所连接的企业级服务器名称。
  • user - 所连接的用户。
  • version - 所连接的事务版本的名称。
  • branch - 所连接的分支版本的名称。

对于任意给定工作空间,只存在 historical_namehistorical_timestampversionbranch 中的一个。

Object
connectionString
(只读)

与企业级数据库类型结合使用的连接字符串。 对于其他任何工作空间类型,将返回空字符串。

String
currentRelease
(只读)

对于地理数据库工作空间,地理数据库版本为当前版本时将返回 TruecurrentRelease 属性可用于评估地理数据库是否可以升级。

Boolean
domains
(只读)

包含地理数据库属性域名称的列表。 要使用这些属性域名称,可使用属性域工具集中的工具。

String
release
(只读)

对于地理数据库工作空间,将返回地理数据库版本值。 地理数据库版本值与 ArcGIS 版本号之间的映射如下所示。

地理数据库版本值ArcGIS 版本

2.2.0

9.2

2.3.0

9.3、9.3.1

3.0.0

10.0 - 10.8.1

ArcGIS Pro 1.0 - ArcGIS Pro 3.1

String
workspaceFactoryProgID
(只读)

此 ID 是一个字符串;与 workspaceType 相比,您可使用此字符串以更细的粒度区分工作空间类型。

以下是针对常用工作空间类型返回的 workspaceFactoryProgID 值:

  • esriDataSourcesGDB.AccessWorkspaceFactory.1个人地理数据库
  • esriDataSourcesGDB.FileGDBWorkspaceFactory.1文件地理数据库
  • esriDataSourcesGDB.InMemoryWorkspaceFactory.1内存工作空间
  • esriDataSourcesGDB.MemoryWorkspaceFactory.1内存工作空间
  • esriDataSourcesGDB.SdeWorkspaceFactory.1企业级地理数据库
  • esriDataSourcesGDB.SqliteWorkspaceFactory.1移动地理数据库
  • (empty string)其他
注:

ArcGIS Pro 3.0 之前,内存工作空间将返回 esriDataSourcesGDB.ColumnaDBWorkspaceFactory.1 的值。

提示:

仅在 64 位产品中,由 workspaceFactoryProgID 返回的字符串后跟有 .1。 要使编写的代码可用于 32 位和 64 位产品,请使用字符串方法 startswith

describe = arcpy.Describe(data)
# Not - if describe.workspaceFactoryProgID == 'esriDataSourcesGDB.FileGDBWorkspaceFactory.1'
if describe.workspaceFactoryProgID.startswith('esriDataSourcesGDB.FileGDBWorkspaceFactory'):
    continue
String
workspaceType
(只读)

工作空间类型。

  • FileSystem基于文件的工作空间(coverage、shapefile 等)以及内存工作空间。
  • LocalDatabase本地地理数据库(文件或个人地理数据库)或内存工作空间。
  • RemoteDatabase需要远程连接的地理数据库(企业级、OLE DB 等)。
String

代码示例

工作空间属性示例

以下独立脚本显示了企业级数据库的一些工作空间属性:

import arcpy

# Create a Describe object for an SDE database
#
desc = arcpy.Describe(r"C:data\Connection to state.sde")

# Print workspace properties
#
print("%-24s %s" % ("Connection String:", desc.connectionString))
print("%-24s %s" % ("WorkspaceFactoryProgID:", desc.workspaceFactoryProgID))
print("%-24s %s" % ("Workspace Type:", desc.workspaceType))

# Print Connection properties
#
cp = desc.connectionProperties
print("\nDatabase Connection Properties:")
print("%-12s %s" % ("  Server:", cp.server))
print("%-12s %s" % ("  Instance:", cp.instance))
print("%-12s %s" % ("  Database:", cp.database))
print("%-12s %s" % ("  User:", cp.user))
print("%-12s %s" % ("  Version:", cp.version))

# Print workspace domain names"
#
domains = desc.domains
print("\nDomains:")
for domain in domains:
    print("\t" + domain)

在本主题中