Package adams.data.areaoverlap
Class PolygonBased
- java.lang.Object
-
- adams.core.logging.LoggingObject
-
- adams.core.logging.CustomLoggingLevelObject
-
- adams.core.option.AbstractOptionHandler
-
- adams.data.areaoverlap.AbstractAreaOverlap
-
- adams.data.areaoverlap.PolygonBased
-
- All Implemented Interfaces:
Destroyable
,GlobalInfoSupporter
,LoggingLevelHandler
,LoggingSupporter
,OptionHandler
,QuickInfoSupporter
,SizeOfHandler
,AreaOverlap
,BoundingBoxFallbackSupporter
,OptionalBoundingBoxFallbackSupporter
,Serializable
public class PolygonBased extends AbstractAreaOverlap implements OptionalBoundingBoxFallbackSupporter
Uses polygons for the calculation.- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static String
KEY_AREA_NEW
static String
KEY_AREA_OLD
static String
KEY_AREA_RATIO
protected AreaType
m_AreaType
how to calculate the area.protected double
m_BoundingBoxFallbackRatio
the ratio used for determining whether to fall back from polygon on bbox.protected boolean
m_Fallback
whether to fallback on bounding box.-
Fields inherited from class adams.core.option.AbstractOptionHandler
m_OptionManager
-
Fields inherited from class adams.core.logging.LoggingObject
m_Logger, m_LoggingIsEnabled, m_LoggingLevel
-
-
Constructor Summary
Constructors Constructor Description PolygonBased()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
areaTypeTipText()
Returns the tip text for this property.String
boundingBoxFallbackRatioTipText()
Returns the tip text for this property.void
defineOptions()
Adds options to the internal list of options.protected LocatedObjects
doCalculate(Map<LocatedObject,Map<LocatedObject,Double>> matches, MessageCollection errors)
Computes the overlapping areas between the matches.String
fallbackTipText()
Returns the tip text for this property.AreaType
getAreaType()
Returns what area to use.double
getBoundingBoxFallbackRatio()
Returns the ratio between shape area over bbox area.boolean
getFallback()
Returns whether to fall back on the bounding box if no polygon available.String
getQuickInfo()
Returns a quick info about the object, which can be displayed in the GUI.String
globalInfo()
Returns a string describing the object.void
setAreaType(AreaType value)
Sets what area to use.void
setBoundingBoxFallbackRatio(double value)
Sets the ratio between shape area over bbox area.void
setFallback(boolean value)
Sets whether to fall back on the bounding box if no polygon available.protected org.locationtech.jts.geom.Geometry
toGeometry(LocatedObject obj)
Turns the object into a shape.-
Methods inherited from class adams.data.areaoverlap.AbstractAreaOverlap
calculate, check
-
Methods inherited from class adams.core.option.AbstractOptionHandler
cleanUpOptions, destroy, finishInit, getDefaultLoggingLevel, getOptionManager, initialize, loggingLevelTipText, newOptionManager, reset, setLoggingLevel, toCommandLine, toString
-
Methods inherited from class adams.core.logging.LoggingObject
configureLogger, getLogger, getLoggingLevel, initializeLogging, isLoggingEnabled, sizeOf
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface adams.core.Destroyable
destroy
-
Methods inherited from interface adams.core.logging.LoggingLevelHandler
getLoggingLevel
-
Methods inherited from interface adams.core.option.OptionHandler
cleanUpOptions, getOptionManager, toCommandLine
-
-
-
-
Field Detail
-
KEY_AREA_OLD
public static final String KEY_AREA_OLD
- See Also:
- Constant Field Values
-
KEY_AREA_NEW
public static final String KEY_AREA_NEW
- See Also:
- Constant Field Values
-
KEY_AREA_RATIO
public static final String KEY_AREA_RATIO
- See Also:
- Constant Field Values
-
m_AreaType
protected AreaType m_AreaType
how to calculate the area.
-
m_Fallback
protected boolean m_Fallback
whether to fallback on bounding box.
-
m_BoundingBoxFallbackRatio
protected double m_BoundingBoxFallbackRatio
the ratio used for determining whether to fall back from polygon on bbox.
-
-
Method Detail
-
globalInfo
public String globalInfo()
Returns a string describing the object.- Specified by:
globalInfo
in interfaceGlobalInfoSupporter
- Specified by:
globalInfo
in classAbstractOptionHandler
- Returns:
- a description suitable for displaying in the gui
-
defineOptions
public void defineOptions()
Adds options to the internal list of options.- Specified by:
defineOptions
in interfaceOptionHandler
- Overrides:
defineOptions
in classAbstractOptionHandler
-
setAreaType
public void setAreaType(AreaType value)
Sets what area to use.- Parameters:
value
- the type
-
getAreaType
public AreaType getAreaType()
Returns what area to use.- Returns:
- the type
-
areaTypeTipText
public String areaTypeTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setFallback
public void setFallback(boolean value)
Sets whether to fall back on the bounding box if no polygon available.- Specified by:
setFallback
in interfaceOptionalBoundingBoxFallbackSupporter
- Parameters:
value
- true if to use
-
getFallback
public boolean getFallback()
Returns whether to fall back on the bounding box if no polygon available.- Specified by:
getFallback
in interfaceOptionalBoundingBoxFallbackSupporter
- Returns:
- true if to use
-
fallbackTipText
public String fallbackTipText()
Returns the tip text for this property.- Specified by:
fallbackTipText
in interfaceOptionalBoundingBoxFallbackSupporter
- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setBoundingBoxFallbackRatio
public void setBoundingBoxFallbackRatio(double value)
Sets the ratio between shape area over bbox area. If below the bbox is used instead of the polygon.- Specified by:
setBoundingBoxFallbackRatio
in interfaceBoundingBoxFallbackSupporter
- Parameters:
value
- the ratio
-
getBoundingBoxFallbackRatio
public double getBoundingBoxFallbackRatio()
Returns the ratio between shape area over bbox area. If below the bbox is used instead of the polygon.- Specified by:
getBoundingBoxFallbackRatio
in interfaceBoundingBoxFallbackSupporter
- Returns:
- the ratio
-
boundingBoxFallbackRatioTipText
public String boundingBoxFallbackRatioTipText()
Returns the tip text for this property.- Specified by:
boundingBoxFallbackRatioTipText
in interfaceBoundingBoxFallbackSupporter
- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
getQuickInfo
public String getQuickInfo()
Returns a quick info about the object, which can be displayed in the GUI.- Specified by:
getQuickInfo
in interfaceQuickInfoSupporter
- Returns:
- null if no info available, otherwise short string
-
toGeometry
protected org.locationtech.jts.geom.Geometry toGeometry(LocatedObject obj)
Turns the object into a shape.- Parameters:
obj
- the object to convert- Returns:
- the shape
-
doCalculate
protected LocatedObjects doCalculate(Map<LocatedObject,Map<LocatedObject,Double>> matches, MessageCollection errors)
Computes the overlapping areas between the matches.- Specified by:
doCalculate
in classAbstractAreaOverlap
- Parameters:
matches
- the computed matcheserrors
- for collecting errors- Returns:
- the overlapping areas, null in case of error
-
-