创建 Indoors 数据库 (Indoors)

摘要

创建符合 ArcGIS Indoors 信息模型Indoors 地理数据库,并包含维护用于地面规划制图、路由、空间规划和工作空间预留的室内数据所需的要素类、字段和表。

使用情况

  • 目标地理数据库必须已经存在。

  • 使用企业级地理数据库时,该连接文件必须直接连接到数据库,并且必须由数据库所有者建立此连接。

  • 此工具的输出可用于将平面图导入 Indoors 地理数据库工具,以将 CAD 楼层平面度导入 Indoors 工作空间。 输出也可用于将 BIM 导入室内数据集工具以将 BIM 楼层平面图加载到您的 Indoors 工作空间。

  • 可选创建室内网络参数用于创建 Network 和 PrelimNetwork 数据集和要素类以支持室内空间之间的路由。

  • 使用坐标系参数设置输出 Indoors 数据库的空间参考。 水平和垂直坐标系均为必填项。 如果未设置空间参考,则输出 Indoors 数据库将使用 WGS84 Web 墨卡托(辅助球体)作为水平坐标系,WGS84 作为垂直坐标系。

    注:

    选择坐标系时,执行以下操作:

  • 可选的创建属性规则参数可以创建属性规则集合,以用于质量保证工作流。 目标地理数据库必须是启用了分支版本化的文件地理数据库或企业地理数据库。 不支持传统版本化。

    注:

    仅当您是第一次创建 Indoors 数据集时才会创建属性规则。 如果您拥有现有 Indoors 数据集,则可以使用导入属性规则工具导入属性规则。 属性规则在 ArcGIS Pro 安装文件的 <Installation location>\Resources\AttributeRules\Indoors\<Feature class name>.csv 中存储为 .csv 文件。

    在选中创建属性规则参数的情况下运行工具时,将创建以下项目:

    • 将在室内数据集中的要素类中创建 GlobalID 字段。
    • 将在室内数据集的每个要素类中创建编辑者追踪字段,并且启用编辑者追踪。
    • 将在室内数据集中的要素类中创建 VALIDATIONSTATUS 字段。 此字段在错误检查器窗格中进行管理,用于确定自最近更新以来是否已针对要素运行属性规则。
    • 四个错误数据集将作为独立图层添加到地理数据库,分别对应于点、折线、面和表错误。 这些数据集在错误检查器窗格中进行管理。
    • 将在错误数据集中创建 LEVEL_ID 字段以支持可视化楼层感知型地图中的错误。
    • 一系列验证和计算规则将应用于地点、设施点、单元和详细信息要素类。 验证规则将在您指定的时间运行,以检查数据中的问题。 包含的计算规则用于管理错误检查器窗格中的验证状态字段,该字段确定是否针对要素运行验证检查。
  • 创建 Indoors 数据集时,会为 Reservations 要素类创建一个约束属性规则,在 Indoors Web 应用程序和移动应用程序之外编辑预订时,该规则在工作空间预订工作流中提供额外的安全性。 无论您如何设置创建属性规则参数,此属性规则都会添加到 Reservations 要素类。

    为了获得约束属性规则提供的附加安全性,必须将 Reservations 图层作为引用已注册数据的 Web 图层发布到 ArcGIS Enterprise。 否则,Reservations 图层将在没有属性规则的情况下发布。

    注:

    此工具仅在创建 Indoors 数据集时将约束属性规则添加到 Reservations 要素类。 要将此属性规则添加到现有的 Reservations 要素类,您必须首先将全局 ID 添加到 Reservations 要素类,并确保 Indoors 工作空间包含 AreaRoles 表。 然后,使用导入属性规则工具将规则添加到 Reservations 要素类。 该规则作为 .csv 文件存储在您的 ArcGIS Pro 安装中,位于 <Installation location>\Resources\AttributeRules\Indoors\Reservations.csv

    了解有关更新现有 Indoors 工作空间以支持预订管理的详细信息

参数

标注说明数据类型
目标地理数据库

包含 ArcGIS Indoors 信息模型的地理数据库,用于管理室内 GIS 信息以在 Indoors 应用程序中使用。

Workspace
创建室内网络
(可选)

指定是否在 Indoors 数据库中创建包含室内交通网络要素类(地标、路径和楼层过渡)的网络数据集。

  • 选中 - 将创建网络数据集和要素类。 这是默认设置。
  • 未选中 - 不会创建网络数据集和要素类。
Boolean
坐标系
(可选)

输出 Indoors 数据库的空间参考。 如果未设置空间参考,则输出 Indoors 数据库将使用 WGS84 Web 墨卡托(辅助球体)作为水平坐标系,WGS84 作为垂直坐标系。

