|
Response.Buffer = true;
Response.Expires = -1;
Response.ContentType = "image/png";
double lat1 = Convert.ToDouble(Request["lat1"]);
double lat2 = Convert.ToDouble(Request["lat2"]);
double lon1 = Convert.ToDouble(Request["lon1"]);
double lon2 = Convert.ToDouble(Request["lon2"]);
GenericDataAccess d = new GenericDataAccess(System.Configuration.ConfigurationManager.ConnectionStrings["mydatabase"].ToString());
string sql = "SELECT [" + "Latitude" + "], [" + "Longitude" + "], [" + "Traffic1" + "] FROM [" + "Kansas_Traffic" + "]";
sql += " WHERE Latitude Between " + lat2 + " AND " + lat1;
sql += " AND Longitude Between " + lon1 + " AND " + lon2;
GEOHeatMap.Heatmap hm = new GEOHeatMap.Heatmap(Convert.ToInt16(Request["w"]), Convert.ToInt16(Request["h"]), lat1, lat2, lon1, lon2, 2, 0);
DataSet ds = d.GetData(sql); // Call to your DB here
hm.SetDataFromDataSet(ref ds);
ds.Dispose();
Bitmap bmp = hm.Render();
System.IO.MemoryStream imageStream = new System.IO.MemoryStream();
bmp.Save(imageStream, System.Drawing.Imaging.ImageFormat.Png);
long len = imageStream.Length;
Byte[] imageBytes = new Byte[len + 1];
imageStream.Position = 0;
int totalRead = imageStream.Read(imageBytes, 0, (int)len);
Response.BinaryWrite(imageBytes);
imageStream.Close();
bmp.Dispose();
|