RouteParameters

AMD: require(["geoscene/rest/support/RouteParameters"], (RouteParameters) => { /* code goes here */ });
ESM: import RouteParameters from "@geoscene/core/rest/support/RouteParameters";
类: geoscene/rest/support/RouteParameters
继承于:RouteParameters Accessor
起始版本:GeoScene API for JavaScript 4.20

路径的输入参数。指定停靠点位置、障碍位置、阻抗属性等详细信息。

另请参阅:

构造函数

new RouteParameters(properties)
参数:
properties Object
可选

有关可能传递给构造函数的所有属性的列表,请参见属性

属性概述

可以设置、检索或侦听任何属性。请参阅使用属性 主题。
隐藏继承的属性 显示继承的属性
名称 类型 描述
String[]更多信息

与分析一起累积的网络属性名称列表。

更多信息RouteParameters
String更多信息

用于访问资源或服务的授权字符串。

更多信息RouteParameters
AttributeParamValue[]更多信息

数组中的每个元素都是一个描述参数值的对象。

更多信息RouteParameters
String更多信息

类的名称。

更多信息Accessor
String更多信息

计算方向时使用的语言。

更多信息RouteParameters
String更多信息

计算方向时要使用的长度单位。

更多信息RouteParameters
String更多信息

定义返回的方向信息量。

更多信息RouteParameters
String更多信息

返回方向时要使用的样式。

更多信息RouteParameters
String更多信息

计算路径时用于行驶时间的网络属性名称。

更多信息RouteParameters
Boolean更多信息

路径可以帮助您找到访问给定停靠点列表的最有效路径。

更多信息RouteParameters
Boolean更多信息

在停靠点不在网络上或无法到达停靠点的路线中,结果将根据此属性的值而有所不同:* 如果为 false,则如果无法找到或到达指定的至少一个停靠点,则求解操作将失败。

更多信息RouteParameters
String更多信息

要在分析中用作阻抗属性的网络属性名称。

更多信息RouteParameters
Number更多信息

概化后输出几何的精度。

更多信息RouteParameters
String更多信息

输出几何的精度单位。

更多信息RouteParameters
String更多信息

将在结果中生成的输出线类型。

更多信息RouteParameters
SpatialReference|String更多信息

与分析结果一起返回的几何图形的空间参考的众所周知的 ID。

更多信息RouteParameters
Collection<PointBarrier>|DataLayer|FeatureSet|NetworkFeatureSet|NetworkUrl更多信息

在分析期间加载为网络位置的点障碍集。

更多信息RouteParameters
Collection<PolygonBarrier>|DataLayer|FeatureSet|NetworkFeatureSet|NetworkUrl更多信息

分析期间作为网络位置加载的一组面障碍。

更多信息RouteParameters
Collection<PolylineBarrier>|DataLayer|FeatureSet|NetworkFeatureSet|NetworkUrl更多信息

分析期间作为网络位置加载的一组折线障碍。

更多信息RouteParameters
Boolean更多信息

如果为 true,即使 findBestSequence = true,也保持序列中的第一个停靠点不变。

更多信息RouteParameters
Boolean更多信息

如果为 true,即使 findBestSequence = true,也保持序列中的最后一个停靠点不变。

更多信息RouteParameters
String[]更多信息

用作分析限制的网络属性名称列表。

更多信息RouteParameters
String更多信息

指定应如何处理 U 形转弯。

更多信息RouteParameters
Boolean更多信息

如果为 true,则将在 route.solve() 方法返回的 RouteSolveResult 中返回点障碍。

更多信息RouteParameters
Boolean更多信息

指示服务是否应为每条路线生成行车路线。

更多信息RouteParameters
Boolean更多信息

如果为 true,则将在 route.solve() 方法返回的 RouteSolveResult 中返回多边形障碍。

更多信息RouteParameters
Boolean更多信息

如果为 true,则将在 route.solve() 方法返回的 RouteSolveResult 中返回折线障碍。

更多信息RouteParameters
Boolean更多信息

如果为 true,则在每个 RouteResult 的 route 属性中生成并返回路径。

更多信息RouteParameters
Boolean更多信息

如果为 true,则在每个 RouteResult 的 stop 属性中返回停靠点。

更多信息RouteParameters
Boolean更多信息

