标注 | 说明 | 数据类型 |
输入交通要素数据集 | 包含来自 Network Analyst 公共交通数据模型的 Stops 和 LineVariantElements 要素类的要素数据集。 要素数据集的父地理数据库必须包含公共交通数据模型的 LineVariants、Schedules、ScheduleElements 和 Runs 表以及 Calendars 表、CalendarExceptions 表或两者皆有。 可以使用 GTFS 转公共交通数据模型工具从通用交通数据规范 (GTFS) 公共交通数据创建具有关联要素类和表的有效要素数据集。 | Feature Dataset |
分析类型 | 指定工具将为其计算公共交通服务频率的位置类型。
| String |
输出要素类 | 输出要素类。 shapefile 不是有效值。 | Feature Class |
时间窗 | 将计算公共交通服务频率的时间段。 可以指定多个时间窗。 输出要素类将包含一组字段,表示每个时间窗的交通频率统计数据。 这些字段将以输出字段前缀列中指定的值作为前缀。 时间窗可以解释为具体日期或通用工作日。 使用具体日期列用于确定开始日期时间列的日期部分将被解释为确切日期还是通用工作日。 例如,如果开始日期时间的日期部分是 2021 年 12 月 25 日,并且使用具体日期为 True,则将使用确切日期,并且计算的公共交通服务频率将包括为圣诞节假期添加或移除的所有特殊服务. 如果使用具体日期为 False,则该日期将被解释为星期六,并且计算的公共交通服务频率将包括所有典型星期六的常规服务。 对于具体日期,将考虑 CalendarExceptions 表中包含的常规公共交通服务以及 Calendars 表中定义的日期范围的所有例外情况。 对于通用工作日,仅考虑 Calendars 表中工作日字段中定义的常规服务。
| Value Table |
按公共交通线路分开计数 (可选) | 指定在计算公共交通频率统计数据时,使用同一停靠点或通道的多条公共交通线路的服务是按公共交通线路分开计数还是合并计数。 当按交通线路分开计数时,输出将包含使用停靠点或通道的每条唯一交通线路的每个停靠点或交通线段的副本,并且这些重复要素将具有重叠几何。
仅在分析类型参数设置为交通停靠点或交通线路时,此参数才适用。 | Boolean |
输入感兴趣点 (可选) | 将计算可用公共交通服务频率的感兴趣点。 如果指定了面图层,则将使用面质心处可用的公共交通服务。 当分析类型参数设置为感兴趣点时,此参数是必需项;否则,它将被忽略。 | Feature Layer |
网络数据源 (可选) | 将用于确定指定感兴趣点范围内的公共交通停靠点或计算公共交通停靠点范围内的面区域的网络数据集或服务。 可以使用网络数据集的目录路径、网络数据集图层对象、网络数据集图层的字符串名称或网络分析服务的门户 URL。 网络必须包含至少一个出行模式。 要使用门户 URL,您必须使用具有路径选择权限的帐户登录门户。 如果使用 ArcGIS Online 作为网络数据源,则运行该工具将消耗配额。 注:使用适合对往返公共交通停靠点的乘客进行建模的网络数据集。 请勿使用经过配置的网络数据集,该网络数据集将公共交通数据与公共交通赋值器配合使用,因为此类型的网络将模拟乘坐公共交通的乘客,而非在公共交通停靠点往返的乘客。 当分析类型参数设置为感兴趣点或区域时,此参数是必需项;否则,它将被忽略。 | Network Data Source |
出行模式 (可选) | 将用于确定指定感兴趣点范围内的公共交通停靠点或计算公共交通停靠点范围内的面区域的网络数据源的出行模式。 可以指定出行模式作为出行模式的字符串名称,也可以作为 arcpy.nax.TravelMode 对象。 使用最适合对往返公共交通停靠点的乘客进行建模的出行模式。 通常情况下,应使用模拟步行时间或距离的出行模式。 注:请勿将出行模式与使用公共交通赋值器的阻抗属性配合使用,因为该出行模式将模拟乘坐公共交通的乘客,而非在公共交通停靠点往返的乘客。 当分析类型参数设置为感兴趣点或区域时,此参数是必需项;否则,它将被忽略。 | Network Travel Mode |
到停靠点的最长行驶时间或距离 (可选) | 在感兴趣点范围内查找公共交通停靠点或计算公共交通停靠点可到达的区域时将使用的阻抗限制。 此参数单位应为到停靠点的最长行驶时间或距离参数中指定的单位。 当分析类型参数设置为感兴趣点或区域时,此参数是必需项;否则,它将被忽略。 | Double |
到停靠点的行驶时间或距离单位 (可选) | 指定将用于在到停靠点的最长行驶时间或距离参数中指定的阻抗限制的单位。 可用单位取决于出行模式参数中指定的值。 如果出行模式的阻抗具有时间单位,则仅可用基于时间的单位。 如果出行模式的阻抗具有距离单位,则仅可用基于距离的单位。 如果出行模式的阻抗单位既不基于时间也不基于距离,则唯一可用的选项将是未知单位,并且到停靠点的最长行驶时间或距离参数值将以出行模式的阻抗为单位。 当分析类型参数设置为感兴趣点或区域时,此参数是必需项;否则,它将被忽略。 提示:建议您在计算兴趣点的公共交通服务频率时使用基于距离的出行限制。 通过基于距离的限制,该工具可以使用简单的直线距离选择提前减小 OD 成本矩阵的大小。 这可能会从 OD 成本矩阵分析中清除一些起点和目的地,从而提高性能。 如果网络数据源是消耗配额的服务,这种优化也会减少所需的配额数量。
| String |
像元大小 (可选) | 将用于表示从工具输出中的公共交通停靠点可到达的区域的像元大小(边长)。 使用该参数设置数值和单位。 在计算从公共交通停靠点可到达的区域时,将计算服务区域。 生成的通常重叠的服务区面被简化为类似栅格的面要素类,该要素类由此参数中指定大小的正方形像元组成。 根据服务区面与像元质心重叠的公共交通停靠点,为这些像元中的每一个像元计算公共交通服务频率统计数据。 使用与行人在现实世界中的出行方式相关的像元大小。 例如,您可以根据城市街区或宗地的大小或行人在不到一分钟的时间内步行的距离来确定像元大小。 像元越小,准确度越高,但也需要更长的处理时间。 默认值是 80 米。 当分析类型参数设置为区域时,此参数是必需项;否则,它将被忽略。 | Linear Unit |
障碍 (可选) | 在计算指定感兴趣点范围内的公共交通停靠点或计算公共交通停靠点范围内的面区域时,将在网络分析中用作障碍的点、线或面要素。 仅当分析类型参数设置为感兴趣点或区域时,此参数才为相关项;否则,它将被忽略。 | Feature Layer |
摘要
计算在一个或多个指定时间窗内,公共交通停靠点、公共交通线路沿线、感兴趣点或区域的可用计划公共交通服务的频率。
使用情况
此工具可以计算以下类型位置处或沿线位置的公共交通频率统计数据:
- 公共交通停靠点。
- 一对连接的停靠点之间的公共交通线段。
- 使用指定行驶时间或距离内的停靠点的指定感定兴趣点。
- 公共交通停靠点指定行驶时间或距离内的所有区域。 此选项生成包含频率统计数据的交通系统范围地图。
沿交通线路计算公共交通频率统计数据时,输出要素类参数值是来自输入公交要素数据集参数值的 Network Analyst 公共交通数据模型 LineVariantElements 要素类的副本。 此要素类中的交通线路不表示公交车、火车或其他公共交通工具所行驶的实际地理路径,而是表示交通系统停靠点之间的逻辑连接。 如果此要素类由 GTFS 转公共交通数据模型工具生成,则这些要素将是连接停靠点的直线,并且不会随沿基础街道要素。 因此,此工具的输出可能不适用于制图。
在计算感兴趣点的公共交通频率统计数据时,此工具将执行 Network Analyst OD 成本矩阵计算,以识别感兴趣点范围内的公共交通停靠点。 在计算区域的公共交通频率统计数据时,此工具将执行 Network Analyst 服务区计算,以识别公共交通停靠点范围内的城镇区域。 要使用这些 Network Analyst 计算之一,必须将道路网络指定为网络数据源参数值。 道路网络的选项如下:
- 网络数据集 - 此选项要求您具有 ArcGIS Network Analyst extension 和网络数据集。
- 门户服务 - 此选项需要具有路径选择权限和足够配额的 ArcGIS Online 帐户或者已配置 ArcGIS Enterprise routing services 的门户。 在运行此工具之前,您必须登录到该门户。
与服务相比,在使用网络数据集时,该工具通常会运行得更快,尤其是在问题规模超过服务分析限制的情况下,因此该工具必须将输入拆分为多个块。 此外,与文件地理数据库中的网络数据集相比,使用移动地理数据库中的网络数据集时工具性能会更好。 可以使用创建移动地图包工具将文件地理数据库转换为移动地理数据库。
在使用具有分析限制的服务计算感兴趣点的公共交通频率统计数据时,如果输入的数量过大并超过服务允许的输入数量,则该工具会将输入拆分为多个块。 如果行驶限制基于距离,则该工具将对每个块执行简单的直线选择,以消除彼此相距遥远的起点和终点,从而减小整体问题的规模并提高性能。 在这种情况下,您可以在运行计算交通服务频率工具之前,通过排序工具使用皮亚诺曲线排序方法以对输入数据进行空间排序,从而进一步减小问题的大小。 排序的数据将生成聚类区段,增加了为每个起点区段清除大量无关目的地可能性。 如果未使用距离单位指定行驶限制、如果输入数量未超过服务限制,或者如果您未将服务用作网络数据源,则对数据进行排序不会为其他分析类型带来性能优势。 有关详细信息,请参阅 ArcGIS Online OD 成本矩阵服务的起点和目的地限制
工具性能因分析类型和以下因素而异:
- 在公共交通停靠点或公共交通线路沿线计算公共交通频率统计数据比在感兴趣点或区域计算公共交通频率统计数据要快得多。
- 在计算区域的公共交通服务频率时,该工具的运行时间在以下情况下将增加:公共交通停靠点数量增加、行驶时间或距离限制增大和像元大小减小。
- 在计算感兴趣点的公共交通服务频率时,该工具的运行时间在以下情况下将增加:公共交通停靠点数量增加、感兴趣点数增加和行驶时间或距离限制增大。 建议使用距离限制(而非时间限制),因为该工具可以使用简单的直线距离选择提前减小 OD 成本矩阵问题的大小。
- 如上所述,该工具使用移动地理数据库中的网络数据集作为网络数据源时运行速度最快。
在计算感兴趣点或区域的公共交通频率统计数据时,此工具将先识别各感兴趣点或区域范围内的公共交通停靠点。 然后,它通过合并可用服务来收集范围内的停靠点,从而计算该点或区域的交通频率统计数据。 此工具不会重复计算服务。 例如,如果某个感兴趣点在同一条交通线路上的两个停靠点的范围内,则沿该线路的服务仅计算一次。
在计算区域的公共交通频率统计数据时,该工具会计算系统中所有公共交通停靠点周围的服务区面,如上所述。 然后使用栅格化和采样方法简化服务区面,这些面通常重叠并具有复杂几何。 最终输出包含指定像元大小的正方形面。 每个面要素表示一个假定具有同等公共交通服务水平的区域单位。 使用相交的服务区面确定将为每个像元提供服务的公共交停靠点集。 例如,如果特定像元的质心与三个不同停靠点生成的服务区面相交,则认为这三个停靠点中均为该像元提供服务。 换句话说,每个像元都由短步行时间或距离内的所有停靠点提供服务,而不是物理上位于面边界内的停靠点。
对于每个时间窗,输出要素类参数值将包括以下字段,其中 [prefix] 是指时间窗参数的输出字段前缀值:
- [prefix]_NumRuns - 在指定时间窗内服务停靠点、沿线路运行或可到达感兴趣点或区域的公共交通运行总数。 一次运行代表运输车辆进行一系列计划停靠的唯一实例,相当于 GTFS 行程。
- [prefix]_NumRunsPerHour - 每小时公共交通的平均运行次数。 这是通过将运行次数除以时间窗的持续时间来计算的。
- [prefix]_AvgHeadway - 在指定时间窗内,在停靠点、沿线、感兴趣点或指定面区域运行之间的平均时间(以分钟为单位)。 如果按线路分开计数,则车头时距表示同一公共交通路线的访问间隔时间。 否则,该工具会合并不同路线的运行,即使这些路线前往不同的目的地。 如果无法计算平均车头时距,例如,如果在时间窗内只有一次运行服务于停靠点,则此字段将为空。
- [prefix]_MinHeadway - 时间窗内运行之间的最短时间(以分钟为单位)。 如果按线路分开计数,则车头时距表示同一公共交通路线的访问间隔时间。 否则,该工具会合并不同路线的运行,即使这些路线前往不同的目的地。 如果无法计算平均车头时距,例如,如果在时间窗内只有一次运行服务于停靠点,则此字段将为空。
- [prefix]_MaxHeadway - 时间窗内运行之间的最长时间(以分钟为单位)。 如果按线路分开计数,则车头时距表示同一公共交通路线的访问间隔时间。 否则,该工具会合并不同路线的运行,即使这些路线前往不同的目的地。 如果无法计算平均车头时距,例如,如果在时间窗内只有一次运行服务于停靠点,则此字段将为空。
- [prefix]_NumLines - 在时间窗内提供服务并有助于其他字段中计算统计数据的唯一公共交通线路的数量。 例如,如果合并所有公共交通线路的服务,则特定停靠点的此字段值可能为 3,因为三个不同的公共交通线路在时间窗内共享停靠点。 对于一天中的不同时间,此停靠点的该字段值可能为 2,因为其中一条线路当时没有提供服务。
在计算公共交通停靠点的公共交通服务频率统计数据并按公共交通线路分离计数统计数据时,输出要素类参数值将包含一个名为 LineID 的字段,用于指示这些统计数据引用的公交线路。 LineID 字段值对应于 Network Analyst 公共交通数据模型中 Lines 表中的 ID 字段值。
在计算感兴趣点或区域的公共交通服务频率统计数据时,输出要素类参数值将包括一个名为 NumStops 的字段。 此字段表示兴趣点或面区域的指定步行限制内的公共交通停靠点数量。
该工具将时间窗设置及其关联的字段前缀添加到输出要素类参数值的元数据中。
如果在指定的时间窗内没有公共交通服务,则该工具将添加输出字段并成功完成。 字段值将设置为 0 或 Null 以反映缺少服务,并显示一条警告消息,指示没有服务。
在计算感兴趣点的公共交通频率统计数据时,可以使用面要素类作为输入,该工具将计算这些面质心处的公共交通频率统计数据。 该工具的输出将是输入面的副本,并添加了运输频率统计数据字段。 面输入可用于计算宗地或人口普查区块的交通服务频率。 但是,如果面相对于旅行者在短时间内的步行距离而言很小,则面的质心只能准确表示该面。 例如,这不适用于人口普查区,因为如果按行人规模计算,人口普查区通常非常大。
该工具基于开源工具,此工具由 Esri 开发,Fehr & Peers 的 David Wasserman 在 Apache 2.0 许可下提供了支持。
参数
arcpy.transit.CalculateTransitServiceFrequency(in_transit_feature_dataset, analysis_type, out_feature_class, time_windows, {separate_counts_by_line}, {in_points_of_interest}, {network_data_source}, {travel_mode}, {travel_limit}, {travel_limit_units}, {cell_size}, {barriers})
名称 | 说明 | 数据类型 |
in_transit_feature_dataset | 包含来自 Network Analyst 公共交通数据模型的 Stops 和 LineVariantElements 要素类的要素数据集。 要素数据集的父地理数据库必须包含公共交通数据模型的 LineVariants、Schedules、ScheduleElements 和 Runs 表以及 Calendars 表、CalendarExceptions 表或两者皆有。 可以使用 GTFS 转公共交通数据模型工具从通用交通数据规范 (GTFS) 公共交通数据创建具有关联要素类和表的有效要素数据集。 | Feature Dataset |
analysis_type | 指定工具将为其计算公共交通服务频率的位置类型。
| String |
out_feature_class | 输出要素类。 shapefile 不是有效值。 | Feature Class |
time_windows [[Use Specific Date; Start Datetime; Duration (minutes); Count Arrivals or Departures; Output Field Prefix],...] | 将计算公共交通服务频率的时间段。 可以指定多个时间窗。 输出要素类将包含一组字段,表示每个时间窗的交通频率统计数据。 这些字段将以输出字段前缀列中指定的值作为前缀。 时间窗可以解释为具体日期或通用工作日。 使用具体日期列用于确定开始日期时间列的日期部分将被解释为确切日期还是通用工作日。 例如,如果开始日期时间的日期部分是 2021 年 12 月 25 日,并且使用具体日期为 True,则将使用确切日期,并且计算的公共交通服务频率将包括为圣诞节假期添加或移除的所有特殊服务. 如果使用具体日期为 False,则该日期将被解释为星期六,并且计算的公共交通服务频率将包括所有典型星期六的常规服务。 对于具体日期,将考虑 CalendarExceptions 表中包含的常规公共交通服务以及 Calendars 表中定义的日期范围的所有例外情况。 对于通用工作日,仅考虑 Calendars 表中工作日字段中定义的常规服务。
| Value Table |
separate_counts_by_line (可选) | 指定在计算公共交通频率统计数据时,使用同一停靠点或通道的多条公共交通线路的服务是按公共交通线路分开计数还是合并计数。 当按交通线路分开计数时,输出将包含使用停靠点或通道的每条唯一交通线路的每个停靠点或交通线段的副本,并且这些重复要素将具有重叠几何。
仅当将 analysis_type 参数设置为 STOPS 或 LINES 时,此参数才适用。 | Boolean |
in_points_of_interest (可选) | 将计算可用公共交通服务频率的感兴趣点。 如果指定了面图层,则将使用面质心处可用的公共交通服务。 当 analysis_type 参数设置为 POINTS_OF_INTEREST 时,此参数是必需项;否则,它将被忽略。 | Feature Layer |
network_data_source (可选) | 将用于确定指定感兴趣点范围内的公共交通停靠点或计算公共交通停靠点范围内的面区域的网络数据集或服务。 可以使用网络数据集的目录路径、网络数据集图层对象、网络数据集图层的字符串名称或网络分析服务的门户 URL。 网络必须包含至少一个出行模式。 要使用门户 URL,您必须使用具有路径选择权限的帐户登录门户。 如果使用 ArcGIS Online 作为网络数据源,则运行该工具将消耗配额。 注:使用适合对往返公共交通停靠点的乘客进行建模的网络数据集。 请勿使用经过配置的网络数据集,该网络数据集将公共交通数据与公共交通赋值器配合使用,因为此类型的网络将模拟乘坐公共交通的乘客,而非在公共交通停靠点往返的乘客。 当 analysis_type 参数设置为 POINTS_OF_INTEREST 或 AREAS 时,此参数是必需项;否则,它将被忽略。 | Network Data Source |
travel_mode (可选) | 将用于确定指定感兴趣点范围内的公共交通停靠点或计算公共交通停靠点范围内的面区域的网络数据源的出行模式。 可以指定出行模式作为出行模式的字符串名称,也可以作为 arcpy.nax.TravelMode 对象。 使用最适合对往返公共交通停靠点的乘客进行建模的出行模式。 通常情况下,应使用模拟步行时间或距离的出行模式。 注:请勿将出行模式与使用公共交通赋值器的阻抗属性配合使用,因为该出行模式将模拟乘坐公共交通的乘客,而非在公共交通停靠点往返的乘客。 当 analysis_type 参数设置为 POINTS_OF_INTEREST 或 AREAS 时,此参数是必需项;否则,它将被忽略。 | Network Travel Mode |
travel_limit (可选) | 在感兴趣点范围内查找公共交通停靠点或计算公共交通停靠点可到达的区域时将使用的阻抗限制。 此参数单位应为 travel_limit_units 参数中指定的单位。 当 analysis_type 参数设置为 POINTS_OF_INTEREST 或 AREAS 时,此参数是必需项;否则,它将被忽略。 | Double |
travel_limit_units (可选) | 指定将用于在 travel_limit 参数中指定的阻抗限制的单位。 可用单位取决于 travel_mode 参数中指定的值。 如果出行模式的阻抗具有时间单位,则仅可用基于时间的单位。 如果出行模式的阻抗具有距离单位,则仅可用基于距离的单位。 如果出行模式的阻抗单位既不基于时间也不基于距离,则唯一可用的选项将是未知单位,并且 travel_limit 参数值将以出行模式的阻抗为单位。
当 analysis_type 参数设置为 POINTS_OF_INTEREST 或 AREAS 时,此参数是必需项;否则,它将被忽略。 提示:建议您在计算兴趣点的公共交通服务频率时使用基于距离的出行限制。 通过基于距离的限制,该工具可以使用简单的直线距离选择提前减小 OD 成本矩阵的大小。 这可能会从 OD 成本矩阵分析中清除一些起点和目的地,从而提高性能。 如果网络数据源是消耗配额的服务,这种优化也会减少所需的配额数量。 | String |
cell_size (可选) | 将用于表示从工具输出中的公共交通停靠点可到达的区域的像元大小(边长)。 使用该参数设置数值和单位。 在计算从公共交通停靠点可到达的区域时,将计算服务区域。 生成的通常重叠的服务区面被简化为类似栅格的面要素类,该要素类由此参数中指定大小的正方形像元组成。 根据服务区面与像元质心重叠的公共交通停靠点,为这些像元中的每一个像元计算公共交通服务频率统计数据。 使用与行人在现实世界中的出行方式相关的像元大小。 例如,您可以根据城市街区或宗地的大小或行人在不到一分钟的时间内步行的距离来确定像元大小。 像元越小,准确度越高,但也需要更长的处理时间。 默认值是 80 米。 当 analysis_type 参数设置为 AREAS 时,此参数是必需项;否则,它将被忽略。 | Linear Unit |
barriers [barriers,...] (可选) | 在计算指定感兴趣点范围内的公共交通停靠点或计算公共交通停靠点范围内的面区域时,将在网络分析中用作障碍的点、线或面要素。 仅当 analysis_type 参数设置为 POINTS_OF_INTEREST 或 AREAS 时,此参数才为相关项;否则,它将被忽略。 | Feature Layer |
代码示例
以下代码片段演示了如何计算多个时间窗的公共交通停靠点的公交频率统计数据。
import datetime
arcpy.transit.CalculateTransitServiceFrequency(
r"C:\Data\TransitData.gdb\Transit",
"STOPS",
r"C:\Data\Output.gdb\FrequencyAtStops",
[
[False, datetime.datetime(2021, 6, 30, 7, 0, 0), 120, "DEPARTURES", "AMRush"], # 7:00 - 9:00 AM
[False, datetime.datetime(2021, 6, 30, 16, 0, 0), 120, "DEPARTURES", "PMRush"], # 4:00 - 6:00 PM
[False, datetime.datetime(2021, 6, 30, 22, 0, 0), 120, "DEPARTURES", "LateNight"], # 10:00 PM - midnight
[True, datetime.datetime(2021, 7, 4, 10, 0, 0), 240, "DEPARTURES", "July4Holiday"], # 7:00 - 9:00 AM, holiday
],
separate_counts_by_line=True
)
以下代码片段演示了如何使用网络数据集作为网络数据源来计算感兴趣点的交通频率统计数据。
import datetime
arcpy.transit.CalculateTransitServiceFrequency(
r"C:\Data\TransitData.gdb\Transit",
"POINTS_OF_INTEREST",
r"C:\Data\Output.gdb\Supermarkets_Frequency",
[[False, datetime.datetime(2021, 6, 30, 7, 0, 0), 120, "DEPARTURES", "AMRush"]],
in_points_of_interest=r"C:\Data\Input.gdb\Supermarkets",
network_data_source=r"C:\Data\NorthAmerica.gdb\Routing\Routing_ND",
travel_mode="Walking Distance",
travel_limit=0.25,
travel_limit_units="MILES"
)
以下代码片段演示了如何使用 ArcGIS Online 用作网络数据源,对将行驶时间限制为 10 分钟的区域计算公共交通频率统计数据。
import datetime
arcpy.transit.CalculateTransitServiceFrequency(
r"C:\Data\TransitData.gdb\Transit",
"AREAS",
r"C:\Data\Output.gdb\TransitSystemCoverage",
[[True, datetime.datetime(2021, 6, 30, 7, 0, 0), 120, "ARRIVALS", "June30AM"]],
"",
None,
"https://www.arcgis.com/",
"Walking Time",
10,
"MINUTES",
"100 Meters"
)
环境
许可信息
- Basic: 是
- Standard: 是
- Advanced: 是