【supermap】基于超图的路径规划

第一步:通过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;
                        }
                    });
                })
            });

        }

参考博客:https://blog.csdn.net/wwq0813/article/details/86519720

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值