如果为 true,则在 RouteResult 中返回 z 值。

更多信息RouteParameters
Date | String更多信息

路径开始的时间。

更多信息RouteParameters
Boolean更多信息

如果为 true,则开始时间将采用 UTC 格式。

更多信息RouteParameters
Collection<Stop>|DataLayer|FeatureSet|NetworkFeatureSet|NetworkUrl更多信息

分析期间作为网络位置加载的一组停靠点。

更多信息RouteParameters
TravelMode更多信息

出行模式表示一种通行的方式,例如驾驶或步行。

更多信息RouteParameters
Boolean更多信息

如果为 true,则在分析中使用网络的层次属性。

更多信息RouteParameters
Boolean更多信息

路线的一个有用功能是能够将停止访问限制在一天中的某些时间或“时间窗口”。

更多信息RouteParameters

属性详情

accumulateAttributes String[]

与分析一起累积的网络属性名称列表。例如,应将哪些属性作为响应的一部分返回。默认值为路线中使用的特定路由网络层中的定义。您可以将 Network Dataset -> Network Attributes 下的服务目录中列出的任何属性名称指定为 Usage Type: esriNAUTCost

apiKey String

用于访问资源或服务的授权字符串。API 密钥GeoScene Developer 仪表板中生成和管理。API 密钥明确绑定到 GeoScene 帐户; 它还用于监视服务使用情况。在特定类上设置细粒度 API 密钥会覆盖全局 API 密钥

另请参阅:
示例:
const stops = new FeatureSet({
  features: [
    new Graphic({
      geometry: new Point({
        x: -117.1949676,
        y: 34.0571844
      })
    }),
    new Graphic({
      geometry: new Point({
        x: -117.0619917,
        y: 34.0010284
      })
    })
  ]
});

const routeParameters = new RouteParameters({
  apiKey: "YOUR_API_KEY",
  stops
});

const routeURL = "https://route-api.geoscene.cn/arcgis/rest/services/World/Route/NAServer/Route_World";

const routeContainer = await route.solve(routeURL, routeParameters);
const routeLayer = routeContainer.routeResults[0].route;

const { attributes, geometry } = routeLayer;
view.graphics.add(new Graphic({
  attributes,
  geometry,
  symbol: {
    type: "simple-line",
    color: "green",
    width: "8px"
  }
}));
attributeParameterValues AttributeParamValue[]

数组中的每个元素都是一个描述参数值的对象。

declaredClass Stringreadonly inherited

类的名称。声明的类名的格式为 geoscene.folder.className

directionsLanguage String

计算方向时使用的语言。默认值为路线中使用的特定路由网络层中的定义。默认情况下,NAServer 仅与 en_US 一起安装 - 由服务器管理员添加其他语言。

directionsLengthUnits String

计算方向时要使用的长度单位。默认值为路线中使用的特定路由网络层中的定义。

Possible Values:"centimeters"|"decimal-degrees"|"decimeters"|"feet"|"inches"|"kilometers"|"meters"|"miles"|"millimeters"|"nautical-miles"|"points"|"yards"

directionsOutputType String

定义返回的方向信息量。

有关每个属性值含义的更多信息,请参阅方向输出类型说明

可能值:"complete"|"complete-no-events"|"featuresets"|"instructions-only"|"standard"|"summary-only"

另请参阅:
directionsStyleName String

返回方向时要使用的样式。默认值与网络图层中定义的默认值。查看网络服务的 REST 图层描述,查看支持的样式列表。

directionsTimeAttribute String

计算路径时用于行驶时间的网络属性名称。默认值为路线中使用的特定路由网络层中的定义。

findBestSequence Boolean

路径可以帮助您找到访问给定停靠点列表的最有效路径。这有时被称为“旅行销售人员”问题。当 findBestSequence = true 时,路线求解器通过计算访问停靠点的最佳顺序来解决旅行销售员问题。由于这是一个组合问题,我们采用启发式方法在合理的时间内解决这个问题。启发式方法不能保证最优序列(因为没有好的/快速的方法来证明大量停靠点的最优性)。它返回一个接近最优(如果不是最优)的解决方案。当使用 OR 研究社区中可用的已知TSP基准进行测试时,启发式方法表现良好。要以最有效的方式访问这些停靠点,请指定以下参数:

