首页 / 浏览问题 / 移动GIS / 问题详情
navigation2路线规划两个点怎么规划出来多条线路
13EXP 2021年08月30日
使用产品:imobile for android 10i

问题详细描述: navigation2路线规划两个点怎么规划出来多条线路

1个回答

您好,每次分析只能规划处一条线路,不同的线路需要通过设置不同的权重来分析,比如距离最短,时间最短。时间最短就需要对每个弧段设置一个表示时间长短的属性字段。设置权重有两个方法:
1.在iDesktop中交通分析--环境设置中设置权重,然后导出网络模型文件,再在移动端进行分析
2.使用代码在移动端设置相关网络分析环境设置,然后创建网络模型文件进行分析,一种权重对应一个网络模型文件。
9,127EXP 2021年08月31日
怎么用代码在移动端设置相关网络分析环境设置呢

通过TransportationAnalystSetting类来设置,参考代码:
 

TransportationAnalystSetting transportationAnalystSetting = new TransportationAnalystSetting();
DatasetVector datasetVector1 = (DatasetVector)m_Workspace.getDatasources().get(0).getDatasets().get(networkDatasetName);
transportationAnalystSetting.setNetworkDataset (datasetVector1);
WeightFieldInfo weightInfo = new WeightFieldInfo();
weightInfo.setFTWeightField ( "SmLength");
weightInfo.setTFWeightField ( "SmLength");
transportationAnalystSetting.getWeightFieldInfos().add(weightInfo);
transportationAnalystSetting.setNodeIDField ( "SmNodeID");
transportationAnalystSetting.setEdgeNameField("SmID");
transportationAnalystSetting.setEdgeIDField ( "SmEdgeID");
transportationAnalystSetting.setFNodeIDField ("SmFNode");
transportationAnalystSetting.setTNodeIDField ( "SmTNode");

//创建交通网络分析对象并进行相应设置
TransportationAnalyst transportationAnalyst = new TransportationAnalyst();
transportationAnalyst.setAnalystSetting(transportationAnalystSetting);
transportationAnalyst.load();
transportationAnalyst.createModel(MyApplication.SDCARD + "SuperMap/data/NetworkModel45.snm");
...