-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsketch.js
More file actions
117 lines (92 loc) · 2.34 KB
/
sketch.js
File metadata and controls
117 lines (92 loc) · 2.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
let mapimg ;
let loadedData ;
var clat = 0;
var clon = 0;
var lat = 35.1686;
var lon = -2.9276;
var zoom = 1;
var magColor;
var colors ;
function preload(){
mapimg = loadImage("https://api.mapbox.com/styles/v1/mapbox/dark-v9/static/0,0,1,0,0/1024x512?access_token=pk.eyJ1IjoidWNlZnBpbmdvIiwiYSI6ImNqeDkwN2dtMzA4bnEzdGw4YXpjdHhnN3UifQ.AmvEPX5KnHaePiuBmJx5Bg");
loadedData = loadStrings("https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_month.csv");
// format of csv file
//time,latitude,longitude,depth,mag,magType,nst,gap,…r,magError,magNst,status,locationSource,magSource
}
function setup() {
//setup colors for scales
colors =[];
magColor = 0;
colors.push(color(255,255,255));
colors.push(color(255,255,0));
colors.push(color(255, 191, 0));
colors.push(color(0,0,255));
colors.push(color(0,255,0));
colors.push(color(255,0,0));
colors.push(color(255,255,255));
createCanvas(1025,512);
image(mapimg,0,0);
translate(width/2, height/2);
imageMode(CENTER);
var cx = mercatorX(clon);
var cy = mercatorY(clat);
for (var i = 0; i < loadedData.length ;i++){
var data = loadedData[i].split(/,/);
//console.log(data);
lon = data[2];
lat = data[1];
magColor = magnitutude(float(data[4]))
var x = mercatorX(lon) - cx;
var y = mercatorY(lat) - cy;
fill(colors[magColor]);
ellipse(x,y,10,10);
console.log(x + " , " + y);
}
}
function draw() {
//pieChart(300, angles);
}
function mercatorX(lon){
lon = radians(lon);
var a = (256 / PI) * pow(2, zoom);
var b = lon + PI;
return a * b
}
function mercatorY(lat){
lat = radians(lat);
var a = (256 / PI) * pow(2, zoom);
var b = tan(PI / 4 + lat / 2);
var c = PI - log(b);
return a * c;
}
//function for magnitude scale
function magnitutude(value){
if (value <= 2.5) {
//scale 1 and 2 : White
return 0;
}
if (value >= 2.5 && value <= 5.4) {
//scale 3,4 and 5 : Yellow
return 1;
}
if (value >= 5.5 && value <= 6) {
//sclae 5 : Orange
return 2;
}
if (value >= 6.1 && value <= 6.9) {
//scale 6 : Green
return 3;
}
if (value >= 7.0 && value <= 7.9) {
//scale 7 : blue
return 4;
}
if (value >= 8.0 ) {
//scale 8 : red
return 5;
}
else
{
return 0;
}
}