// Data from line#1 int N; float minX, maxX, minY, maxY;
Place[] places;
// Sketch variables float mapX1, mapY1, mapX2, mapY2;
void setup() { // Place p = new Place("19010", "Bryn Mawr", "PA", 40.44, 50.55); //println(p); // Read the data from a data file readData(); println("N = " + N); println("Min X = " + minX + ", Max X = " + maxX); println("Min Y = " + minY + ", Max Y = " + maxY); println("Read " + places.length + " zip codes."); // Print the first ten place objects for (int i = 0; i < 10; i++) { println(places[i]); } // Draw the places as points size(1600, 1000); //size(displayWidth, displayHeight); mapX1 = 30; mapY1 = 20; mapX2 = width - mapX1; mapY2 = height - mapY1; } // setup()
void draw() { background(50); for (Place p : places) { p.display(); } } // draw()
void readData() { // Reads data from a data file String[] lines = loadStrings("zips.txt"); // Neeeds to parse line#1 String[] firstLine = split(lines[0], " "); String[] values = split(firstLine[1], ","); N = int(values[0]); minX = float(values[1]); maxX = float(values[2]); minY = float(values[3]); maxY = float(values[4]); // Needs to read the remainder of the place data // First, create the data array places = new Place[lines.length-1]; // Next, populate with all place objects read from file for (int i = 1; i < lines.length; i++) { // Extract and create an ith place object String[] pieces = split(lines[i], "\t"); String zip = pieces[0]; float lat = float(pieces[1]); float lon = float(pieces[2]); String[] townState = split(pieces[3], ", "); String town = townState[0]; String state = townState[1]; places[i-1] = new Place(zip, town, state, lat, lon); } } // readData()