Mercurial > dive4elements > gnv-client
view gnv-artifacts/src/main/java/de/intevation/gnv/exports/ShapeDataCollector.java @ 329:42a5269636eb
Added time gap detection to time series charts.
gnv-artifacts/trunk@395 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Wed, 02 Dec 2009 15:42:46 +0000 |
parents | 3ea030aafe65 |
children | e964a3d8f7bc |
line wrap: on
line source
package de.intevation.gnv.exports; import org.apache.log4j.Logger; import com.vividsolutions.jts.io.WKTReader; import com.vividsolutions.jts.io.ParseException; import com.vividsolutions.jts.geom.Point; import de.intevation.gnv.geobackend.base.Result; import de.intevation.gnv.transition.exception.TransitionException; /** * @author Ingo Weinzierl (ingo.weinzierl@intevation.de) */ public class ShapeDataCollector extends DefaultDataCollector { private Logger log = Logger.getLogger(ShapeDataCollector.class); protected WKTReader wktReader = new WKTReader(); public ShapeDataCollector(String[] names) { super(names); } public String[] getData(Result result) throws TransitionException { if (rd == null) init(result); try { String [] entries = new String[names.length+1]; int j = 0; for (int i = 0; i < names.length; i++) { if (names[i].equals("SHAPE")) { Point p = (Point)wktReader.read(result.getString("SHAPE")); entries[j++] = ""+p.getX(); entries[j++] = ""+p.getY(); } else { entries[j++] = result.getString(names[i]); } } return entries; } catch (ParseException pe) { log.error(pe, pe); throw new TransitionException( "Error occured while parsing a Point from WKT."); } } }