ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

专为贵组织打造的制图平台

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS for Developers

用于构建位置感知应用程序的工具

ArcGIS Solutions

适用于行业的免费模板地图和应用程序

ArcGIS Marketplace

获取适用于组织的应用程序和数据

  • 文档
  • 支持
Esri
  • 登录
user
  • 我的个人资料
  • 登出

ArcMap

  • 主页
  • 入门
  • 地图
  • 分析
  • 管理数据
  • 工具
  • 扩展模块

指定赋值器

需要 Network Analyst 许可。

网络元素由源要素创建而成;网络属性值(例如成本和等级属性)取自于网络元素的值;赋值器用于计算由特定源要素类创建的元素的属性值。这意味着一个网络元素可以具有若干个赋值器;例如,对于多模式网络中的成本属性来说,每个源要素类(例如,街道、铁路、人行道、转弯以及交汇点)可能分别对应一个赋值器。

本主题说明如何设置赋值器。

  1. 打开网络数据集属性 对话框。

    了解如何打开“网络数据集属性”对话框

  2. 单击属性选项卡。

    下图中的网络数据集具有四种网络属性:Meters、Minutes、Oneway 和 RoadClass。

    “网络数据集属性”对话框的“属性”选项卡

  3. 选择需要修改赋值器的属性,然后单击赋值器。

    将打开赋值器对话框。

    赋值器对话框

  4. 向网络属性赋值的最常见方法是使用字段赋值器,步骤 4 中对其进行了详细介绍。此外,您还可以查看步骤 5 到步骤 9,以了解设置其他类型赋值器的信息。
  5. 按照以下子步骤为某个源指定字段赋值器,或者直接跳到下一步以了解有关如何将表达式添加到字段赋值器的说明:
    1. 在类型列中,单击源要素所在的行,然后单击字段。
    2. 在值列中,单击源要素所在的行,然后在列表中单击相应的字段。

    下图显示了源要素中数字化方向为至-自,要素类别为 Streets 的字段赋值器:

    源要素中数字化方向为至-自的 Streets 字段赋值器
    提示:

    您可以同时为类型列和值列指定值。要指定类型的值,请在属性值表中单击行时,按下 Ctrl 或 Shift 键。右键单击某一选中的行,再单击类型,然后选择所需的赋值器类型。

    类似地,您也可以同时为多个行的值列指定相同的值。要执行此操作,请选择两个或两个以上的行;右键单击某一选中的行,指向值;然后单击属性。您在弹出的对话框中指定的设置将被指定给赋值器对话框的“属性值”表中所有选定的行。

  6. 按照以下子步骤为某个源指定字段表达式赋值器,或者直接跳到下一步以了解有关其他赋值器的说明:
    1. 在类型列中,单击源要素所在的行,然后单击字段。
    2. 单击赋值器属性按钮 赋值器属性按钮。
    3. 在字段赋值器对话框中,选择要使用 VBScript 还是 Python 来编写表达式。建议使用性能更高的 VBScript;然而,如果您打算使用 ArcGIS Server (Linux) 构建网络数据集,则需要用到 Python。
    4. 输入表达式。
    5. 单击确定。

    设置字段表达式赋值器的步骤

  7. 按照以下子步骤为某个源要素指定常量赋值器,或者直接跳到下一步以了解有关其他赋值器的说明:
    1. 在类型列中,单击源要素所在的行,并从下拉列表中选择常量。
    2. 在值列中,单击源要素所在的行,然后为约束属性选择忽略约束条件或使用约束条件,或者输入成本、描述符和等级属性的数值。

      下图显示的是“转弯”源要素类中约束属性的常量赋值器:

      转弯的常量赋值器

  8. 按照以下子步骤为某个源要素指定脚本赋值器,或者直接跳到下一步以了解有关其他赋值器的说明:
    1. 在类型列中,单击源要素所在的行,然后单击脚本。
    2. 单击赋值器属性按钮 赋值器属性按钮。
    3. 在脚本赋值器对话框中,选择要使用 VBScript 还是 Python 来编写脚本。建议使用性能更高的 VBScript;然而,如果您打算使用 ArcGIS Server (Linux) 求解网络分析,则需要使用 Python。
    4. 输入脚本。
    5. 单击确定。

    在此示例中,约束网络属性使用 VBScript 赋值器来阻止路径分析及其他网络分析跨越桥梁。

    对用于限制穿越桥梁的约束属性使用的脚本赋值器示例

    以下为使用 Python 编写的类似脚本的屏幕截图。请注意函数在预逻辑脚本代码中进行定义,并且以关键字 def 开头。函数从值 = 中进行调用。

    采用 Python 语言的用于限制穿越桥梁的示例脚本

  9. 按照以下子步骤为某个源要素指定函数赋值器,或者直接跳到下一步以了解有关其他赋值器的说明:
    1. 在类型列中,单击源要素所在的行,然后单击函数。
    2. 单击赋值器属性按钮 赋值器属性按钮。
    3. 在函数赋值器对话框中,输入函数。
    4. 单击确定。

    在此示例中,约束属性 (HeightRestriction) 引用描述符属性 (MaxHeight) 和参数 (Vehicle Height) 来禁止最小通过高度小于车辆高度的道路。

    用来对最小通过高度小于车辆高度的道路加以限制的函数赋值器示例

  10. 要指定通用转弯延迟赋值器,请参阅下列主题:建立通用转弯。
  11. 要指定边流量赋值器,请参阅下列主题:什么是流量数据?

    在网络数据集中设置了流量的属性后,将自动创建边流量赋值器。

  12. 为网络属性设置赋值器之后,如有必要,可以关闭其余对话框并构建网络。

    注:

    仅当所做的更改要求网络数据集访问其源要素类时,才有必要重新构建网络数据集。例如,创建从源要素类中提取时间成本的字段赋值器时,需要重新构建网络。更改源要素的几何形状也需要重新构建网络数据集。不过,在创建函数、脚本或通用转弯延迟赋值器时,并不需要重新构建网络,因为这些赋值器不直接从源要素类中提取信息。

  13. 单击确定。

    网络数据集属性对话框关闭。

  14. 在目录 窗口中,右键单击网络数据集,然后单击构建。

相关主题

  • 在 ArcMap 中构建网络数据集
  • 在 ArcCatalog 中构建网络数据集
  • 使用地理处理工具构建网络数据集

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS 平台

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

  • 关于我们
  • 招贤纳士
  • Esri 博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
Copyright © 2019 Esri. | 隐私政策 | 法律声明