routeParams.findBestSequence = true;
routeParams.preserveFirstStop = false;
routeParams.preserveLastStop = false;
routeParams.returnStops = true;
ignoreInvalidLocations Boolean

在停靠点不在网络上或无法到达停靠点的路线中,结果将根据此属性的值而有所不同:

  • false 时,如果无法找到或到达指定的至少一个停靠点,则求解操作将失败。
  • true 时,只要至少有两个有效停靠点已通过路线连接,则返回有效结果。如果在单个请求中处理了多个路由,则只要构建了至少一个路由,就会返回有效结果。
impedanceAttribute String

要在分析中用作阻抗属性的网络属性名称。默认值为路线中使用的特定路由网络层中的定义。您可以将 Network Dataset -> Network Attributes 下的服务目录中列出的任何属性名称指定为 Usage Type: esriNAUTCost。您还可以指定 none 值以指示不应使用网络属性作为限制。如果您指定一个空数组,它将默认为服务的默认值。

例如,假设服务具有这两个 esriNAUTCost 属性,则为最快的路线设置 impedanceAttribute = "Time",为最短的驱动设置impedanceAttribute = "Length"

有关更多信息,请参阅了解网络属性

outputGeometryPrecision Number

概化后输出几何的精度。如果为 0,则不执行输出几何的概化。如果存在且为正,则表示 MaximumAllowableOffset 参数,并且根据 IPolycurve.Generalize 执行泛化。

outputGeometryPrecisionUnits String

输出几何的精度单位。

Possible Values:"centimeters"|"decimal-degrees"|"decimeters"|"feet"|"inches"|"kilometers"|"meters"|"miles"|"millimeters"|"nautical-miles"|"points"|"yards"

outputLines String

将在结果中生成的输出线类型。默认值为路线中使用的特定路由网络层中的定义。

可能值 说明
none 不返回任何行
straight 仅返回直线
true-shape 返回线条的真实形状
true-shape-with-measure 返回线条的真实形状及其测量值

Possible Values:"none"|"straight"|"true-shape"|"true-shape-with-measure"

默认值:"true-shape"
另请参阅:
outSpatialReference SpatialReference|String

与分析结果一起返回的几何图形的空间参考的众所周知的 ID。如果未指定,将在地图的空间参考中返回几何图形。

在分析期间加载为网络位置的点障碍集。

分析期间作为网络位置加载的一组面障碍。

分析期间作为网络位置加载的一组折线障碍。

preserveFirstStop Boolean

如果为 true,即使 findBestSequence = true,也保持序列中的第一个停靠点不变。仅当 findBestSequence = true 时适用。默认值为路线中使用的特定路由网络层中的定义。

preserveLastStop Boolean

如果为 true,即使 findBestSequence = true,也保持序列中的最后一个停靠点不变。仅当 findBestSequence = true 时适用。默认值为路线中使用的特定路由网络层中的定义。

restrictionAttributes String[]

用作分析限制的网络属性名称列表。默认值为路线中使用的特定路由网络层中的定义。可能的值列在 Network Dataset -> Network Attributes 下的服务目录中。您还可以指定 none 值以指示不应使用网络属性作为限制。如果您指定一个空数组,它将默认为服务的默认值。

restrictUTurns String

指定应如何处理 U 形转弯。默认值为路线中使用的特定路由网络层中的定义。

可能值"allow-backtrack"|"at-dead-ends-only"|"no-backtrack"|"at-dead-ends-and-intersections"

returnBarriers Boolean

如果为 true,则将在 route.solve() 方法返回的 RouteSolveResult 中返回点障碍。

默认值:false
returnDirections Boolean

指示服务是否应为每条路线生成行车路线。

默认值:false
returnPolygonBarriers Boolean

如果为 true,则将在 route.solve() 方法返回的 RouteSolveResult 中返回多边形面。

默认值:false
returnPolylineBarriers Boolean

如果为 true,则将在 route.solve() 方法返回的 RouteSolveResult 中返回折线障碍。

默认值:false
returnRoutes Boolean

如果为 true,则在每个 RouteResult 的 route 属性中生成并返回路径。

默认值:true
returnStops Boolean

如果为 true,则在每个 RouteResult 的 stop 属性中返回停靠点。

默认值:false
returnZ Boolean

如果为 true,则在 RouteResult 中返回 z 值。

