public void DecodeAndAppend(XElement xe) { foreach (var xFeature in xe.Elements()) { FeatureCache fc = new FeatureCache(xFeature); if (!Features.Any(x => x.ID == fc.ID)) { Features.Add(fc); Map.AddFeature(fc.Layer, fc.Feature); } } }
public MapCache(Map map) { Features = new List <FeatureCache>(); Map = map; int id = 1; foreach (VectorLayer layer in map.Layers) { foreach (var feature in layer.Features) { FeatureCache fc = new FeatureCache(); fc.Feature = feature; fc.Extents = new Geometry.Polygon(feature.GeoData).GetExtent(); fc.Layer = layer.Name; fc.ID = id.ToString(); Features.Add(fc); id++; } } }