private void UserControl_Load(object sender, EventArgs e) { filenames = new GeoCollection <string>(); filenames.Add("ShortestPath", "ShortestPath"); filenames.Add("FastestPath", "FastestPath"); filenames.Add("DallasWithOneWayRoad", "DallasWithOneWayRoad"); filenames.Add("OptimizeHighway", "OptimizeHighway"); cmbPurpose.DataSource = filenames.GetKeys(); RtgRoutingSource.BuildingRoutingData += new EventHandler <BuildingRoutingDataRtgRoutingSourceEventArgs>(RtgRoutingSource_BuildingRoadData); RenderMap(); }
private void btnUnion_Click(object sender, RoutedEventArgs e) { InMemoryFeatureLayer inMemoryLayer = (InMemoryFeatureLayer)wpfMap1.FindFeatureLayer("InMemoryFeatureLayer"); if (inMemoryLayer.InternalFeatures.Count > 1) { GeoCollection<AreaBaseShape> areaBaseShapes = new GeoCollection<AreaBaseShape>(); GeoCollection<Feature> features = inMemoryLayer.InternalFeatures; foreach (Feature feature in features) { AreaBaseShape targetAreaBaseShape = feature.GetShape() as AreaBaseShape; if (targetAreaBaseShape != null) { areaBaseShapes.Add(targetAreaBaseShape); } } AreaBaseShape unionedAreaBaseShape = AreaBaseShape.Union(areaBaseShapes); unionedAreaBaseShape.Id = "UnionedFeature"; inMemoryLayer.InternalFeatures.Clear(); inMemoryLayer.InternalFeatures.Add("UnionedFeature", new Feature(unionedAreaBaseShape)); inMemoryLayer.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle.FillSolidBrush.Color = GeoColor.FromArgb(100, GeoColor.SimpleColors.Green); wpfMap1.Overlays["InMemoryOverlay"].Refresh(); } }
private void btnUnion_Click(object sender, EventArgs e) { InMemoryFeatureLayer inMemoryLayer = (InMemoryFeatureLayer)winformsMap1.FindFeatureLayer("InMemoryFeatureLayer"); if (inMemoryLayer.InternalFeatures.Count > 1) { GeoCollection <AreaBaseShape> areaBaseShapes = new GeoCollection <AreaBaseShape>(); GeoCollection <Feature> features = inMemoryLayer.InternalFeatures; foreach (Feature feature in features) { AreaBaseShape targetAreaBaseShape = feature.GetShape() as AreaBaseShape; if (targetAreaBaseShape != null) { areaBaseShapes.Add(targetAreaBaseShape); } } AreaBaseShape unionedAreaBaseShape = AreaBaseShape.Union(areaBaseShapes); unionedAreaBaseShape.Id = "UnionedFeature"; inMemoryLayer.InternalFeatures.Clear(); inMemoryLayer.InternalFeatures.Add("UnionedFeature", new Feature(unionedAreaBaseShape)); inMemoryLayer.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle.FillSolidBrush.Color = GeoColor.FromArgb(100, GeoColor.SimpleColors.Green); winformsMap1.Refresh(winformsMap1.Overlays["InMemoryOverlay"]); } }
public string GetCurrentPosition() { if (vehicles == null) { ReadVehicles(); } GeoCollection <JsonVehicle> jsonVehicles = new GeoCollection <JsonVehicle>(); for (int i = 0; i < 6; i++) { string vehicleId = (i + 1).ToString(CultureInfo.InvariantCulture); List <PointShape> locations = vehicles[vehicleId]; readIndex[i]++; if (readIndex[i] >= locations.Count) { readIndex[i] = 0; } PointShape location = locations[readIndex[i]]; JsonVehicle vehicle = new JsonVehicle(vehicleId, "vehicle_van_" + (i + 1) + ".png", location.X, location.Y); jsonVehicles.Add(vehicle); } return(Serialize <Collection <JsonVehicle> >(jsonVehicles)); }
public static void LoadFrom <T>(this GeoCollection <T> sourceCollection, GeoCollection <T> targetCollection) { sourceCollection.Clear(); foreach (var key in targetCollection.GetKeys()) { sourceCollection.Add(key, targetCollection[key]); } }
private GeoCollection <string> GetFeatureIds(IEnumerable <string> adjacentIds) { GeoCollection <string> featureIds = new GeoCollection <string>(); foreach (string item in adjacentIds) { string featureId = item.Split(new string[] { "::" }, StringSplitOptions.RemoveEmptyEntries)[0]; featureIds.Add(item, featureId); } return(featureIds); }
private void GenerateKeywords(TreeNodeCollection treeNodes) { foreach (TreeNode item in treeNodes) { if (item.Tag != null) { keywords.Add(item.Tag.ToString(), item); } if (item.Nodes.Count > 0) { GenerateKeywords(item.Nodes); } } }
protected virtual Dictionary <FeatureLayer, GeoCollection <Feature> > GetSelectedFeaturesGroupCore(FeatureLayer targetFeatureLayer) { Dictionary <FeatureLayer, GeoCollection <Feature> > groupedFeatures = new Dictionary <FeatureLayer, GeoCollection <Feature> >(); IEnumerable <IGrouping <FeatureLayer, Feature> > tmpGroupedFeatures = null; if (targetFeatureLayer != null) { tmpGroupedFeatures = HighlightFeatureLayer.InternalFeatures.Where(tmpFeature => tmpFeature.Tag == targetFeatureLayer) .GroupBy(tmpFeature => (FeatureLayer)tmpFeature.Tag); } else { tmpGroupedFeatures = HighlightFeatureLayer.InternalFeatures.GroupBy(tmpFeature => (FeatureLayer)tmpFeature.Tag); } foreach (var item in tmpGroupedFeatures) { GeoCollection <Feature> tmpFeatures = new GeoCollection <Feature>(); foreach (var feature in item) { string featureId = GetOriginalFeatureId(feature); if (!tmpFeatures.Contains(featureId)) { Feature newFeature = new Feature(feature.GetWellKnownBinary(), featureId, feature.ColumnValues); //LINK: //foreach (var linkItem in feature.LinkColumnValues) //{ // newFeature.LinkColumnValues.Add(linkItem.Key, linkItem.Value); //} tmpFeatures.Add(featureId, newFeature); } } groupedFeatures.Add(item.Key, tmpFeatures); } return(groupedFeatures); }
/// <summary> /// Gets the related plugins. /// </summary> /// <returns></returns> public Collection <Plugin> GetPlugins() { Collection <Plugin> resultPlugins = new Collection <Plugin>(); GettingPluginsPluginManagerEventArgs args = new GettingPluginsPluginManagerEventArgs(); OnGettingPlugins(args); foreach (var item in args.Plugins) { resultPlugins.Add(item); } if (plugins == null) { plugins = new GeoCollection <Plugin>(); GetPluginsCore().OrderBy(p => p.Index).ForEach(p => { if (!plugins.Contains(p.Id)) { plugins.Add(p.Id, p); } }); } foreach (var item in plugins) { resultPlugins.Add(item); } GottenPluginsPluginManagerEventArgs gottenArgs = new GottenPluginsPluginManagerEventArgs(resultPlugins); OnGottenPlugins(gottenArgs); return(gottenArgs.Plugins); }