Beispiel #1
0
        /// <summary>
        /// 加载图层。
        /// Add layer
        /// </summary>
        private void Load()
        {
            try
            {
                // 设置网络分析基本环境,这一步骤需要设置 分析权重、节点、弧段标识字段、容限
                // Set the basic environment of network analysis, including weight, node, edge, tolerance.
                TransportationAnalystSetting setting = new TransportationAnalystSetting();
                setting.NetworkDataset = m_datasetLine;
                setting.EdgeIDField    = m_edgeID;
                if (SuperMap.Data.Environment.CurrentCulture != "zh-CN")
                {
                    setting.EdgeNameField = "roadName_en";
                }
                else
                {
                    setting.EdgeNameField = "roadName";
                }
                setting.NodeIDField = m_nodeID;
                setting.Tolerance   = 0.01559;

                WeightFieldInfos weightFieldInfos = new WeightFieldInfos();
                WeightFieldInfo  weightFieldInfo  = new WeightFieldInfo();
                weightFieldInfo.FTWeightField = "smLength";
                weightFieldInfo.TFWeightField = "smLength";
                weightFieldInfo.Name          = "length";
                weightFieldInfos.Add(weightFieldInfo);
                setting.WeightFieldInfos = weightFieldInfos;
                setting.FNodeIDField     = "SmFNode";
                setting.TNodeIDField     = "SmTNode";

                // 构造交通网络分析对象,加载环境设置对象
                // Build the TransportationAnalyst object , and add environment setting object
                m_analyst = new TransportationAnalyst();
                m_analyst.AnalystSetting = setting;
                m_analyst.Load();
            }
            catch (Exception ex)
            {
                Trace.WriteLine(ex.Message);
            }
        }
        /// <summary>
        /// 加载网络分析模型
        /// </summary>
        public void LoadModel()
        {
            try
            {
                if (!mSceneControl.Scene.Layers.Contains(mStrLayer3DNodeNetwork))
                {
                    //Layer3DDataset layerNetNode = mSceneControl.Scene.Layers.Add(mRodeNetWork.ChildDataset, new Layer3DSettingVector(), true);
                    //Layer3DDataset layerNetLine = mSceneControl.Scene.Layers.Add(mRodeNetWork, new Layer3DSettingVector(), true);
                    //layerNetLine.IsSelectable = false;
                    //layerNetNode.IsSelectable = false;
                }
                else
                {
                    mSceneControl.Scene.Layers[mStrLayer3DNodeNetwork].IsVisible = true;
                    mSceneControl.Scene.Layers[mStrLayer3DLineNetwork].IsVisible = true;
                }
                WeightFieldInfo weightInfo = new WeightFieldInfo();
                weightInfo.Name          = "SmLength";
                weightInfo.FTWeightField = "SmLength";
                weightInfo.TFWeightField = "SmLength";

                TransportationAnalystSetting analystSetting = new TransportationAnalystSetting();
                analystSetting.NetworkDataset = mRodeNetWork;
                analystSetting.EdgeIDField    = "SmEdgeID";
                //analystSetting.NodeIDField = "SmNodeID";
                analystSetting.FNodeIDField = "SmFNode";
                analystSetting.TNodeIDField = "SmTNode";
                analystSetting.WeightFieldInfos.Add(weightInfo);
                mAnalyst.AnalystSetting = analystSetting;
                DatasetType ty1 = analystSetting.NetworkDataset.Type;
                mAnalyst.Load();
            }
            catch (Exception ex)
            {
                Trace.WriteLine(ex.Message);
            }
        }