## Posted By

brn-cntrl on 05/30/15

## Who likes this?

1 person have marked this snippet as a favorite

# ionosphere map

/ Published in: Processing

This is a preliminary visualization done in Processing to test the process of parsing and visualizing data from .ionex files available through NASA's Reverb | Echo portal.

`//Ionosphere Visualization Comparisons//Brian Cantrell//Project completed as part of Data Visualization course at //USC School of Cinematic Arts with Evan Hughes float w;float lat;String [] latStrings;String [] valStrings;int [] theVals;PImage map;PImage heatmap;color c;int count;int curVals; // -- Setup --// void setup() {   latStrings = loadStrings("ionLats.txt");  valStrings = loadStrings("ionValsFull2.txt");  map = loadImage("images/map.png");  heatmap = loadImage("images/heatmapColors.png");  size(1080, 544, P3D);  smooth();  curVals = 0;} // -- Main Loop -- // void draw() {   noStroke();  //only animate until end of file  //Loop through the lattitude values  if (count == 5) {     count = 0;  }  if (count == 0) {    background(255);    if (curVals >= valStrings.length) {      curVals = 0;    }    for (int i = 0; i < latStrings.length; i++) {       lat = map(float(latStrings[i]), 90., -90., 0., float(height));      theVals = parseVals(valStrings[i+curVals]);      //For every lattitude value grab its array of sensor readings      for (int j = 0; j < theVals.length; j++) {        //map the color of each "pixel" to the value of the sensor reading        c = heatmap.get(int(map(theVals[j], 0, 1000, 0, 428)), 0);        fill(c);        w = width/theVals.length;        //fill a row of "pixels"        rect(j*w, lat-5, theVals.length, 10);      }    }    curVals+=71;    image(map, 0, 0);    tint(255, 50);    //uncomment to save images for animation    //saveFrame("map-####.jpg");  }  count++;} // -- Function for returning integer array for TEC values --// int [] parseVals(String s) {  //Grab string from file  String theString = s;  // strip string of brackets, quotations, and spaces  String stripped = theString.replace("[", "").replace("]", "").replace("\"", "").replace("â€œ", "").replace(" ", "");  // split string on commas and cast as int  int [] parsed = int(stripped.split(","));  return parsed;}`