Skip to content
Commits on Source (15)
......@@ -2,7 +2,7 @@
/* get all information necessary from MySQL and openTSDB */
function getAllParameters() {
mysqllookup()
//mysqllookup()
opentsdblookup()
}
......@@ -50,7 +50,7 @@ function opentsdblookup() {
lookup = { "metric": tag_metrics[i] }
try {
$.ajax({
url: "http://"+hostname+":8888/opentsdblookup",
url: "http://"+hostname+":4242/api/search/lookup",
dataType: "json",
error: showError,
success: getOpenTSDBParams,
......@@ -68,9 +68,11 @@ function opentsdblookup() {
};
function getOpenTSDBParams(data, status, jqXHRob) {
function getOpenTSDBParams(dataConverted, status, jqXHRob) {
var dataConverted = JSON.parse(data)
console.log("dataConverted: ", dataConverted)
//var dataConverted = JSON.parse(data)
//console.log("dataConverted: ", dataConverted)
all_parameters[dataConverted["metric"]] = []
......
var imported = document.createElement('script');
imported.type ="text/javascript"
imported.src = 'hostname.js';
document.head.appendChild(imported);
setTimeout(function () {
console.log(hostname)
}, 5000);
/* get all information necessary from MySQL and openTSDB */
function getAllParameters() {
mysqllookup()
//mysqllookup()
opentsdblookup()
}
......@@ -58,7 +50,7 @@ function opentsdblookup() {
lookup = { "metric": tag_metrics[i] }
try {
$.ajax({
url: "http://"+hostname+":8888/opentsdblookup",
url: "http://"+hostname+":4242/api/search/lookup",
dataType: "json",
error: showError,
success: getOpenTSDBParams,
......@@ -76,9 +68,11 @@ function opentsdblookup() {
};
function getOpenTSDBParams(data, status, jqXHRob) {
function getOpenTSDBParams(dataConverted, status, jqXHRob) {
var dataConverted = JSON.parse(data)
console.log("data: ", data)
//var dataConverted = JSON.parse(data)
//console.log("dataConverted: ", dataConverted)
all_parameters[dataConverted["metric"]] = []
......
var hostname = "amm-csr2.bucknell.edu"
var hostname = "amm-csr2"
var hostname = "amm-csr1.bucknell.edu"
var hostname = "amm-csr2.bucknell.edu"
......@@ -72,7 +72,9 @@ console.log("sensors: ", sensors)
html += '<select id="Sensor-'+id.toString()+'" onchange="changeSensor(this.id, this.value)"'+'style="display:inline-block;">';
for (var i = 0; i < sensors.length; i++) {
if (initial == "true" || initial == "true1") {
if (initial == "true") {
html += '<option selected value="' + sensors[i] + '">' + sensors[i].split(".")[0].split(":")[1] + '</option>' // hardcoded to use first tag (sensor_name)
selected += "." + sensors[i]
/*if (initial == "true") {
html += '<option selected value="Temperature.C">Temperature</option>'
selected += "." + "Temperature.C"
for (var j = 0; j < sensors.length; j++) {
......@@ -90,10 +92,11 @@ console.log("sensors: ", sensors)
}
}
break
}
}*/
} else {
if (i == 0) {
if (tag_metrics.indexOf(selected) != -1) {
//openTSDB
html += '<option selected value="' + sensors[i] + '">' + sensors[i].split(".")[0].split(":")[1] + '</option>' // hardcoded to use first tag (sensor_name)
selected += "." + sensors[i]
} else {
......@@ -114,7 +117,9 @@ console.log("sensors: ", sensors)
// units
if (initial == "true" || initial == "true1") {
if (initial == "true") {
html += '<p id = "Unit-'+id.toString()+'" style="display:inline-block; margin-left:10px; margin-right:10px; margin-top:0; margin-bottom:0;' + '">' + sensors[0].split(".")[2].split(":")[1] + '</p>'
units[id] = sensors[0].split(".")[2].split(":")[1] // hardcoded to use sensor_units
/*if (initial == "true") {
var ind = sensors.indexOf("Temperature.C")
html += '<p id = "Unit-'+id.toString()+'" style="display:inline-block; margin-left:10px; margin-right:10px; margin-top:0; margin-bottom:0;' + '">' + sensors[ind].split(".")[1] + '</p>'
units[id] = sensors[ind].split(".")[1]
......@@ -122,8 +127,8 @@ console.log("sensors: ", sensors)
var ind = sensors.indexOf("Dissolved Oxygen.mg/L")
html += '<p id = "Unit-'+id.toString()+'" style="display:inline-block; margin-left:10px; margin-right:10px; margin-top:0; margin-bottom:0;' + '">' + sensors[ind].split(".")[1] + '</p>'
units[id] = sensors[ind].split(".")[1]
}
} else {
}*/
//} else {
if (tag_metrics.indexOf(selected) != -1) {
// openTSDB
html += '<p id = "Unit-'+id.toString()+'" style="display:inline-block; margin-left:10px; margin-right:10px; margin-top:0; margin-bottom:0;' + '">' + sensors[0].split(".")[2].split(":")[1] + '</p>'
......
......@@ -30,7 +30,7 @@ function drawParameters(id, initial) {
var html = '<div style="clear:left;"><div style="float:left;">';
// remove
html += '<button id="Remove-'+id.toString()+'" class="remove-button" onclick="removeParameter(this.id);">Remove</button>';
html += '<button id="Remove-'+id.toString()+'" class="remove-button" title="Click to this parameter" onclick="removeParameter(this.id);">Remove</button>';
// axis
html += '<select id="Axis-'+id.toString()+'" onchange="updateAxis(this.id, this.selectedIndex)"' +'">';
......@@ -71,8 +71,8 @@ function drawParameters(id, initial) {
console.log("sensors: ", sensors)
html += '<select id="Sensor-'+id.toString()+'" onchange="changeSensor(this.id, this.value)"'+'style="display:inline-block;">';
for (var i = 0; i < sensors.length; i++) {
if (initial == "true" || initial == "true1") {
if (initial == "true") {
//if (initial == "true" || initial == "true1") {
/*if (initial == "true") {
html += '<option selected value="Temperature.C">Temperature</option>'
selected += "." + "Temperature.C"
for (var j = 0; j < sensors.length; j++) {
......@@ -90,10 +90,11 @@ console.log("sensors: ", sensors)
}
}
break
}
} else {
}*/
//} else {
if (i == 0) {
if (tag_metrics.indexOf(selected) != -1) {
//openTSDB
html += '<option selected value="' + sensors[i] + '">' + sensors[i].split(".")[0].split(":")[1] + '</option>' // hardcoded to use first tag (sensor_name)
selected += "." + sensors[i]
} else {
......@@ -113,8 +114,10 @@ console.log("sensors: ", sensors)
//console.log("sensors: ", sensors)
// units
if (initial == "true" || initial == "true1") {
if (initial == "true") {
//if (initial == "true" || initial == "true1") {
//html += '<p id = "Unit-'+id.toString()+'" style="display:inline-block; margin-left:10px; margin-right:10px; margin-top:0; margin-bottom:0;' + '">' + sensors[0].split(".")[2].split(":")[1] + '</p>'
//units[id] = sensors[0].split(".")[2].split(":")[1] // hardcoded to use sensor_units
/*if (initial == "true") {
var ind = sensors.indexOf("Temperature.C")
html += '<p id = "Unit-'+id.toString()+'" style="display:inline-block; margin-left:10px; margin-right:10px; margin-top:0; margin-bottom:0;' + '">' + sensors[ind].split(".")[1] + '</p>'
units[id] = sensors[ind].split(".")[1]
......@@ -122,8 +125,8 @@ console.log("sensors: ", sensors)
var ind = sensors.indexOf("Dissolved Oxygen.mg/L")
html += '<p id = "Unit-'+id.toString()+'" style="display:inline-block; margin-left:10px; margin-right:10px; margin-top:0; margin-bottom:0;' + '">' + sensors[ind].split(".")[1] + '</p>'
units[id] = sensors[ind].split(".")[1]
}
} else {
}*/
//} else {
if (tag_metrics.indexOf(selected) != -1) {
// openTSDB
html += '<p id = "Unit-'+id.toString()+'" style="display:inline-block; margin-left:10px; margin-right:10px; margin-top:0; margin-bottom:0;' + '">' + sensors[0].split(".")[2].split(":")[1] + '</p>'
......
......@@ -174,7 +174,7 @@ console.log("hostname: ", hostname)
/* default start and end dates */
var start = new Date(2014,6-1,20);
var start = new Date(2014,11-1,19);
var end = new Date();
/* set start date on the calendar; if a date is chosen by user, then query data and update graph */
......@@ -790,7 +790,8 @@ console.log("min2: ", min2)
}
queryCmd.push({"aggregator": "max", "downsample": downsample, "metric": parameter_names[i].split(".")[0], "rate": "false", "tags": {"sensor_name":sensor, "sensor_processing": processing, "sensor_units": units}})
//queryCmd.push({"aggregator": "max", "downsample": downsample, "metric": parameter_names[i].split(".")[0], "rate": "false", "tags": {"sensor_name":sensor, "sensor_processing": processing, "sensor_units": units}})
queryCmd.push({"aggregator": "max", "metric": parameter_names[i].split(".")[0], "rate": "false", "tags": {"sensor_name":sensor, "sensor_processing": processing, "sensor_units": units}})
param_indices[parameter_names[i]] = index
index += 1
......@@ -850,14 +851,15 @@ console.log("min2: ", min2)
console.log("queryCmd: ", queryCmd)
var query = { "start":start.getTime()/1000, "end":end.getTime()/1000, "queries":queryCmd }
var query = { "start":(start.getTime()/1000) >> 0, "end":(end.getTime()/1000) >> 0, "queries":queryCmd }
console.log("query: ", query)
try {
$.ajax({
url: "http://"+hostname+":8888/query",
//url: "http://"+hostname+":8888/query",
url: "http://"+hostname+":4242/api/query",
dataType: "json",
error: showError,
success: createGraph,
......@@ -896,10 +898,10 @@ console.log("data: ", data)
var sensor_info = parameter_names[i]
// if there is data
if (data[count][0][sensor_info].length != 0) {
for (var j = 0; j < data[count][0][sensor_info].length; j++) {
domains["min"][axis] = Math.min(domains["min"][axis], data[count][0][sensor_info][j]["y"])
domains["max"][axis] = Math.max(domains["max"][axis], data[count][0][sensor_info][j]["y"])
if (data[count]["dps"].length != 0) {
for (var j in data[count]["dps"]) {
domains["min"][axis] = Math.min(domains["min"][axis], data[count]["dps"][j])
domains["max"][axis] = Math.max(domains["max"][axis], data[count]["dps"][j])
}
}
count += 1
......@@ -936,10 +938,10 @@ console.log("shown_parameters: ", shown_parameters)
try {
if (tag_metrics.indexOf(sensor_info.split(".")[0]) == -1) {
// in mySQL
if (data[count][0][sensor_info].length != 0) {
if (data[count][sensor_info].length != 0) {
series.push( { name: sensor_info.split(".")[0]+"."+sensor_info.split(".")[1],
color: colorScheme[series.length],
data: data[count][0][sensor_info],
data: data[count][sensor_info],
scale: axes[axis] })
units_being_used.push(sensor_info.split(".")[2])
......@@ -950,17 +952,17 @@ console.log("shown_parameters: ", shown_parameters)
}
} else {
// hardcoded to use sensor_name
if (data[count][0][sensor_info].length != 0) {
if (data[count]["dps"].length != 0) {
if (sensor_info.split(".")[0] == "Table") {
series.push( { name: "CR1000"+"."+sensor_info.split(".")[1].split(":")[1],
color: colorScheme[series.length],
data: data[count][0][sensor_info],
data: data[count]["dps"],
scale: axes[axis]})
units_being_used.push(sensor_info.split(".")[3].split(":")[1])
} else {
series.push( { name: sensor_info.split(".")[0].split(":")[1],
color: colorScheme[series.length],
data: data[count][0][sensor_info] ,
data: data[count]["dps"] ,
scale: axes[axis]})
units_being_used.push(sensor_info.split(".")[3].split(":")[1])
}
......@@ -1001,6 +1003,14 @@ console.log("shown_parameters: ", shown_parameters)
console.log("axes: ", axes)
console.log("series: ", series)
for (var blah = 0; blah < series.length; blah++) {
var data_array = []
for (asdf in series[blah]["data"]) {
data_array.push({"x":parseInt(asdf),"y":series[blah]["data"][asdf]});
}
series[blah]["data"] = data_array
}
try {
......
......@@ -174,7 +174,7 @@ console.log("hostname: ", hostname)
/* default start and end dates */
var start = new Date(2014,6-1,20);
var start = new Date(2014,11-1,19);
var end = new Date();
/* set start date on the calendar; if a date is chosen by user, then query data and update graph */
......@@ -329,7 +329,7 @@ console.log("hostname: ", hostname)
// query string
url_query = url_query.substring(1)
try {
var settings = url_query.split(";")
var settings = url_query.split("&")
for (var x = 0; x < settings.length; x++) {
var setting = settings[x]
console.log(setting)
......@@ -790,7 +790,8 @@ console.log("min2: ", min2)
}
queryCmd.push({"aggregator": "max", "downsample": downsample, "metric": parameter_names[i].split(".")[0], "rate": "false", "tags": {"sensor_name":sensor, "sensor_processing": processing, "sensor_units": units}})
//queryCmd.push({"aggregator": "max", "downsample": downsample, "metric": parameter_names[i].split(".")[0], "rate": "false", "tags": {"sensor_name":sensor, "sensor_processing": processing, "sensor_units": units}})
queryCmd.push({"aggregator": "max", "metric": parameter_names[i].split(".")[0], "rate": "false", "tags": {"sensor_name":sensor, "sensor_processing": processing, "sensor_units": units}})
param_indices[parameter_names[i]] = index
index += 1
......@@ -850,14 +851,15 @@ console.log("min2: ", min2)
console.log("queryCmd: ", queryCmd)
var query = { "start":start.getTime()/1000, "end":end.getTime()/1000, "queries":queryCmd }
var query = { "start":(start.getTime()/1000) >> 0, "end":(end.getTime()/1000) >> 0, "queries":queryCmd }
console.log("query: ", query)
try {
$.ajax({
url: "http://"+hostname+":8888/query",
//url: "http://"+hostname+":8888/query",
url: "http://"+hostname+":4242/api/query",
dataType: "json",
error: showError,
success: createGraph,
......@@ -896,10 +898,10 @@ console.log("data: ", data)
var sensor_info = parameter_names[i]
// if there is data
if (data[count][0][sensor_info].length != 0) {
for (var j = 0; j < data[count][0][sensor_info].length; j++) {
domains["min"][axis] = Math.min(domains["min"][axis], data[count][0][sensor_info][j]["y"])
domains["max"][axis] = Math.max(domains["max"][axis], data[count][0][sensor_info][j]["y"])
if (data[count]["dps"].length != 0) {
for (var j in data[count]["dps"]) {
domains["min"][axis] = Math.min(domains["min"][axis], data[count]["dps"][j])
domains["max"][axis] = Math.max(domains["max"][axis], data[count]["dps"][j])
}
}
count += 1
......@@ -936,10 +938,10 @@ console.log("shown_parameters: ", shown_parameters)
try {
if (tag_metrics.indexOf(sensor_info.split(".")[0]) == -1) {
// in mySQL
if (data[count][0][sensor_info].length != 0) {
if (data[count][sensor_info].length != 0) {
series.push( { name: sensor_info.split(".")[0]+"."+sensor_info.split(".")[1],
color: colorScheme[series.length],
data: data[count][0][sensor_info],
data: data[count][sensor_info],
scale: axes[axis] })
units_being_used.push(sensor_info.split(".")[2])
......@@ -950,17 +952,17 @@ console.log("shown_parameters: ", shown_parameters)
}
} else {
// hardcoded to use sensor_name
if (data[count][0][sensor_info].length != 0) {
if (data[count]["dps"].length != 0) {
if (sensor_info.split(".")[0] == "Table") {
series.push( { name: "CR1000"+"."+sensor_info.split(".")[1].split(":")[1],
color: colorScheme[series.length],
data: data[count][0][sensor_info],
data: data[count]["dps"],
scale: axes[axis]})
units_being_used.push(sensor_info.split(".")[3].split(":")[1])
} else {
series.push( { name: sensor_info.split(".")[0].split(":")[1],
color: colorScheme[series.length],
data: data[count][0][sensor_info] ,
data: data[count]["dps"] ,
scale: axes[axis]})
units_being_used.push(sensor_info.split(".")[3].split(":")[1])
}
......@@ -1001,6 +1003,14 @@ console.log("shown_parameters: ", shown_parameters)
console.log("axes: ", axes)
console.log("series: ", series)
for (var blah = 0; blah < series.length; blah++) {
var data_array = []
for (asdf in series[blah]["data"]) {
data_array.push({"x":asdf,"y":series[blah]["data"][asdf]});
}
series[blah]["data"] = data_array
}
try {
......
......@@ -21,6 +21,7 @@
<script src="Scripts/rickshaw.min.js"></script>
<script src="Scripts/jquery-1.9.0.min.js"></script>
<script src="Scripts/jquery-1.9.0.js"></script>
<script src="Scripts/jquery-ui.js"></script>
<script src="Scripts/rickshaw.js"></script>
<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
......@@ -50,7 +51,12 @@
<div class="compare-label">End Date:</div>
<input type="text" id="end-date" class="text ui-widget-content ui-corner-all compare-input">
</div>
<!--
<div id="unit">
<input type="radio" name="unit" value="meters/second" checked>meters/second<br>
<input type="radio" name="unit" value="miles/hour">miles/hour
</div>
-->
</body>
......@@ -59,7 +65,7 @@
/* default start and end dates */
var start = new Date(2014,6-1,20);
var start = new Date(2014,11-1,1);
var end = new Date();
/* set start date on the calendar; if a date is chosen by user, then query data and update graph */
......@@ -85,28 +91,30 @@
function main() {
var dict = {}
dict["sensor_name"] = "WindDir"
dict["sensor_processing"] = "Smp"
dict["sensor_units"] = "degrees"
//dict["sensor_processing"] = "Smp"
//dict["sensor_units"] = "degrees"
var command = {"aggregator": "max", "metric": "Table", "rate": "false", "tags": dict}
var dict2 = {}
dict2["sensor_name"] = "WindSpeed"
dict2["sensor_processing"] = "Smp"
dict2["sensor_units"] = "meters/second"
//dict2["sensor_processing"] = "Smp"
//dict2["sensor_units"] = "meters/second"
var command2 = {"aggregator": "max", "metric": "Table", "rate": "false", "tags": dict2}
var queryData =
{
"start": start.getTime(),
"end": end.getTime(),
"db" : "OpenTSDB",
"start": (start.getTime()/1000) >> 0,
"end": (end.getTime()/1000) >> 0,
//"db" : "OpenTSDB",
"queries": [command, command2]
//"queries": [command]
}
console.log(queryData);
try {
$.ajax({
url: "http://"+hostname+":8888/query",
url: "http://amm-csr2:4242/api/query",
dataType: "json",
error: showError,
success: createGraph,
......@@ -127,37 +135,74 @@
};
function createGraph(data, status, jqXHRob) {
console.log(data);
// var unit = document.getElementById('unit').value;
var size = 16;
var showData = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
var maxWindSpeed = 0
var maxWindSpeed = 0;
var speedDistr = [[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]];
for (var i = 0; i < data[0][0]["Table.sensor_name:WindDir.sensor_processing:Smp.sensor_units:degrees"].length; i++) {
var index = Math.floor(data[0][0]["Table.sensor_name:WindDir.sensor_processing:Smp.sensor_units:degrees"][i]["y"]/23)
//var speedDistr = [[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]];
showData[index] += 1
var speed = data[1][0]["Table.sensor_name:WindSpeed.sensor_processing:Smp.sensor_units:meters/second"][i]["y"]
var speedDistr = new Array(16);
for (var q = 0; q < 16; q++) {
speedDistr[q] = [0,0,0,0];
}
console.log("speedDistr: ", speedDistr);
var count = 0
for (var i in data[0]["dps"]) {
count += 1;
var index = Math.floor(data[0]["dps"][i]/23)
//var value = Math.floor(data[0]["dps"][i];
if (speed < 0.5) {
if (index < 16) {
showData[index] += 1
var speed = data[1]["dps"][i]
/*
if (unit == 'meters/second') {
*/
if (speed < 1) {
speedDistr[index][0] += 1;
} else if (speed < 2) {
speedDistr[index][1] += 1;
} else if (speed < 3) {
speedDistr[index][2] += 1;
} else {
speedDistr[index][3] += 1;
}
/*
} else {
if (speed < meter_secTOmile_hr(0.5)) {
speedDistr[index][0] += 1;
} else if (speed < 1) {
} else if (speed < meter_secTOmile_hr(1)) {
speedDistr[index][1] += 1;
} else if (speed < 1.5) {
} else if (speed < meter_secTOmile_hr(1.5)) {
speedDistr[index][2] += 1;
} else {
speedDistr[index][3] += 1;
}
}
*/
} else {
console.log("invalid index");
}
}
console.log("speedDistr: ",speedDistr);
var percentages = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
for (var i = 0; i < showData.length; i++) {
percentages[i] = showData[i]*100/data[0][0]["Table.sensor_name:WindDir.sensor_processing:Smp.sensor_units:degrees"].length
percentages[i] = showData[i]*100/count
speedDistr[i][0] = speedDistr[i][0]/(showData[i])*(percentages[i])
speedDistr[i][1] = speedDistr[i][1]/(showData[i])*(percentages[i])
......@@ -177,30 +222,35 @@ console.log(percentages)
.set('title', "Wind Dir and Wind Speed")
.set('labels', ['','NE','','E','','SE','','S','','SW','','W','','NW','','N'])
.set('labels.position', 'edge')
.set('tooltips',['0-0.5', '0.5-1', '1-1.5', '>1.5',
'0-0.5', '0.5-1', '1-1.5', '>1.5',
'0-0.5', '0.5-1', '1-1.5', '>1.5',
'0-0.5', '0.5-1', '1-1.5', '>1.5',
'0-0.5', '0.5-1', '1-1.5', '>1.5',
'0-0.5', '0.5-1', '1-1.5', '>1.5',
'0-0.5', '0.5-1', '1-1.5', '>1.5',
'0-0.5', '0.5-1', '1-1.5', '>1.5',
'0-0.5', '0.5-1', '1-1.5', '>1.5',
'0-0.5', '0.5-1', '1-1.5', '>1.5',
'0-0.5', '0.5-1', '1-1.5', '>1.5',
'0-0.5', '0.5-1', '1-1.5', '>1.5',
'0-0.5', '0.5-1', '1-1.5', '>1.5',
'0-0.5', '0.5-1', '1-1.5', '>1.5',
'0-0.5', '0.5-1', '1-1.5', '>1.5',
'0-0.5', '0.5-1', '1-1.5', '>1.5'
.set('tooltips',['0-1', '1-2', '2-3', '>3',
'0-1', '1-2', '2-3', '>3',
'0-1', '1-2', '2-3', '>3',
'0-1', '1-2', '2-3', '>3',
'0-1', '1-2', '2-3', '>3',
'0-1', '1-2', '2-3', '>3',
'0-1', '1-2', '2-3', '>3',
'0-1', '1-2', '2-3', '>3',
'0-1', '1-2', '2-3', '>3',
'0-1', '1-2', '2-3', '>3',
'0-1', '1-2', '2-3', '>3',
'0-1', '1-2', '2-3', '>3',
'0-1', '1-2', '2-3', '>3',
'0-1', '1-2', '2-3', '>3',
'0-1', '1-2', '2-3', '>3',
'0-1', '1-2', '2-3', '>3'
])
.set('key', ['0-0.5', '0.5-1', '1-1.5', '>1.5'])
.set('key', ['0-1', '1-2', '2-3', '>3'])
.set('key.interactive', true)
.set('gutter.top', 50)
.draw();
/*
if (unit == "miles/hour") {
rose.set('key', ['a','b','c','d'])
}
*/
};
function mpsTOmph(mps) {
function meter_secTOmile_hr(mps) {
return mps*3600/1609.34
}
......
......@@ -21,6 +21,7 @@
<script src="Scripts/rickshaw.min.js"></script>
<script src="Scripts/jquery-1.9.0.min.js"></script>
<script src="Scripts/jquery-1.9.0.js"></script>
<script src="Scripts/jquery-ui.js"></script>
<script src="Scripts/rickshaw.js"></script>
<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
......@@ -29,7 +30,7 @@
<script src="Scripts/RangeSlider.js"> </script>
<script src="Scripts/RangeSliderPreview.js"> </script>
<script src="Scripts/bootstrap.min.js"></script>
<script src="IWrote/hostname.js"></script>
......@@ -50,7 +51,12 @@
<div class="compare-label">End Date:</div>
<input type="text" id="end-date" class="text ui-widget-content ui-corner-all compare-input">
</div>
<!--
<div id="unit">
<input type="radio" name="unit" value="meters/second" checked>meters/second<br>
<input type="radio" name="unit" value="miles/hour">miles/hour
</div>
-->
</body>
......@@ -59,7 +65,7 @@
/* default start and end dates */
var start = new Date(2014,6-1,20);
var start = new Date(2014,11-1,1);
var end = new Date();
/* set start date on the calendar; if a date is chosen by user, then query data and update graph */
......@@ -85,28 +91,30 @@
function main() {
var dict = {}
dict["sensor_name"] = "WindDir"
dict["sensor_processing"] = "Smp"
dict["sensor_units"] = "degrees"
//dict["sensor_processing"] = "Smp"
//dict["sensor_units"] = "degrees"
var command = {"aggregator": "max", "metric": "Table", "rate": "false", "tags": dict}
var dict2 = {}
dict2["sensor_name"] = "WindSpeed"
dict2["sensor_processing"] = "Smp"
dict2["sensor_units"] = "meters/second"
//dict2["sensor_processing"] = "Smp"
//dict2["sensor_units"] = "meters/second"
var command2 = {"aggregator": "max", "metric": "Table", "rate": "false", "tags": dict2}
var queryData =
{
"start": start.getTime(),
"end": end.getTime(),
"db" : "OpenTSDB",
"start": (start.getTime()/1000) >> 0,
"end": (end.getTime()/1000) >> 0,
//"db" : "OpenTSDB",
"queries": [command, command2]
//"queries": [command]
}
console.log(queryData);
try {
$.ajax({
url: "http://134.82.132.5:8888/query",
url: "http://amm-csr2:4242/api/query",
dataType: "json",
error: showError,
success: createGraph,
......@@ -127,21 +135,39 @@
};
function createGraph(data, status, jqXHRob) {
console.log(data);
// var unit = document.getElementById('unit').value;
var size = 16;
var showData = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
var maxWindSpeed = 0
var maxWindSpeed = 0;
var speedDistr = [[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]];
for (var i = 0; i < data[0][0]["Table.sensor_name:WindDir.sensor_processing:Smp.sensor_units:degrees"].length; i++) {
var index = Math.floor(data[0][0]["Table.sensor_name:WindDir.sensor_processing:Smp.sensor_units:degrees"][i]["y"]/23)
//var speedDistr = [[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]];
showData[index] += 1
var speed = data[1][0]["Table.sensor_name:WindSpeed.sensor_processing:Smp.sensor_units:meters/second"][i]["y"]
var speedDistr = new Array(16);
for (var q = 0; q < 16; q++) {
speedDistr[q] = [0,0,0,0];
}
console.log("speedDistr: ", speedDistr);
var count = 0
for (var i in data[0]["dps"]) {
count += 1;
var index = Math.floor(data[0]["dps"][i]/23)
//var value = Math.floor(data[0]["dps"][i];
if (index < 16) {
showData[index] += 1
var speed = data[1]["dps"][i]
/*
if (unit == 'meters/second') {
*/
if (speed < 0.5) {
speedDistr[index][0] += 1;
} else if (speed < 1) {
......@@ -151,13 +177,32 @@
} else {
speedDistr[index][3] += 1;
}
/*
} else {
if (speed < meter_secTOmile_hr(0.5)) {
speedDistr[index][0] += 1;
} else if (speed < meter_secTOmile_hr(1)) {
speedDistr[index][1] += 1;
} else if (speed < meter_secTOmile_hr(1.5)) {
speedDistr[index][2] += 1;
} else {
speedDistr[index][3] += 1;
}
}
*/
} else {
console.log("invalid index");
}
}
console.log("speedDistr: ",speedDistr);
var percentages = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
for (var i = 0; i < showData.length; i++) {
percentages[i] = showData[i]*100/data[0][0]["Table.sensor_name:WindDir.sensor_processing:Smp.sensor_units:degrees"].length
percentages[i] = showData[i]*100/count
speedDistr[i][0] = speedDistr[i][0]/(showData[i])*(percentages[i])
speedDistr[i][1] = speedDistr[i][1]/(showData[i])*(percentages[i])
......@@ -198,9 +243,14 @@ console.log(percentages)
.set('key.interactive', true)
.set('gutter.top', 50)
.draw();
/*
if (unit == "miles/hour") {
rose.set('key', ['a','b','c','d'])
}
*/
};
function mpsTOmph(mps) {
function meter_secTOmile_hr(mps) {
return mps*3600/1609.34
}
......
campbell.db
campbell.log
*.pyc