探索树木清单要素类的方案
所有树木都会对附近的人员、建筑物和公共设施造成一定程度的风险。 通常,此风险极小,并且在价值方面远远超过树木所提供的环境、社会和经济优势。 随着树木老化或者因为病害虫和其他压力而变弱,这种平衡可能会发生变化,由此需要树木所有者或管理者确定他们愿意接受的风险等级,以及可能需要的改进和措施。 将使用该工作流和数据来支持适用于进行风险评估的决策制定过程,从而确定整个或部分树木倒塌的可能性、此类倒塌的后果以及潜在受影响目标。
探索树木清单字段
在本教程中,您将从探索用于存储树木要素数据的预配置图层开始。 此图层的方案基于 ISA 基本树木风险评估表进行建模,用于评估树木风险。 此外,其使用属性验证,由此可使数据采集更加高效精确。
- 下载 TreeInventory 数据。
- 找到下载的文件并双击 TreeInventory.ppkx 在 ArcGIS Pro 中打开工程。
- 如果收到系统提示,请使用您获得许可的 ArcGIS 帐户登录。
注:
如果您没有 ArcGIS Pro 的访问权限或者 ArcGIS 组织帐户,请参阅软件访问权限选项。
- 在目录窗格中,展开 Databases 文件夹,然后展开 treeinventory.gdb。
注:
在 ArcGIS Pro 中,您可以使用浅色主题或深色主题来个性化用户界面的外观。 在这些教程中,示例图片将使用深色主题,但是您可以使用自己喜欢的主题。
如果要更改主题,请单击选项。 在选项窗口中,单击应用程序下方的常规。 展开应用程序主题,然后选择深色。 您需要重新启动 ArcGIS Pro 才能使主题更改生效。
- 将 TreeInventory 要素类拖动到 Tree Inventory Map。
- 或者,您也可以通过为各种树木类型应用合适的符号来自行符号化 Tree Inventory 图层。
注:
有关应用点符号系统和受支持的树属类型符号的帮助,请参阅以下主题。
- 在地图上的 内容窗格中,查看 Tree Inventory 图层。
由于已将子类型应用于 TreeTypeCode 字段,因此将自动对该图层进行分类和符号化。 可以通过子类型对要素类中的要素进行分类或分组,可以通过属性域来约束用户可以应用于字段的值,可以通过条件值来构建决策树,其中应用于字段的值将受到之前选择的值约束。
子类型对于条件值不是必需的,但是其确实适用于其他功能。
接下来,您将探索字段属性。
- 在内容窗格上,单击 Tree Inventory 图层将其选中。
- 在功能区的数据选项卡的数据设计组中,单击字段。
字段视图随即显示。 您可以在此处创建、删除和修改字段。
- 在“字段”视图中,确保当前图层设置为 Tree Inventor。
如果您选择 Tree Inventor,则将仅对该图层进行更改,该图层是地图上要素类的本地实例。 如果您选择数据源,则您的更改将应用于存储在地理数据库中的数据,并且将会影响同样使用 TreeInventory 要素类作为其数据源的任何其他图层。
- 在“字段”视图中,对于 Tree Inventory,在可见列中,取消选中以下字段:
- OBJECTID
- 形状
- FACILITYID
开始创建树木要素时,无需修改这些字段,因此无需在表中显示这些字段。
- 在功能区字段选项卡的更改组中,单击保存。
- 在“字段”视图的字段名称列中,查看 TreeTypeCode 字段。
字段名称为粗体,并且以星号开头,指示其已应用子类型。
- 查看 Domain 列。 已分配属性域作为多个字段的约束。
属性域将定义地理数据库中表字段的有效值。 它们通过限制用户可在特定字段中使用的数据值来强制保持数据完整性。 仅当该字段存在可定义的一组或一系列特定值时,才能将属性域应用于该字段。
属性域是设置条件值所必需的,因此您将在本教程中使用这些属性域。
注:
您可以在将子类型和属性域应用于维也纳徒步路线教程中了解有关子类型和属性域的详细信息。
- 关闭字段视图。
接下来,您将探索树木子类型。
查看树木子类型
子类型可用于将图层分类到共享相同属性值的要素子集中。 属性域将限制可以应用于字段的值。 因此,可以将不同的属性域和默认值应用于每个子类型。
- 在功能区上单击数据选项卡。 在数据设计组中,单击子类型。
子类型视图随即打开。 表中将列出图层的所有字段。
- 在功能区子类型选项卡的子类型组中,单击创建/管理。
管理子类型窗口随即显示。
在管理子类型窗口中,您可以看到当前子类型字段为 TreeTypeCode。 系统提供 5 个子类型代码,代表不同的树木类型。 这些树木类型代表树木清单的最高分类级别。
- 在管理子类型窗口中,单击确定。
- 在子类型视图中,滚动并查看子类型类别。
每个子类型的 COMMONNAME 字段均具有一个默认值。 每个子类型还应用了 3 个属性域:Common、Genus 和 Species。 可以向每个子类型应用不同的属性域(允许值的列表),例如,常绿物种的列表或落叶物种的列表。 但是,使用条件值可以更加高效地实现相同结果。
- 关闭子类型视图。
接下来,您将查看图层属性域。
查看树木标识属性域
属性域通过将字段的允许值限制为选择的列表或范围来强制保持数据完整性。 属性域是设置条件值所必需的。
- 在内容窗格中,确保 Tree Inventory 图层处于选中状态。
- 在功能区上单击数据选项卡。 在数据设计组中,单击属性域。
- 如有必要,在“属性域”视图中,单击 Common。
该视图将显示属性域代码和描述。 此属性域包含 38 个常见加利福尼亚树木名称。
这些是 Common 属性域的所有允许值,该属性域当前应用于 Common Tree Name 字段。 可以更新此列表,以包含您所在区域生长的其他树木。
- 查看其他属性域的允许值。
您将使用这些属性域值来标识树木,并使用条件值来简化属性域值的选择。
- 关闭属性域视图。
探索当前条件值设置
借助条件值,您可以在数据中设置字段依赖关系,由此通过一个字段中的值选择来限制另一个字段的有效选择列表。 由此将生成决策树。 以下概述了树木要素类的决策树示例。 在本例中,每次创建新的树木要素时,都会为数据采集者提供一组连续选择,这些选择将按做出的初始选择进行过滤。
- 首先,数据收集器将指定树木类型。
- 其次,数据收集器将从基于树木类型进行过滤的列表中选择树木的常用名称。
- 再次,条件值将自动选择树属和树种。 数据收集器只需确认值是正确的。
使用此方法进行树木调查的一些优点包括:
- 数据采集者不会意外地针对常绿树木选择落叶物种。
- 数据采集者无需知道树木的学名。
接下来,您将查看应用于 Tree Inventory 图层的条件值。
- 在内容窗格中,确保 Tree Inventory 图层处于选中状态。
- 在功能区上单击数据选项卡。 在 设计 组中,单击 条件值。
在条件值视图中,您可以看到字段组设置为树木类型和科学名称。
将根据字段组创建条件值。 Tree Type and Scientific Names 字段组已创建,并且包含 TYPE、COMMONNAME、GENUS 和 SPECIES 字段。 可以针对不同的应用程序创建不同的字段组。
- 在条件值视图中,对于子类型,选择常绿植物。
字段组将针对 Evergreen 类型树木显示 COMMONNAME、GENUS 和 SPECIES 的所有有效组合。
对于此子类型,存在 17 个有效的条件值,对应于 17 种不同的常绿树木。 每个常用名称只有一个有效组合,这意味着如果数据采集者知道树木的常用名称,则不会为树木输入错误的属或物种。
- 在条件值视图中,对于子类型,查看其他子类型,例如 Palm,然后查看其 TYPE、COMMONNAME、GENUS 和 SPECIES 的有效组合。
- 关闭条件值视图。
- 在快速访问工具栏上,单击保存以保存工程。
注:
可能会出现一条消息,警告您使用 ArcGIS Pro 当前版本保存此工程文件将使您无法在较早版本中再次将其打开。 如果您看到此消息,单击是以继续。
接下来,您将使用条件值来创建新的树木要素。
创建并编辑树木要素
编辑包含条件值的图层时,将显示一系列选择。
- 在内容窗格中,确保 Tree Inventory 图层处于选中状态。
- 在功能区的编辑选项卡的要素组中,单击创建。
创建要素窗格随即进行更新,以显示每个树木子类型可用的要素模板。
- 在创建要素窗格的 Tree Inventory 下,单击 Evergreen。
红色警告图标指示属性尚未生效。 您将无法创建新要素,直到其属性满足您的条件值规则为止。
- 在创建要素窗格中,对于 Evergreen,单击蓝色箭头。
随即打开活动模板窗格。 以红色高亮显示的字段是在创建新要素之前必须进行更新的字段。 如果您已切换显示别名与存储的字段名称,则字段名称可能会有所不同。
Evergreen 的默认 Common Tree Name 值为 Fern Pine。 由于它以红色高亮显示,因此需要确认它是您要为模板设置的值。
- 在活动模板窗格中,单击 Common Tree Name 下拉菜单,指向部分匹配,然后选择 Fern Pine。
Fern Pine 的学名为 Afrocarpus gracilior。 系统将自动填充相应的树属和树种。
在活动模板窗格中,高亮显示的颜色将更新为绿色,指示您已成功更新了字段值,现在可以创建有效的树木要素。
- 在创建要素窗格中,单击后退按钮。
- 单击点构造工具,然后在地图上添加多棵新树。
- 单击功能区上的编辑选项卡。 在管理编辑内容组中,单击保存。
- 在保存编辑内容窗口中,单击是。
- 关闭创建要素窗格。
- 保存工程。
现在,您已经查看了多种数据属性验证技术,这些技术可以配合使用,以防止数据不一致并提高数据管理效率。 接下来,您将添加一组新的条件值以管理树木风险评估。
添加并更新用于评估树木风险的条件值
您的树木清单图层当前具有条件值,用于标识和采集物种和属信息。 除了标识树种之外,树木学家还需要经常采集有关树木风险的信息。 通用工作流是使用由 ISA 开发的基本树木风险评估表。
此表单包含与选址因素、树木健康状况、负载因素、树木缺陷以及其他影响树木危害可能性的条件有关的问题。 这些组合因素将生成树木的总体风险评估。 接下来,您将向根据 ISA 基本树木风险评估表建模的树木清单图层添加更多条件值。
准备分配条件值
在创建条件值之前,您需要设置一组具有相应属性域的字段。 属性域是有效值的列表或范围,可以从 ISA 基本树木风险评估表中得出,如下所示。
为了自用,您可能想要下载 ISA 基本树木风险评估表的副本和附录 I:使用 ISA 基本树木风险评估表说明。