Spatial Reference
创建属性规则
(可选)

指定是否将在 Indoors 数据库中创建属性规则以及相关字段和错误数据集。 这些属性规则包括用于楼层平面图数据质量控制工作流的验证校验。 目标地理数据库必须是已配置为分支版本化的文件地理数据库或企业级地理数据库。

  • 选中 - 将创建属性规则。 这是默认设置。
  • 未选中 - 不会创建属性规则。
Boolean

派生输出

标注说明数据类型
更新后的地理数据库

将在其中生成 Indoors 方案和数据结果的地理数据库。

Workspace

arcpy.indoors.CreateIndoorsDatabase(target_gdb, {create_network}, {spatial_reference}, {create_attribute_rules})
名称说明数据类型
target_gdb

包含 ArcGIS Indoors 信息模型的地理数据库,用于管理室内 GIS 信息以在 Indoors 应用程序中使用。

Workspace
create_network
(可选)

指定是否在 Indoors 数据库中创建包含室内交通网络要素类(地标、路径和楼层过渡)的网络数据集。

  • CREATE_NETWORK将创建网络数据集和要素类。 这是默认设置。
  • NO_CREATE_NETWORK不会创建网络数据集和要素类。
Boolean
spatial_reference
(可选)

输出 Indoors 数据库的空间参考。 如果未设置空间参考,则输出 Indoors 数据库将使用 WGS84 Web 墨卡托(辅助球体)作为水平坐标系,WGS84 作为垂直坐标系。 可通过多种方式指定空间参考,包括:

  • 引用包含要应用的空间参考的要素类或要素数据集(例如 C:/workspace/myproject.gdb/indoors/details)。
  • 定义 SpatialReference 对象。 您可以使用以下任意一个选项来定义空间参考对象:
    • 工厂代码,例如:sr = arcpy.SpatialReference(3857, 115700)
    • 名称,例如:sr = arcpy.SpatialReference("WGS 1984 Web Mercator (auxiliary sphere)", "WGS 1984")
  • 使用空间参考的熟知文本 (WKT) 字符串。 一种可用于确定空间参考的 WKT 的方法是将空间参考导出为字符串,例如 arcpy.SpatialReference(3857, 115700).exportToString()

Spatial Reference
create_attribute_rules
(可选)

指定是否将在 Indoors 数据库中创建属性规则以及相关字段和错误数据集。 这些属性规则包括用于楼层平面图数据质量控制工作流的验证校验。 目标地理数据库必须是已配置为分支版本化的文件地理数据库或企业级地理数据库。

  • CREATE_RULES将创建属性规则和错误图层。 这是默认设置。
  • NO_CREATE_RULES不会创建属性规则和错误图层。
Boolean

派生输出

名称说明数据类型
updated_gdb

将在其中生成 Indoors 方案和数据结果的地理数据库。

Workspace

代码示例

CreateIndoorsDatabase 示例 1(Python 窗口)

以下 Python 窗口脚本演示了如何在即时模式下使用 CreateIndoorsDatabase 函数创建包含网络的 Indoors 地理数据库:

import arcpy
arcpy.indoors.CreateIndoorsDatabase("C:/Indoors/ExampleCampus.gdb", "CREATE_NETWORK", "C:/workspace/myproject.gdb/featureclass", "NO_CREATE_RULES")
CreateIndoorsDatabase 示例 2(独立脚本)

以下独立脚本演示了如何使用 CreateIndoorsDatabase 函数创建不含网络的 Indoors 地理数据库。

# Name: Indoors_CreateIndoorsDatabase_example2.py
# Description: Creates Indoors model items in an empty file geodatabase.

import arcpy

# Set local variables
out_folder_path = r"C:\Indoors"
out_name = "ExampleCampus.gdb"
indoors_network = "NO_CREATE_NETWORK"
spatial_reference = arcpy.SpatialReference("WGS 1984 Web Mercator (auxiliary sphere)", "WGS 1984")
create_attribute_rules = "NO_CREATE_RULES"

# Execute CreateFileGDB
arcpy.CreateFileGDB_management(out_folder_path, out_name)

# Execute CreateIndoorsDatabase on empty file geodatabase
arcpy.indoors.CreateIndoorsDatabase(r"{0}\{1}".format(out_folder_path, out_name), indoors_network, spatial_reference, create_attribute_rules)

许可信息

  • Basic: 需要 ArcGIS Indoors Pro 或 ArcGIS Indoors Maps
  • Standard: 需要 ArcGIS Indoors Pro 或 ArcGIS Indoors Maps
  • Advanced: 需要 ArcGIS Indoors Pro 或 ArcGIS Indoors Maps

相关主题