shortestPath
是Turf中的MISC(杂项)函数之一,可以计算图形网络中两点之间的最短路径。
turf.shortestPath(startPoint, endPoint, options)
参数:
startPoint
:起始点。类型为 Feature
或者 Coord
。
endPoint
:结束点。类型为 Feature
或者 Coord
。
options
(可选):有以下属性:
network
: 需要导航的网络。类型为 FeatureCollection <LineString>
。weight
(可选): 计算最短路径时的权重。类型为 string
。默认为'length'
, 表示路径长度。可以是一个网络的特定属性。FeatureCollection <LineString>
。var start = turf.point([-77.031669, 38.878605]);
var end = turf.point([-77.029609, 38.881946]);
var network = turf.featureCollection([
turf.lineString([[-77.031669, 38.878605], [-77.029609, 38.881946]], { cost: 3 }),
turf.lineString([[-77.031669, 38.878605], [-77.027137, 38.882071]], { cost: 1 }),
turf.lineString([[-77.030955, 38.879532], [-77.029609, 38.881946]], { cost: 2 }),
turf.lineString([[-77.030955, 38.879532], [-77.027137, 38.882071]], { cost: 4 })
]);
var path = turf.shortestPath(start, end, {network: network, weight: 'cost'});
注意:
path
返回一个GeoJSON 线段 (FeatureCollection
),其空间参考与输入的输入点的坐标系相同。
在示例中,我们使用 cost
属性作为网络的加权属性,在计算最短路径时考虑了加权因素。