public GridDataPoints activeData(GridDataPoints allPoints, RectLatLng bounds, String id) { GridDataPoints activePoints = new GridDataPoints(id); foreach (GridDataPoint p in allPoints.points) { if (OverlayProcessor.RectLatLngCollide(p.loc,bounds)) { activePoints.addPoint(p); } } return activePoints; }
public void fillGridDataStoreManager(ref Dictionary<String, GridDataPoints> ds) { //List<StationReading> lsr; foreach (List<StationReading> lsr in precip.Values) { foreach (StationReading sr in lsr) { if (ds.ContainsKey(sr.DataTime)) { ds[sr.DataTime].addPoint(makeGDP(sr)); } else { GridDataPoints gds = new GridDataPoints(sr.DataTime); gds.addPoint(makeGDP(sr)); ds.Add(sr.DataTime,gds); } } } }
//, int Alpha) public void makeLayer(String RedDataSetName, String GreenDataSetName, String BlueDataSetName) { //blue only ViewArea = Control.ViewArea; //int x = (int)Control.FromLatLngToLocal(ViewArea.LocationRightBottom).X; curLayer = new Bitmap((int)Control.FromLatLngToLocal(ViewArea.LocationRightBottom).X,(int) Control.FromLatLngToLocal(ViewArea.LocationRightBottom).Y); g = System.Drawing.Graphics.FromImage(curLayer); //g.Clear(Color.Black); // allPoints = GDSM.DataSets[BlueDataSetName]; Console.WriteLine(BlueDataSetName + GDSM.DataSets.ContainsKey(BlueDataSetName)); activePoints = activeData(allPoints, ViewArea, BlueDataSetName); GPoint TL; GPoint BR; foreach (GridDataPoint p in activePoints.points) { TL = Control.FromLatLngToLocal(p.loc.LocationTopLeft); BR = Control.FromLatLngToLocal(p.loc.LocationRightBottom); //Console.WriteLine("Drawing: [" + TL.X + ", " + TL.Y + "] [" + BR.X + ", " + BR.Y + "] - " + p.value + " - (" + p.loc.LocationRightBottom.Lat + ", " + p.loc.LocationRightBottom.Lng +")"); g.FillRectangle(new SolidBrush(Color.FromArgb(125, Color.FromArgb(0,0,p.value))),new Rectangle((int)TL.X, (int)TL.Y, (int)(BR.X - TL.X), (int)(BR.Y - TL.Y))); } g.Flush(); Layers.Add(curLayer); }