- 在内容窗格中,确保 Tree Inventory 图层处于选中状态。
- 在功能区上单击 数据 选项卡。 在数据设计组中,单击属性域。
- 在属性域视图的属性域名称下,单击 FailureRisk。
FailureRisk 属性域包含以下 4 个用于描述风险级别的代码:
编码 描述 0
Improbable
1
Possible
2
Probable
3
Imminent
这些代码从 ISA 基本树木风险评估表中 Matrix I. Likelihood matrix 表的 Likelihood of Failure 列获取,用于描述树木学家使用的倒塌可能性。
- 查看 ImpactRisk、Failure_ImpactRisk、ConsequenceRisk 和 RiskRating 属性域。
ImpactRisk Failure_ImpactRisk ConsequenceRisk RiskRating 0
Very Low
Unlikely
Negligible
低
1
低
Somewhat
Minor
中等
2
中值
Likely
Significant
High
3
High
Very Likely
Severe
Extreme
这些域同时基于 ISA 基本树木风险评估表。
- 关闭属性域视图。
创建条件值字段组
接下来,您将使用根据 ISA 基本树木风险评估表创建的属性域来创建条件值,以进行树木风险评估。
要完成上述操作,需执行以下操作:
- 在树木清单图层中创建一个字段组,其中包含与树木倒塌风险相关的字段。
- 在每个子类型的风险字段中创建条件值组合。
- 在内容窗格中,确保 Tree Inventory 图层处于选中状态。
- 在功能区上单击 数据 选项卡。 在数据设计组中,单击条件值。
该图层目前具有一个名为 Tree Type and Scientific Names 的字段组。 接下来,您将创建一个新的字段组以进行风险评估。
- 在条件值选项卡的数据设计组中,单击字段组。
字段组窗口随即出现,其中显示包含在 Tree Type and Scientific Names 字段组中的字段。
- 在字段组窗格的名称下,单击单击此处添加新字段组。
- 对于 Field_Group 名称,键入 Risk Categorization。
- 在字段组窗格中,单击添加字段下拉菜单。
下拉列表将显示所有 Tree Inventory 属性字段。
- 在下拉列表中,选中以下字段,然后单击添加。
- Failure
- Impact
- ImpactPoten
- Consequences
- RiskRating
- 在字段组窗格中验证名称和字段,然后单击确定以创建字段组。
- 在功能区条件值选项卡的条件值组中,单击保存。
创建字段组后,即可为参与字段创建条件值。
添加风险条件值
树木清单目录层现在具有多个与其关联的字段组。 接下来,您将为新的风险分类字段组添加条件值。
- 在条件值视图中,对于字段组,选择风险分类。 对于子类型,选择 Evergreen。
子类型对于条件值并非必填项,但是其用于为不同类别的数据设置条件值。 如果风险条件有所不同,这将非常有用。
- 单击单击此处添加新条件值。
条件值的第一行对于所有字段默认包含值 <ANY>。 这意味着值的任何组合均有效。 此组合适用于 Uncategorized 子类型,该子类型用于意外情况,但对于已知树木类型,您需要强制使用有效的值组合。
- 对于 Failure 下的单元格,选择 Possible。
注:
如果您看到数值,而非文本,请单击条件值选项卡下条件值部分中的切换代码/描述按钮。
- 使用以下值更新该行的其余部分:
Impact ImpactPoten Consequences RiskRating High
Somewhat
Negligible
低
已输入第一个条件值。 如果树木倒塌 (Failure) 为可能并且对树木的影响设置为高,但是对周围区域的可能影响 (ImpactPoten) 评级为有些高并且后果为可忽略,则风险评级 (RiskRating) 确定为低。
- 使用单击以添加新的条件值,将另外两个条件值行添加到常绿植物子类型。
- 使用下表填充新行:
Failure Impact ImpactPoten Consequences RiskRating Possible
High
Somewhat
Minor
低
Possible
High
Somewhat
Severe
中等
将条件值应用于您的数据后,将在编辑过程中强制执行您已创建的限制。
- 在功能区条件值选项卡的条件值组中,单击保存。
- 关闭条件值视图并保存工程。
添加及更新大量字段组和条件值非常耗时。 为此,可以通过地理处理工具来导出和导入条件值及字段组。 这些工具对于共享或更新生产数据库非常有用。
接下来,您将从 .csv 文件导入其他字段组和条件值。
使用地理处理工具添加条件值
可以使用导入条件值地理处理工具从 .csv 文件添加条件值。 此时,可以选择使用所选表或要素类中的现有条件值覆盖或合并任何更改。
- 在内容窗格的独立表中,右键单击 RiskCategorization_FGPS.CSV 并选择打开。
该表将定义条件值的字段组。 其包含两个字段组:Tree Type and Scientific Names 和 Risk Categorization。 这些字段组与您已手动设置的字段组相匹配。
- 在内容窗格中,右键单击 RiskCategorizationCVALS.CSV 表并选择打开。
该表将定义条件值。 其将标识所有有效组合的字段组、子类型和字段值。
以上两个表都可以在其他工程中进行更新、编辑和重用。
- 关闭 RiskCategorization_FGPS.CSV 和 RiskCategorizationCVALS.CSV 表。
接下来,您将使用这些表来更新条件值。
- 在功能区的 分析 选项卡中,单击 工具。
- 在地理处理窗格的搜索栏中,键入条件值,然后打开导入条件值工具。
- 在 导入条件值工具中,更新以下参数:
- 对于目标表,选择 Tree Inventory。
- 对于字段组输入文件 (.csv),单击浏览按钮,打开 commondata 文件夹和 treeinventory1 文件,然后选择 RiskCategorization_FGPS.CSV。
- 对于条件值输入文件 (.csv),单击浏览按钮,然后选择 RiskCategorizationCVALS.CSV。
- 选中替换现有条件值。
如果选中替换现有条件值,将替换之前在教程中创建的三个条件值,并添加在 .csv 文件中定义的条件值。
- 单击运行。
接下来,您将验证是否已成功将字段组和条件值添加到要素类。
- 在内容窗格中,单击 Tree Inventory。
- 在功能区上单击 数据 选项卡。 在数据设计组中,单击条件值。
- 在条件值视图中,对于字段组,如有必要,选择风险分类。 对于子类型,选择 Evergreen。
已基于 .csv 文件为常绿植物子类型创建了 30 个条件值。
- 查看 Risk Categorization 和 Tree Type and Scientific Names 字段组中的其他子类型,以验证是否已根据 .csv 文件成功创建了条件值。
- 关闭条件值视图并保存工程。
编辑条件值
在使用条件值更新或创建要素时,要素属性将提示您作出一组选择。 这些选择源自与字段相关联的属性域,并且条件值将检查并强制执行用户作出的字段和属性域选择的有效组合。
在本教程中,您将为树木清单层中的每个子类型配置要素模板。 要素模板是在创建要素时使用的一组预定义的构造工具和属性默认值。 您将包含用于树木标识和风险分类的条件值。
配置要素模板
要素模板是用于在特定图层上创建新要素的预定义构造工具集合。 它将显示为可单击项目,其名称和符号由创建要素时应用至图层的符号系统所定义。 接下来,您将配置要素模板。
- 在功能区的编辑选项卡上,单击要素组下角的管理模板按钮。
随即打开 管理模板 窗格。
- 如有必要,在管理模板 窗格中,选择 Tree Inventory。
窗格底部将列出每个子类型(落叶、常绿等)的要素模板。 您之前在本教程中开始编辑图层时,已自动创建这些要素模板。 接下来,您将自定义这些要素模板以控制编辑体验。
- 在管理模板 窗格中,单击 Deciduous,然后单击属性。
模板属性窗口随即显示。
- 在模板属性窗口中,单击属性。
红色高亮显示指示已启用属性验证的字段。 棕色背景指示子类型字段。
可以使用此窗口来选择在进行编辑时将在要素模板中显示的属性字段。 但是,将这些选择同时应用于所有要素模板的速度更快。
- 在模板属性窗口中,单击取消。
- 在管理模板窗格中,按住 Ctrl 键同时单击所有要素模板以将其全部选中。
- 单击属性以同时更改所有子类型的模板设置。
- 在模板属性窗格中,单击属性。
- 在字段列表中,针对以下字段选中属性值的提示复选框:
- Common Tree Name
- Tree Genus
- Tree Species
- Tree Type
- Failure Risk
- Impact Risk
- Impact Potential
- Consequences
- Risk Rating
- 在模板属性窗口中,单击确认。
稍后,当您使用这些要素模板创建要素时,需要先为这些选中的字段选择值,然后才能保存新要素。 这将确保您不会在没有重要属性的情况下意外保存树木要素。
- 保存工程。
接下来,您将测试要素模板并探索应用于字段的条件值。
使用要素模板
- 单击功能区上的 编辑 选项卡。 在要素组中,选择创建。
- 在创建要素窗格中,选择 Evergreen 要素模板。
该模板随即展开并提示要更新的属性值。 可能显示一个红色警告图标,指示属性目前无效。 要继续操作,您必须选择要素值。
- 在创建要素窗格的 Evergreen 下,单击 Common Tree Name 下拉菜单,指向部分匹配,然后选择 Fern Pine。
Tree Genus 设置为 Afrocarpus,Tree Species 设置为 gracilior。 高亮显示颜色将更新为绿色,指示您已使用有效的条件值组合成功更新了字段。
接下来,您将测试风险和潜在影响,然后观察各种选择的效果。
- 对于 Failure Risk,指向部分匹配,然后选择 Probable。
Impact Potential 自动填充为 Unlikely,Risk Rating 设置为 Low。
- 单击 Impact Risk 下拉菜单。
唯一可用的选择为 Very Low 和 Low。
Impact Risk d的选择有限,具体取决于 Failure Risk 选择。
注:
通过单击显示全部可以覆盖当前条件值,但是通过在条件值列表外进行选择,将会使数据无效。
- 对于 Failure Risk,指向部分匹配,然后选择 Possible。
- 对于 Impact Risk,指向部分匹配,然后在 Failure Risk: Possible 下,选择 High。
由此演示了应用条件值的实用性。 一个选择将基于决策树影响其他选择,该决策树可防止不一致并保留数据值。
- 对于 Impact Potential,指向部分匹配,然后在 Failure Risk: Possible 下,选择 Somewhat。
- 对于 Consequences。指向部分匹配,然后在 Failure Risk: Possible 下,选择 Significant。
根据针对先前的属性字段作出的选择,总体 Risk Rating 的条件值将标识为 Moderate。 此结果与国际树木协会 (ISA) 在 ISA 风险分类表中发布的似然矩阵 Failure 列匹配。
这些字段现在以绿色(而不是红色)突出显示,指示所有条件值已设置且有效,并且您现在可以继续添加新的树木要素。
- 在创建要素窗格中,选择点构造工具,然后将多个新的 Evergreen 树木添加到地图。
- 单击功能区上的 编辑 选项卡。 在管理编辑内容组中,单击保存。
- 在保存编辑内容窗口中,单击是。
- 关闭创建要素窗格。
注:
通用工作流是将其他记录附加到已应用条件值的要素类。 附加的值将成功加载,但是您应该使用 ArcGIS Pro 智能编辑器对其进行验证,以识别不符合条件值的要素。 工作流如下:附加记录,打开属性表,单击表格右上方的选项按钮,选择仅显示条件值字段,然后选择高亮显示无效的条件值。 现在,您可以查看并标识无效要素,并根据需要进行更新。
- 保存工程。
在本教程中,您研究了应用于树木清单要素类的属性验证,并查看了使用条件值实施物种决策树的过程。 除了标识树种之外,树木学家经常还需要根据树龄、状况和其他因素进行树木风险评估。 借助 ISA 基本树木风险评估表,您添加了一系列条件值以评估树木倒塌风险,然后创建了要素模板以简化使用应用的属性验证进行编辑的过程。
如果多位用户将使用树木清单图层来添加树木并评估风险,则您可能会担心数据一致性。 例如,并非所有人都对不同树木造成的风险持有相同看法。 但是,通过设置条件值,可以从其他更具体的属性值得出风险评级,由此可确保整个数据集的一致性。
您可以在教程库中找到更多教程。