Mercurial > dive4elements > gnv-client
view gnv-artifacts/src/main/java/de/intevation/gnv/statistics/HorizontalProfileVectorStatistics.java @ 1116:2d393d79c097
Added author names.
gnv-artifacts/trunk@1262 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Thu, 04 Nov 2010 21:46:58 +0000 |
parents | f953c9a559d8 |
children |
line wrap: on
line source
/* * Copyright (c) 2010 by Intevation GmbH * * This program is free software under the LGPL (>=v2.1) * Read the file LGPL.txt coming with the software for details * or visit http://www.gnu.org/licenses/ if it does not exist. */ package de.intevation.gnv.statistics; import com.vividsolutions.jts.geom.Point; import com.vividsolutions.jts.io.ParseException; import com.vividsolutions.jts.io.WKTReader; import de.intevation.gnv.geobackend.base.Result; import de.intevation.gnv.geobackend.base.ResultDescriptor; import de.intevation.gnv.utils.DistanceCalculator; import java.sql.SQLException; import org.apache.log4j.Logger; /** * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> */ public class HorizontalProfileVectorStatistics extends VectorStatistics { private static Logger logger = Logger.getLogger(HorizontalProfileVectorStatistics.class); private WKTReader wktReader = new WKTReader(); private double distance; public HorizontalProfileVectorStatistics() { distance = 0; } protected void clear() { distance = 0; } protected int getValueIdx(ResultDescriptor rd) { return rd.getColumnIndex("YORDINATE"); } protected double calculateXOrdinateValue(Result prev, Result row) throws SQLException { try { Point start = (Point) wktReader.read(prev.getString("SHAPE")); Point current = (Point) wktReader.read(row.getString("SHAPE")); double delta = DistanceCalculator.calculateDistance(start, current); distance = !Double.isNaN(delta) ? distance + delta : distance; } catch (ParseException e) { logger.error(e,e); } return distance; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :