Class FingerprintPositionEstimator<P extends com.irurueta.geometry.Point<?>>
java.lang.Object
com.irurueta.navigation.indoor.fingerprint.BaseFingerprintPositionEstimator<P,FingerprintPositionEstimatorListener<P>>
com.irurueta.navigation.indoor.fingerprint.FingerprintPositionEstimator<P>
- Type Parameters:
P- aPointtype.
- Direct Known Subclasses:
LinearFingerprintPositionEstimator,NonLinearFingerprintPositionEstimator
public abstract class FingerprintPositionEstimator<P extends com.irurueta.geometry.Point<?>>
extends BaseFingerprintPositionEstimator<P,FingerprintPositionEstimatorListener<P>>
Base class for position estimators based on located fingerprints containing only
RSSI readings and having as well prior knowledge of the location of radio sources
associated to those readings.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected booleanTrue indicates that mean effects are removed from located fingerprints and from new fingerprints whose location is unknown.protected List<? extends RadioSourceLocated<P>> Located radio sources.protected booleanTrue indicates that mean effects are removed to find nearest located fingerprints based on RSSI readings.protected booleanIndicates whether path loss exponent of provided sources must be used when available (if true), or if fallback path loss exponent must be used instead.Fields inherited from class com.irurueta.navigation.indoor.fingerprint.BaseFingerprintPositionEstimator
DEFAULT_MAX_NEAREST_FINGERPRINTS, DEFAULT_MIN_NEAREST_FINGERPRINTS, DEFAULT_PATH_LOSS_EXPONENT, estimatedPositionCoordinates, fingerprint, listener, locatedFingerprints, locked, maxNearestFingerprints, minNearestFingerprints, nearestFingerprints, pathLossExponent -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedConstructor.protectedConstructor.protectedFingerprintPositionEstimator(List<? extends RssiFingerprintLocated<? extends RadioSource, ? extends RssiReading<? extends RadioSource>, P>> locatedFingerprints, RssiFingerprint<? extends RadioSource, ? extends RssiReading<? extends RadioSource>> fingerprint, List<? extends RadioSourceLocated<P>> sources) Constructor.protectedFingerprintPositionEstimator(List<? extends RssiFingerprintLocated<? extends RadioSource, ? extends RssiReading<? extends RadioSource>, P>> locatedFingerprints, RssiFingerprint<? extends RadioSource, ? extends RssiReading<? extends RadioSource>> fingerprint, List<? extends RadioSourceLocated<P>> sources, FingerprintPositionEstimatorListener<P> listener) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionGets located radio sources.booleanIndicates which fingerprint finder is used.booleanIndicates whether path loss exponent of provided sources must be used when available (if true), or if fallback path loss exponent must be used instead.private voidinternalSetSources(List<? extends RadioSourceLocated<P>> sources) Internally sets located radio sources.booleanIndicates whether mean effects are removed from fingerprints.booleanisReady()Indicates whether estimator is ready to find a solution.voidsetMeansFromFingerprintReadingsRemoved(boolean removeMeansFromFingerprintReadings) Specifies whether mean effects are removed from fingerprints.voidsetSources(List<? extends RadioSourceLocated<P>> sources) Sets located radio sources.voidsetUseNoMeanNearestFingerprintFinder(boolean useNoMeanNearestFingerprintFinder) Specifies which fingerprint finder is used.voidsetUseSourcesPathLossExponentWhenAvailable(boolean useSourcesPathLossExponentWhenAvailable) Specifies whether path loss exponent of provided sources must be used when available (if true), or if fallback path loss exponent must be used instead.Methods inherited from class com.irurueta.navigation.indoor.fingerprint.BaseFingerprintPositionEstimator
estimate, getEstimatedPosition, getEstimatedPosition, getEstimatedPositionCoordinates, getFingerprint, getListener, getLocatedFingerprints, getMaxNearestFingerprints, getMinNearestFingerprints, getNearestFingerprints, getNumberOfDimensions, getPathLossExponent, isLocked, setFingerprint, setListener, setLocatedFingerprints, setMinMaxNearestFingerprints, setPathLossExponent, totalReadings
-
Field Details
-
sources
Located radio sources. -
useSourcesPathLossExponentWhenAvailable
protected boolean useSourcesPathLossExponentWhenAvailableIndicates whether path loss exponent of provided sources must be used when available (if true), or if fallback path loss exponent must be used instead. -
useNoMeanNearestFingerprintFinder
protected boolean useNoMeanNearestFingerprintFinderTrue indicates that mean effects are removed to find nearest located fingerprints based on RSSI readings. False indicates that RSSI readings are directly used, which might be inaccurate due to bias effects on new fingerprint readings for unknown locations. By default, mean effects are removed to remove possible bias effects due to readings measured by different devices with different hardware. -
removeMeansFromFingerprintReadings
protected boolean removeMeansFromFingerprintReadingsTrue indicates that mean effects are removed from located fingerprints and from new fingerprints whose location is unknown. By default, this is disabled.
-
-
Constructor Details
-
FingerprintPositionEstimator
protected FingerprintPositionEstimator()Constructor.
-
-
Method Details
-
getSources
Gets located radio sources.- Returns:
- located radio sources.
-
setSources
public void setSources(List<? extends RadioSourceLocated<P>> sources) throws com.irurueta.navigation.LockedException Sets located radio sources.- Parameters:
sources- located radio sources.- Throws:
com.irurueta.navigation.LockedException- if estimator is locked.
-
getUseSourcesPathLossExponentWhenAvailable
public boolean getUseSourcesPathLossExponentWhenAvailable()Indicates whether path loss exponent of provided sources must be used when available (if true), or if fallback path loss exponent must be used instead.- Returns:
- true to use path loss exponent of provided sources when available, false otherwise.
-
setUseSourcesPathLossExponentWhenAvailable
public void setUseSourcesPathLossExponentWhenAvailable(boolean useSourcesPathLossExponentWhenAvailable) throws com.irurueta.navigation.LockedException Specifies whether path loss exponent of provided sources must be used when available (if true), or if fallback path loss exponent must be used instead.- Parameters:
useSourcesPathLossExponentWhenAvailable- true to use path loss exponent of provided sources when available, false otherwise.- Throws:
com.irurueta.navigation.LockedException- if estimator is locked.
-
getUseNoMeanNearestFingerprintFinder
public boolean getUseNoMeanNearestFingerprintFinder()Indicates which fingerprint finder is used. True indicates that mean effects are removed to find nearest located fingerprints based on RSSI readings. False indicates that RSSI readings are directly used, which might be inaccurate due to bias effects on new fingerprint readings for unknown locations. By default, mean effects are removed to remove possible bias effects due to readings measured by different devices with different hardware.- Returns:
- indicates which fingerprint finder is used.
-
setUseNoMeanNearestFingerprintFinder
public void setUseNoMeanNearestFingerprintFinder(boolean useNoMeanNearestFingerprintFinder) throws com.irurueta.navigation.LockedException Specifies which fingerprint finder is used. True indicates that mean effects are removed to find nearest located fingerprints based on RSSI readings. False indicates that RSSI readings are directly used, which might be inaccurate due to bias effects on new fingerprint readings for unknown locations. By default, mean effects are removed to remove possible bias effects due to readings measured by different devices with different hardware.- Parameters:
useNoMeanNearestFingerprintFinder- indicates which fingerprint finder is used.- Throws:
com.irurueta.navigation.LockedException- if estimator is locked.
-
isMeansFromFingerprintReadingsRemoved
public boolean isMeansFromFingerprintReadingsRemoved()Indicates whether mean effects are removed from fingerprints. True indicates that mean effects are removed from located fingerprints and from new fingerprints whose location is unknown. By default, this is disabled.- Returns:
- true to remove mean effects, false otherwise.
-
setMeansFromFingerprintReadingsRemoved
public void setMeansFromFingerprintReadingsRemoved(boolean removeMeansFromFingerprintReadings) throws com.irurueta.navigation.LockedException Specifies whether mean effects are removed from fingerprints. True indicates that mean effects are removed from located fingerprints and from new fingerprints whose location is unknown. By default, this is disabled.- Parameters:
removeMeansFromFingerprintReadings- true to remove mean effects, false otherwise.- Throws:
com.irurueta.navigation.LockedException- if estimator is locked.
-
isReady
public boolean isReady()Indicates whether estimator is ready to find a solution.- Specified by:
isReadyin classBaseFingerprintPositionEstimator<P extends com.irurueta.geometry.Point<?>,FingerprintPositionEstimatorListener<P extends com.irurueta.geometry.Point<?>>> - Returns:
- true if estimator is ready, false otherwise.
-
internalSetSources
Internally sets located radio sources.- Parameters:
sources- located radio sources.- Throws:
IllegalArgumentException- if provided value is null.
-