FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
Java_Programming_Coursera/src/EarthQuakeClient.java at master · HVoltBb/Java_Programming_Coursera · GitHub
HVoltBb
Java_Programming_Coursera
Repository navigation
Code
Issues
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
Java_Programming_Coursera
/
src
/
EarthQuakeClient.java
Copy path
More file actions
More file actions
Latest commit
History
History
History
157 lines (136 loc) · 5.88 KB
Breadcrumbs
Java_Programming_Coursera
/
src
/
EarthQuakeClient.java
Copy path
File metadata and controls
157 lines (136 loc) · 5.88 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
import
java
.
lang
.
reflect
.
Array
;
import
java
.
util
.*;
import
edu
.
duke
.*;
public
class
EarthQuakeClient
{
public
EarthQuakeClient
() {
// TODO Auto-generated constructor stub
}
public
ArrayList
<
QuakeEntry
>
filterByMagnitude
(
ArrayList
<
QuakeEntry
>
quakeData
,
double
magMin
) {
ArrayList
<
QuakeEntry
>
answer
=
new
ArrayList
<
QuakeEntry
>();
for
(
QuakeEntry
qe
:
quakeData
){
if
(
qe
.
getMagnitude
()>
magMin
) {
answer
.
add
(
qe
);
}
}
return
answer
;
}
public
ArrayList
<
QuakeEntry
>
filterByDistanceFrom
(
ArrayList
<
QuakeEntry
>
quakeData
,
double
distMax
,
Location
from
) {
ArrayList
<
QuakeEntry
>
answer
=
new
ArrayList
<
QuakeEntry
>();
for
(
QuakeEntry
qe
:
quakeData
){
if
(
qe
.
getLocation
().
distanceTo
(
from
)<
distMax
)
answer
.
add
(
qe
);
}
return
answer
;
}
public
void
dumpCSV
(
ArrayList
<
QuakeEntry
>
list
){
System
.
out
.
println
(
"Latitude,Longitude,Magnitude,Info"
);
for
(
QuakeEntry
qe
:
list
){
System
.
out
.
printf
(
"%4.2f,%4.2f,%4.2f,%s
\n
"
,
qe
.
getLocation
().
getLatitude
(),
qe
.
getLocation
().
getLongitude
(),
qe
.
getMagnitude
(),
qe
.
getInfo
());
}
}
public
void
bigQuakes
() {
EarthQuakeParser
parser
=
new
EarthQuakeParser
();
//String source = "http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_week.atom";
String
source
=
"data/nov20quakedata.atom"
;
ArrayList
<
QuakeEntry
>
list
=
parser
.
read
(
source
);
System
.
out
.
println
(
"read data for "
+
list
.
size
()+
" quakes"
);
ArrayList
<
QuakeEntry
>
y
=
filterByMagnitude
(
list
,
5.0
);
for
(
QuakeEntry
qe
:
y
){
System
.
out
.
println
(
qe
);
}
System
.
out
.
println
(
"Found "
+
y
.
size
() +
"quakes that match that criteria"
);
}
public
void
closeToMe
(){
EarthQuakeParser
parser
=
new
EarthQuakeParser
();
String
source
=
"data/nov20quakedatasmall.atom"
;
ArrayList
<
QuakeEntry
>
list
=
parser
.
read
(
source
);
System
.
out
.
println
(
"read data for "
+
list
.
size
()+
" quakes"
);
// This location is Durham, NC
// Location city = new Location(35.988, -78.907);
// This location is Bridgeport, CA
Location
city
=
new
Location
(
38.17
, -
118.82
);
ArrayList
<
QuakeEntry
>
nearQuakes
=
filterByDistanceFrom
(
list
,
1_000_000
,
city
);
System
.
out
.
println
(
"Found "
+
nearQuakes
.
size
() +
" quakes matching the criteria"
);
if
(
nearQuakes
.
size
()!=
0
){
for
(
QuakeEntry
qe
:
nearQuakes
){
System
.
out
.
println
(
qe
.
getInfo
());
}
}
}
public
ArrayList
<
QuakeEntry
>
filterByDepth
(
ArrayList
<
QuakeEntry
>
quakeData
,
double
minDepth
,
double
maxDepth
){
ArrayList
<
QuakeEntry
>
result
=
new
ArrayList
<>();
for
(
QuakeEntry
qe
:
quakeData
){
if
(
qe
.
getDepth
()>
minDepth
&&
qe
.
getDepth
()<
maxDepth
)
result
.
add
(
qe
);
}
return
result
;
}
public
void
quakesOfDepth
(){
EarthQuakeParser
parser
=
new
EarthQuakeParser
();
String
source
=
"data/nov20quakedatasmall.atom"
;
ArrayList
<
QuakeEntry
>
list
=
parser
.
read
(
source
);
System
.
out
.
println
(
"read data for "
+
list
.
size
()+
" quakes"
);
ArrayList
<
QuakeEntry
>
x
=
filterByDepth
(
list
, -
10_000.0
, -
5_000.0
);
System
.
out
.
println
(
"Find quakes with depth between -10000.0 and -5000.0"
);
if
(
x
.
size
()!=
0
){
for
(
QuakeEntry
qe
:
list
){
System
.
out
.
println
(
qe
);
}
System
.
out
.
println
(
"Found "
+
x
.
size
() +
" quakes that match that criteria"
);
}
}
public
ArrayList
<
QuakeEntry
>
filterByPhrase
(
ArrayList
<
QuakeEntry
>
quakeData
,
String
where
,
String
phrase
){
ArrayList
<
QuakeEntry
>
result
=
new
ArrayList
<>();
switch
(
where
.
toLowerCase
()){
case
"start"
:
for
(
QuakeEntry
qe
:
quakeData
) {
if
(
qe
.
getInfo
().
indexOf
(
phrase
) ==
0
)
result
.
add
(
qe
);
}
break
;
case
"end"
:
for
(
QuakeEntry
qe
:
quakeData
) {
if
(
qe
.
getInfo
().
indexOf
(
phrase
) == (
qe
.
getInfo
().
length
() -
phrase
.
length
()))
result
.
add
(
qe
);
}
break
;
case
"any"
:
for
(
QuakeEntry
qe
:
quakeData
) {
if
(
qe
.
getInfo
().
contains
(
phrase
))
result
.
add
(
qe
);
}
break
;
default
:
System
.
out
.
println
(
"Where do you want to search: start, end, or any?"
);
}
return
result
;
}
public
void
quakeByPhrase
(){
EarthQuakeParser
parser
=
new
EarthQuakeParser
();
String
source
=
"data/nov20quakedatasmall.atom"
;
ArrayList
<
QuakeEntry
>
list
=
parser
.
read
(
source
);
System
.
out
.
println
(
"read data for "
+
list
.
size
()+
" quakes"
);
String
where
=
"start"
;
String
phrase
=
"Explosion"
;
ArrayList
<
QuakeEntry
>
y
=
filterByPhrase
(
list
,
where
,
phrase
);
if
(
y
.
size
()!=
0
){
for
(
QuakeEntry
qe
:
y
){
System
.
out
.
println
(
qe
);
}
System
.
out
.
println
(
"Found "
+
y
.
size
() +
" quakes that match "
+
phrase
+
" at "
+
where
);
}
}
public
void
createCSV
(){
EarthQuakeParser
parser
=
new
EarthQuakeParser
();
String
source
=
"data/nov20quakedatasmall.atom"
;
//String source = "http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_week.atom";
ArrayList
<
QuakeEntry
>
list
=
parser
.
read
(
source
);
dumpCSV
(
list
);
System
.
out
.
println
(
"# quakes read: "
+
list
.
size
());
for
(
QuakeEntry
qe
:
list
) {
System
.
out
.
println
(
qe
);
}
}
}
Back
|
FazBrowse Home
|
New Git URL