/** * */ package net.refractions.udig.georss; import java.io.*; import java.util.*; import org.jdom.Document; import org.jdom.Element; import org.jdom.JDOMException; import org.jdom.input.SAXBuilder; import com.vividsolutions.jts.geom.*; /** * @author RUI LI * */ public class Georss { /** * */ List <EarthQuakeItem> items = new ArrayList<EarthQuakeItem>(); public Georss()throws JDOMException, IOException{ // TODO Auto-generated constructor stub SAXBuilder bldr = new SAXBuilder(); Document xmlDoc = bldr.build("http://earthquake.usgs.gov/eqcenter/catalogs/eqs1day-M2.5.xml"); Element root = xmlDoc.getRootElement().getChild("channel"); List quakeList = root.getChildren("item"); for(int i=0; i<quakeList.size(); i++){ Element quake = (Element)quakeList.get(i); String quakeTime = quake.getChildText("pubDate"); String quakeName = quake.getChildText("title"); String quakeDetl = quake.getChildText("link"); String lat = quake.getChildText("lat", quake.getNamespace("geo:,http://www.w3.org/2003/01/geo/wgs84_pos#")); double quakeLat = Double.valueOf(lat.trim()).doubleValue(); String longt = quake.getChildText("long", quake.getNamespace("geo:,http://www.w3.org/2003/01/geo/wgs84_pos#")); double quakeLong = Double.valueOf(longt.trim()).doubleValue(); GeometryFactory gf = new GeometryFactory(); Point point = gf.createPoint(new Coordinate(quakeLat, quakeLong)); String time = quakeTime; String name = quakeName; String link = quakeDetl; EarthQuakeItem item = new EarthQuakeItem(point, name, time, link); items.add(item); System.out.println("------Earthquake Report--------"); System.out.println("Earthquake Time:"+ time); System.out.println("Earthquake Description:"+ name ); System.out.println("Details link:"+ link); System.out.println("Earthquake Location:"+point); } } public List <EarthQuakeItem> getItems(){ return items; } }