public void run() {
		RawTile rawTile;
		ArrayList<ArrayList<DataTile>> tiles;
		while (true) {
			rawTile = ThreadStorage.pollDataTileResults();
			if (rawTile == null && ThreadStorage.isEndProcess()) {
				break;
			} else if (rawTile != null) {
				try {
					tiles = rawTile.getRwaDataTile();
					processTile(tiles, rawTile.getLat(), rawTile.getLon());
					tiles = null;
					rawTile = null;
				} catch (InterruptedException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			} else {
				System.out.println("Waiting on Data");
				try {
					Thread.sleep(3000l);
				} catch (InterruptedException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}

	}