工作空间属性

描述

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

工作空间将返回 "Workspace"dataType

属性

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

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

  • authentication_mode - 连接的凭据身份验证模式,OSADBMS
  • database - 所连接的数据库。
  • historical_name - 所连接的历史版本的历史标记名称。
  • historical_timestamp - 表示所连接历史版本中某一时刻的时间戳的日期时间。
  • is_geodatabase - 字符串。如果已启用数据库以支持地理数据库,将返回 true;否则返回 false
  • 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.1、10.2、10.2.1、10.2.2、10.3、10.3.1、10.4、10.4.1、10.5、10.5.1

ArcGIS Pro 1.0、1.1、1.2、1.3、1.4

String
workspaceFactoryProgID
(只读)

ID 是一个字符串。与 workspaceType 相比,此 ID 能以更细的粒度区分特定工作空间类型。例如,workspaceFactoryProgID 可区分文件地理数据库和个人地理数据库。而 workspaceType 则不能进行以上区分。

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

  • esriDataSourcesGDB.AccessWorkspaceFactory.1个人地理数据库
  • esriDataSourcesGDB.ColumnaDBWorkspaceFactory.1内存工作空间
  • esriDataSourcesGDB.FileGDBWorkspaceFactory.1文件地理数据库
  • esriDataSourcesGDB.InMemoryWorkspaceFactory.1内存工作空间
  • esriDataSourcesGDB.SdeWorkspaceFactory.1企业级地理数据库
  • (empty string)其他(shapefile、coverage、CAD、VPF 等)
提示:

仅在 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)

在本主题中