0% found this document useful (0 votes)
63 views

Searching Earthquake Data

The document discusses parsing and transforming earthquake data from XML format to CSV format. It describes using object-oriented classes like QuakeEntry and Location to represent earthquake data, and an EarthQuakeParser API to read earthquake data from a URL or file and return a list of QuakeEntry objects. It also covers dumping the parsed data to a CSV file for use in mapping programs.

Uploaded by

Mouloud HAOUAS
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
63 views

Searching Earthquake Data

The document discusses parsing and transforming earthquake data from XML format to CSV format. It describes using object-oriented classes like QuakeEntry and Location to represent earthquake data, and an EarthQuakeParser API to read earthquake data from a URL or file and return a list of QuakeEntry objects. It also covers dumping the parsed data to a CSV file for use in mapping programs.

Uploaded by

Mouloud HAOUAS
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

Searching Earthquake Data

Introduction
Earthquake Data
• Using earthquake data as basis for study
• Object orientation with classes
• Searching, sorting, understanding data
• Parsing and transforming data
Earthquake Data
• Using earthquake data as basis for study
• Object orientation with classes
• Searching, sorting, understanding data
• Parsing and transforming data
• Transition to further study
• Capstone Project
• UCSD Specialization
• On your own
Real-time Data, November 11, 2015
• http://bit.ly/dukesoftware-quake11
Visualizing earthquake data in California,
United States
World/Asian Quakes, 11/11/2015
• Larger magnitude quakes ocean based?
• Creating maps by creating CSV files
Transforming and Using Data
• Data from http://earthquake.usgs.gov is in
XML format. JSON another data standard

<?xml version="1.0" encoding="UTF-8"?>


<feed xmlns="http://www.w3.org/2005/Atom" xmlns:georss=
<entry><id>urn:earthquake-usgs-gov:us:1000309d</id>
<title>M 4.4 - 106km NNE of Tobelo
<dt>Depth</dt><dd>9.84 km (6.11 mi)</dd></dl>]]></summary>
<georss:point>-16.3676 -173.2287</georss:point>
<georss:elev>-9840</georss:elev>
Transforming and Using Data
• Data from http://earthquake.usgs.gov is in
XML format. JSON another data standard
• Widespread standards, tricky to parse
<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:georss=
<entry><id>urn:earthquake-usgs-gov:us:1000309d</id>
<title>M 4.4 - 106km NNE of Tobelo
<dt>Depth</dt><dd>9.84 km (6.11 mi)</dd></dl>]]></summary>
<georss:point>-16.3676 -173.2287</georss:point>
<georss:elev>-9840</georss:elev>
Transforming and Using Data
• Data from http://earthquake.usgs.gov is in
XML format. JSON another data standard
• Widespread standards, tricky to parse
• We need CSV format for Google Maps

Latitude,Longitude,Magnitude,Info
60.08,-152.76,2.50,45km S of Redoubt Volcano, Alaska
36.33,-115.76,1.30,24km NE of Pahrump, Nevada
33.83,-117.00,1.00,7km NW of San Jacinto, California
33.83,-117.00,0.80,7km NW of San Jacinto, California
Transforming and Using Data
• Data from http://earthquake.usgs.gov is in
XML format. JSON another data standard
• Widespread standards, tricky to parse
• We need CSV format for Google Maps
• Also used in other mapping services

Latitude,Longitude,Magnitude,Info
60.08,-152.76,2.50,45km S of Redoubt Volcano, Alaska
36.33,-115.76,1.30,24km NE of Pahrump, Nevada
33.83,-117.00,1.00,7km NW of San Jacinto, California
33.83,-117.00,0.80,7km NW of San Jacinto, California
Transforming and Using Data
• Data from http://earthquake.usgs.gov is in
XML format. JSON another data standard
• Widespread standards, tricky to parse
• We need CSV format for Google Maps
• Also used in other mapping services
• Transforming data common application
Latitude,Longitude,Magnitude,Info
60.08,-152.76,2.50,45km S of Redoubt Volcano, Alaska
36.33,-115.76,1.30,24km NE of Pahrump, Nevada
33.83,-117.00,1.00,7km NW of San Jacinto, California
33.83,-117.00,0.80,7km NW of San Jacinto, California
Parsing and Transforming Data
• Parsing isn't simple, so let's use an API we
created to return collection of QuakeEntry
objects

public void createCSV(){


EarthQuakeParser parser = new EarthQuakeParser();
String source = "http://earthquake.usgs.gov/…";
ArrayList<QuakeEntry> list = parser.read(source);
dumpCSV(list);
System.out.println("# quakes read: "+list.size());
}
Parsing and Transforming Data
• Parsing isn't simple, so let's use an API we
created to return collection of QuakeEntry
objects

public void createCSV(){


EarthQuakeParser parser = new EarthQuakeParser();
String source = "http://earthquake.usgs.gov/…";
ArrayList<QuakeEntry> list = parser.read(source);
dumpCSV(list);
System.out.println("# quakes read: "+list.size());
}
Parsing and Transforming Data
• Parsing isn't simple, so let's use an API we
created to return collection of QuakeEntry
objects
• Parse file or URL, testing or real time
public void createCSV(){
EarthQuakeParser parser = new EarthQuakeParser();
String source = "http://earthquake.usgs.gov/…";
ArrayList<QuakeEntry> list = parser.read(source);
dumpCSV(list);
System.out.println("# quakes read: "+list.size());
}
Parsing and Transforming Data
• Parsing isn't simple, so let's use an API we
created to return collection of QuakeEntry
objects
• Parse file or URL, testing or real time
public void createCSV(){
EarthQuakeParser parser = new EarthQuakeParser();
String source = "http://earthquake.usgs.gov/…";
ArrayList<QuakeEntry> list = parser.read(source);
dumpCSV(list);
System.out.println("# quakes read: "+list.size());
}
Parsing and Transforming Data
• Parsing isn't simple, so let's use an API we
created to return collection of QuakeEntry
objects
• Parse file or URL, testing or real time
public void createCSV(){
EarthQuakeParser parser = new EarthQuakeParser();
String source = "http://earthquake.usgs.gov/…";
ArrayList<QuakeEntry> list = parser.read(source);
dumpCSV(list);
System.out.println("# quakes read: "+list.size());
}
QuakeEntry and Location Classes
• QuakeEntry holds relevant data from USGS
XML feed public class QuakeEntry {

• Location private
private
Location myLocation;
String title;
private double depth;
• Magnitude private double magnitude;

• Depth public QuakeEntry(…){

• Description }
QuakeEntry and Location Classes
• QuakeEntry holds relevant data from USGS
XML feed public class QuakeEntry {

• Location private
private
Location myLocation;
String title;
private double depth;
• Magnitude private double magnitude;

• Depth public QuakeEntry(…){

• Description }

• Location is a separate class


• One class often uses another
• Location code adapted from Android standard

You might also like