diff options
Diffstat (limited to 'src/de/lmu/ifi/dbs/elki/datasource/filter/transform/LatLngToECEFFilter.java')
-rw-r--r-- | src/de/lmu/ifi/dbs/elki/datasource/filter/transform/LatLngToECEFFilter.java | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/src/de/lmu/ifi/dbs/elki/datasource/filter/transform/LatLngToECEFFilter.java b/src/de/lmu/ifi/dbs/elki/datasource/filter/transform/LatLngToECEFFilter.java index 998c8931..9cb0b492 100644 --- a/src/de/lmu/ifi/dbs/elki/datasource/filter/transform/LatLngToECEFFilter.java +++ b/src/de/lmu/ifi/dbs/elki/datasource/filter/transform/LatLngToECEFFilter.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.datasource.filter.transform; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2013 + Copyright (C) 2014 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team @@ -25,8 +25,10 @@ package de.lmu.ifi.dbs.elki.datasource.filter.transform; import de.lmu.ifi.dbs.elki.data.NumberVector; import de.lmu.ifi.dbs.elki.data.type.SimpleTypeInformation; +import de.lmu.ifi.dbs.elki.data.type.TypeUtil; import de.lmu.ifi.dbs.elki.data.type.VectorFieldTypeInformation; import de.lmu.ifi.dbs.elki.datasource.filter.AbstractStreamConversionFilter; +import de.lmu.ifi.dbs.elki.datasource.filter.FilterUtil; import de.lmu.ifi.dbs.elki.math.geodesy.EarthModel; import de.lmu.ifi.dbs.elki.math.geodesy.SphericalVincentyEarthModel; import de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizer; @@ -39,13 +41,16 @@ import de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.ObjectParameter; * * @author Erich Schubert * + * @apiviz.uses NumberVector + * @apiviz.composedOf EarthModel + * * @param <V> Vector type. */ -public class LatLngToECEFFilter<V extends NumberVector<?>> extends AbstractStreamConversionFilter<V, V> { +public class LatLngToECEFFilter<V extends NumberVector> extends AbstractStreamConversionFilter<V, V> { /** * Vector factory to use. */ - private NumberVector.Factory<V, ?> factory; + private NumberVector.Factory<V> factory; /** * Earth model to use. @@ -69,14 +74,13 @@ public class LatLngToECEFFilter<V extends NumberVector<?>> extends AbstractStrea @Override protected SimpleTypeInformation<? super V> getInputTypeRestriction() { - return new VectorFieldTypeInformation<>(NumberVector.class, 2, 2); + return TypeUtil.NUMBER_VECTOR_FIELD_2D; } @Override protected SimpleTypeInformation<? super V> convertedType(SimpleTypeInformation<V> in) { - VectorFieldTypeInformation<V> vin = (VectorFieldTypeInformation<V>) in; - factory = (NumberVector.Factory<V, ?>) vin.getFactory(); - return new VectorFieldTypeInformation<>(vin.getFactory(), 3, 3, in.getSerializer()); + factory = FilterUtil.guessFactory(in); + return new VectorFieldTypeInformation<>(factory, 3, 3, in.getSerializer()); } /** @@ -88,7 +92,7 @@ public class LatLngToECEFFilter<V extends NumberVector<?>> extends AbstractStrea * * @param <V> Vector type */ - public static class Parameterizer<V extends NumberVector<?>> extends AbstractParameterizer { + public static class Parameterizer<V extends NumberVector> extends AbstractParameterizer { /** * Earth model to use. */ @@ -98,7 +102,7 @@ public class LatLngToECEFFilter<V extends NumberVector<?>> extends AbstractStrea protected void makeOptions(Parameterization config) { super.makeOptions(config); ObjectParameter<EarthModel> modelP = new ObjectParameter<>(EarthModel.MODEL_ID, EarthModel.class, SphericalVincentyEarthModel.class); - if (config.grab(modelP)) { + if(config.grab(modelP)) { model = modelP.instantiateClass(config); } } |