Ejemplo n.º 1
0
        /// <summary>
        /// Output Results map, Directions
        /// </summary>
        private void OutputResults(NAServerSolverParams solverParams, NAServerSolverResults solverResults)
        {
            string messagesSolverResults = "";

            // Output Solve messages
            GPMessages gpMessages = solverResults.SolveMessages;

            GPMessage[] arrGPMessage = gpMessages.GPMessages1;
            if (arrGPMessage != null)
            {
                for (int i = 0; i < arrGPMessage.GetLength(0); i++)
                {
                    GPMessage gpMessage = arrGPMessage[i];
                    messagesSolverResults += "\n" + gpMessage.MessageDesc;
                }
            }

            // Output the total impedance of each route
            NAServerRouteResults routeSolverResults = solverResults as NAServerRouteResults;

            //Output Map
            pictureBox.Image = null;
            if (solverParams.ReturnMap)
            {
                pictureBox.Image = System.Drawing.Image.FromStream(new System.IO.MemoryStream(solverResults.MapImage.ImageData));
            }
            pictureBox.Refresh();

            if (routeSolverResults != null)
            {
                OutputDirections(routeSolverResults.Directions);                 // Return Directions if generated
            }
            tabCtrlOutput.Enabled = true;
        }
		/// <summary>
		/// Output Route Results according to the NAServerRouteParams
		/// </summary>
		private void OutputRouteResults(NAServerRouteParams solverParams, NAServerRouteResults solverResults)
		{
			// Return Directions if generated
			if (solverParams.ReturnDirections)
			{
				AddTabAndControl(this.tabReturnDirections, this.treeViewDirections);
				OutputDirections(solverResults.Directions);
			}
			else
				this.tabCtrlOutput.TabPages.Remove(this.tabReturnDirections);

			// Return Route Geometries is generated
			if (solverParams.ReturnRouteGeometries)
			{
				AddTabAndControl(this.tabReturnRouteGeometry, this.treeViewRouteGeometry);
				OutputPolylines(solverResults.RouteGeometries);
			}
			else
				this.tabCtrlOutput.TabPages.Remove(this.tabReturnRouteGeometry);

			// Return Route Features as RecordSet
			if (solverParams.ReturnRoutes)
			{
				AddTabAndControl(this.tabReturnRouteFeatures, this.dataGridRouteFeatures);
				OutputRecSetToDataGrid(solverResults.Routes, dataGridRouteFeatures);
			}
			else
				this.tabCtrlOutput.TabPages.Remove(this.tabReturnRouteFeatures);

			// Return Stop Features as RecordSet
			if (solverParams.ReturnStops)
			{
				AddTabAndControl(this.tabReturnStopsFeatures, this.dataGridStopFeatures);
				OutputRecSetToDataGrid(solverResults.Stops, dataGridStopFeatures);
			}
			else
				this.tabCtrlOutput.TabPages.Remove(this.tabReturnStopsFeatures);

			// Return Barrier Features as RecordSet
			if (solverParams.ReturnBarriers)
			{
				AddTabAndControl(this.tabReturnBarrierFeatures, this.dataGridBarrierFeatures);
				OutputRecSetToDataGrid(solverResults.Barriers, dataGridBarrierFeatures);
			}
			else
				this.tabCtrlOutput.TabPages.Remove(this.tabReturnBarrierFeatures);

			// Make TabControlOutput enable
			tabCtrlOutput.Enabled = true;
		}