package mil.nga.giat.geowave.analytic.mapreduce.kmeans;
import mil.nga.giat.geowave.analytic.distance.CoordinateEuclideanDistanceFn;
import mil.nga.giat.geowave.analytic.distance.DistanceFn;
import com.vividsolutions.jts.geom.Coordinate;
import com.vividsolutions.jts.geom.Geometry;
public class TestObjectDistanceFn implements
DistanceFn<TestObject>
{
private DistanceFn<Coordinate> coordinateDistanceFunction = new CoordinateEuclideanDistanceFn();
private Geometry getGeometry(
TestObject x ) {
return x.geo;
}
@Override
public double measure(
TestObject x,
TestObject y ) {
return coordinateDistanceFunction.measure(
getGeometry(
x).getCentroid().getCoordinate(),
getGeometry(
y).getCentroid().getCoordinate());
}
}