private void btnRoute_Click(object sender, EventArgs e) { MultipleShapeFileFeatureSource featureSource = new MultipleShapeFileFeatureSource(@"..\..\SampleData\testdata?.shp", @"..\..\SampleData\testdata?.midx"); RoutingSource routingSource = new RtgRoutingSource(@"..\..\SampleData\testdata.rtg"); RoutingEngine routingEngine = new RoutingEngine(routingSource); RoutingResult routingResult = routingEngine.GetShortestPath(featureSource, txtStartId.Text, txtEndId.Text); InMemoryFeatureLayer routingLayer = (InMemoryFeatureLayer)((LayerOverlay)winformsMap1.Overlays["RoutingOverlay"]).Layers["RoutingLayer"]; winformsMap1.Overlays["RoutingOverlay"].Lock.EnterWriteLock(); try { routingLayer.InternalFeatures.Clear(); foreach (Feature feature in routingResult.Features) { routingLayer.InternalFeatures.Add(feature); } } finally { winformsMap1.Overlays["RoutingOverlay"].Lock.ExitWriteLock(); } winformsMap1.Refresh(); }
private void btnGenerateRoadData_Click(object sender, EventArgs e) { MultipleShapeFileFeatureLayer.BuildIndex(@"..\..\SampleData\testdata?.shp", BuildIndexMode.DoNotRebuild); MultipleShapeFileFeatureSource featureSource = new MultipleShapeFileFeatureSource(@"..\..\SampleData\testdata?.shp", @"..\..\SampleData\testdata?.midx"); Collection <string> shapePathFileNames = featureSource.GetShapePathFileNames(); string fileNames = String.Empty; foreach (string fileName in shapePathFileNames) { fileNames += Path.GetFileName(fileName) + ","; } RtgRoutingSource.GenerateRoutingData(@"..\..\SampleData\testdata.rtg", featureSource, fileNames.TrimEnd(','), BuildRoutingDataMode.DoNotRebuild); MessageBox.Show("Finish building routing data!"); }