Monday, March 9, 2015

Heatmap Outlook Looking Good!

Upon looking into the heatmap.js example link (included in the annotated bibliography) and after some navigating, I found snippets of code that will allow of modifications of any given variable that one one would imagine from a heat map (from opacity, to radius coverage, to coloring, and more).  Looking further, I eventually found a Googlemaps Heatmap Plugin Example (shown and linked to below) that seems to provide the following:
Link to Heatmap Example
  1.  A means for one to set a start latitude coordinate, a start longitude coordinate, and a start zoom value (which, as shown above, are set for North America and will have to be shifted to Africa's coordinates and zoomed out a little more in order to show all of Africa).
  2. A pre-made map of Africa (we will just have to use the longitude and latitude coordinate system).
  3. A means of setting a defined min and max value for heatmaps (thus providing for more reliable contrasts between various plotted values).
  4. A system in which it can pull in data values and only needs four things:
    1. A name (for distinguishing different data fields)
    2. A longitude for the data value
    3. A latitude for the data value
    4. A value for which is being expressed
 Lastly, I found one of the links led to the code on GitHub and downloaded a .zip file of the project.  That being said, I have five major objectives that I wish to strive for and complete by this Friday:
  1. Log in to a computer in the Linux lab in Hodson, log onto the Pluto server, and host the downloaded project files.
  2. Once the files are on the Pluto server, experiment and figure out how to get a map (like that above) using the downloaded material.  Then tamper and get Africa to be shown by default (rather than North America).  This will require briefly researching Africa's latitude and longitude values... thus, I will have to add the source that I get these from to the Annotated Bibliography.  Lastly, customize the zoom to best work towards this new default layout of showing Africa.
  3. Using the example values (like those provided above), experiment with the coloring feature of the heatmap.js to better express the future use of our variables and also experiment with overlapping points and how best to deal with this possibility and maximizing clarity.
  4. Communicate with my other group members in finding out from where the data values are coming from and figure out how to pull in these values and utilize them into this hosted project.
  5. Get the heatmap animated!!  Implement a time system (because up until this point the values will be constant)... make a group decision on whether to implement a sliding scale, a start on load and repeat on finish, or other type of implementation.  Also code will need to be modified to allow for the expression of different variables and the implementation of time.  Depending on how much system memory is used to run this, simplifications may have to take place.  We have a map that has 'x' places in which 'y' independent variable occurs in year 'a' out of 'b' years and 'c' places in which 'z' dependent variable (let alone the other dependent variables) occurs in year 'a' out of 'b' years... along with code that will handle what to do when two different variables have overlapping areas (let alone once three or four start overlapping).  I can easily see the computer lagging out handling all of this... but on top of all of that (because we are the CS students that we are), it would not do to have the program animate with a great deal of lag, but rather we wish it to do all of that mentioned prior and animate in a very smooth and non-laggy way.  Thus, why I can foresee some simplifications possibly being necessary.

No comments:

Post a Comment