默认值:true
startTime Date

路径开始的时间。如果未指定,则默认值为路径服务中指定的时间。

startTimeIsUTC Boolean

如果为 true,则开始时间将采用 UTC 格式。

默认值:true

分析期间作为网络位置加载的一组停靠点。当 stops 采用 FeatureSet 时,FeatureSet 中的每个要素都必须具有定义的空间参考。如果要素包含 xy 属性,则这些值将用于停靠点,即使要素包含几何也是如此。

travelMode TravelMode

出行模式表示一种通行的方式,例如驾驶或步行。出行模式定义了车辆或行人的物理特征。

travelMode 参数的值是 JSON 对象,其中包含您的服务支持的出行模式的设置。要获取支持的出行模式,请执行 retrieveTravelModes 操作。您可使用以下格式向检索出行模式发出请求: https://route.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World/retrieveTravelModes?f=json

另请参阅:
示例:
// Display the fastest walking time route between two existing graphics.
const apiKey = "<your-api-key>";
const url = "https://route-api.geoscene.cn/arcgis/rest/services/World/Route/NAServer/Route_World";

// Obtain the routing service's description. The description contains all preset travel modes.
const serviceDescription = await networkService.fetchServiceDescription(url, apiKey);

// Find the named travel mode called "Walking Time".
const { supportedTravelModes } = serviceDescription;
const travelMode = supportedTravelModes.find((mode) => mode.name === "Walking Time");

// Construct the route parameter object.
const routeParameters = new RouteParameters({
  apiKey,
  stops: new FeatureSet({
    features: view.graphics.toArray()
  }),
  returnDirections: true,
  travelMode
});

// Solve the route and add the path representing the fastest walk path to the map.
const routeContainer = await route.solve(url, routeParameters);
for (const routeResult of routeContainer.routeResults) {
  const { routeLayer } = routeResult;
  routeLayer.symbol = {
    type: "simple-line",
    color: [5, 150, 255],
    width: 3
  };
  view.graphics.add(routeLayer);
}
useHierarchy Boolean

如果为 true,则在分析中使用网络的层次属性。默认值为路线中使用的特定路由网络层中的定义。

默认值:false
useTimeWindows Boolean

路线的一个有用功能是能够将停止访问限制在一天中的某些时间或“时间窗口”。如果您需要向四个家庭交付订单,并且每个客户在一天中的有限时间段内有空,则 route 可以帮助您找到进行所有交付的最有效路径。

时间窗被视为“软”约束。这意味着,尽管求解器会尝试遵守时间窗口,但如有必要,它将违反某些停靠点的时间窗口以达到它们。请记住,除非您设置 RouteParameters.findBestSequence = true,否则将按照添加的顺序访问停靠点。

默认值:false

方法概述

名称 返回类型 描述
更多信息

执行 RouteParameters 对象的深度克隆。

更多信息RouteParameters
*更多信息

创建此类的新实例,并使用从 GeoScene 产品生成的 JSON 对象中的值对其进行初始化。

更多信息RouteParameters
Object更多信息

将此类的实例转换为其 GeoScene portal JSON 表示形式。

更多信息RouteParameters

方法详情

clone()

执行 RouteParameters 对象的深度克隆。

fromJSON(json){*}static

创建此类的新实例,并使用从 GeoScene 产品生成的 JSON 对象中的值对其进行初始化。传递到输入 json 参数的对象通常来自对 REST API 中的查询操作的响应或来自另一个 GeoScene 产品的 toJSON() 方法。请参阅指南中的 fromJSON() 主题,了解有关何时以及如何使用此功能的详细信息和示例。

参数:
json Object

GeoScene 格式的实例的 JSON 表示形式。有关各种输入 JSON 对象的结构示例,请参阅 GeoScene REST API 文档

返回:
类型 说明
* 返回此类的新实例。
toJSON(){Object}

将此类的实例转换为其 GeoScene portal JSON 表示形式。有关更多信息,请参阅 fromJSON()主题。

返回:
类型 说明
Object 此类示例的 GeoScene portal JSON 表现形式。

类型定义

AttributeParamValue Object

一个对象,描述 RouteParametersattributeParameterValues 属性的参数值。

属性:
attributeName String

属性名称。

parameterName String

参数的名称。

value String

参数的值。

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.