第一步:通过idesktop打开路网数据
第二步:构建二维网络
第三步:测试路径分析
选取两个点或者多个点,生成最优路径。
第四步:保存成工作空间,发布交通网络分析服务
第五步:调用超图iclient接口实现
networkAnalyst: function (startPoint, endPoint) {
var that = this;
var networkAnalystService = that.networkAnalystService
//创建最佳路径分析服务实例
var findPathService = L.supermap.networkAnalystService(networkAnalystService);
//创建最佳路径分析参数实例
var resultSetting = new SuperMap.TransportationAnalystResultSetting({
returnEdgeFeatures: true,
returnEdgeGeometry: true,
returnEdgeIDs: true,
returnNodeFeatures: true,
returnNodeGeometry: true,
returnNodeIDs: true,
returnPathGuides: true,
returnRoutes: true
});
var analystParameter = new SuperMap.TransportationAnalystParameter({
resultSetting: resultSetting,
weightFieldName: "SmLength"
});
var findPathParameter = new SuperMap.FindPathParameters({
isAnalyzeById: false,
nodes: [L.point(startPoint[0], startPoint[1]), L.point(endPoint[0], endPoint[1])],
parameter: analystParameter
});
//进行查找
findPathService.findPath(findPathParameter, function (serviceResult) {
var result = serviceResult.result;
result.pathList.map(function (result) {
var length = result.weight;
$("#fxjg").text("总长度 " + (length/1000).toFixed(3) + "公里");
var smcPromise = Cesium.GeoJsonDataSource.load(result.route,
{
clampToGround: true
}
);
smcPromise.then(function (dataSource) {
that.dataSources.push(dataSource);
viewer.dataSources.add(dataSource);
var entities = dataSource.entities.values;
for (var j = 0; j < entities.length; j++) {
var entity = entities[j];
var color = Cesium.Color.BLUE.withAlpha(0.8);
entity.polyline.material = color;
entity.polyline.width = 10;
}
});
})
});
}