Stat 133 Homework 10

Xinyang Geng


In [2]:
library(DataComputing)
library(XML)
  1. We load the file earthquakes.csv into R

In [3]:
data = read.csv(file="earthquakes.csv")%>%
  filter(Magnitude>=4)
long = data$Longitude
lat = data$Latitude
head(data)


Out[3]:
DateTimeLatitudeLongitudeDepthMagnitudeMagTypeNbStationsGapDistanceRMSSourceEventID
11968/03/21 21:54:59.9437.0378-121.740711.864.3ML2913360.1NCSN1001511
21968/05/30 08:03:01.0638.1722-123.205754.2ML38324910.3NCSN1001643
31969/09/25 13:21:15.0635.8658-120.8416.154.09Md8223340.05NCSN1003106
41969/09/30 03:33:05.8436.8468-121.56355.494Md137350.09NCSN1003117
51969/10/02 04:56:45.3038.4978-122.6640.225.6ML38104520.22NCSN1003129
61969/10/02 06:19:56.3938.45-122.75355.145.7ML53139580.22NCSN1003132
  1. Create XML document

In [4]:
Doc = newXMLDoc()
Root = newXMLNode("kml",namespaceDefinitions = "http://www.opengis.net/kml/2.2", doc = Doc)
Docmt = newXMLNode("Document", parent = Root)
Name = newXMLNode("Name", "Earthquakes", parent = Docmt)
Description = newXMLNode("Description", "4+ Earthquakes, 1966-present", parent = Docmt)
  1. Adding nodes and Timestamp

In [5]:
n = nrow(data)
Dtime = as.character(data$DateTime)
Dtimefix = gsub("/", "-", Dtime)
time = gsub(" ","T",Dtimefix)

for (i in 1:n)
{
  M = newXMLNode("Placemark", parent = Docmt)
  T = newXMLNode("Point", parent = M)
  cood = c(long[i],",",lat[i])
  newXMLNode("coordinates", cood, parent = T)
  S = newXMLNode("TimeStamp",parent=M)
  newXMLNode("when", time[i],"+08:00", parent=S)
}


saveXML(Doc, "earthquakes6.kml")


Out[5]:
'earthquakes6.kml'