该枚举定义了生成路由数据集的方式类型常量。

命名空间:  SuperMap.Analyst.SpatialAnalyst
程序集:  SuperMap.Analyst.SpatialAnalyst (in SuperMap.Analyst.SpatialAnalyst)
版本: dll

语法

C#
public enum GenerateType

成员

成员名称描述
ByPoint
线参考点刻度方式。

该方式需要两份输入数据:线数据和参考点数据。其生成路由的过程是:首先通过路由标识字段值将参考点对应到线数据上,再根据参考点的刻度值来确定线数据节点的刻度值,从而生成路由数据集。参考点的刻度值存储在一个属性字段中。

参考点与对应线节点的位置通常有以下三种情形,请结合下图来理解,图中蓝色线是用于生成路由的线数据,红色方点为参考点,圆形浅橙色区域为一个给定的容限值所确定的范围。该容限值用于判定参考点是否有效,可由用户指定,与数据集节点的容限不同。

  • 参考点与对应线的节点重合,或在给定的容限范围内(如图中的参考点1),会将参考点的刻度值直接赋予该节点。如果节点容限范围内有多个参考点(如图中的节点4),则取距离最近的参考点的 M 值。
  • 参考点不在节点的容限范围内,系统此时会判断该参考点是否“在线上”。如果参考点到对应弧段的垂距小于容限,则视为“在线上”,那么该参考点的 M 值可能用于计算节点 M 值;如果垂距大于容限,则视为“不在线上”,不会参与计算节点的 M 值。如图中的参考点2,它不在节点2的容限范围内,但根据规则为“在线上”的点,那么节点2的M值将由参考点1和2的M值插值得出。而参考点3既不在节点容限范围内,也“不在线上”,因此是无效的参考点,不会参与节点3 的 M 值计算。因此节点3的 M 值将由参考点2和4插值得出。
  • 如果一个线对象周围没有可用于计算的参考点,即节点的容限范围内没有参考点,也没有参考点可视为“在线上”,那么该线对象将不会生成对应的路由。因此,使用这种方式生成的路由数据集的对象数和原有线数据集的对象数可能不一致。

此种方式生成的路由数据集的对象数和原有路线数据集的对象数可能不一致。

注意,对应同一线对象的按一定方向排列的参考点的 M 字段值应该是递增、递减或保持不变的。

BySingleField
线单字段方式。

该方式是根据线数据的一个属性字段来生成路由数据集。该字段记录了一个刻度值,将作为对应路由的终止 M 值(即一条路由的最后一个节点的 M 值),而该路由的起始刻度值(第一个节点的 M 值)为0,如果有中间节点,则其 M 值则通过插值得出。

此种方式生成的路由数据集的对象数和原有线数据集的对象数一致。

ByDoubleFields
线双字段方式。

该方式根据线数据的两个属性字段来生成路由数据集。这两个属性字段存储的刻度值将分别作为对应路由的起始节点的 M 值和终止节点的 M 值,中间节点的 M 值也是通过插值计算得出。

此种方式生成的路由数据集的对象数和原有线数据集的对象数一致。

ByLength
线长度方式。

该方式是将线对象的节点到起始节点的沿线长度作为每个节点的刻度值,从而生成路由数据集。显然,生成的路由数据集中,每条路由的起始节点的 M 值为0,终止节点的 M 值为对应路线的长度。生成的路由的刻度值单位为米。

此种方式生成的路由数据集的对象数和原有线数据集的对象数一致。

备注

关于“插值求 M 值”请参见 LinearReferencing 类的备注部分。

版本信息

SuperMap iObjects .NET


SuperMap Objects .NET

受以下版本支持: 6.1.3

请参见