Class SpatialDataType
- All Implemented Interfaces:
Comparator<Spatial>, DataType<Spatial>
A spatial data type. This class supports up to 31 dimensions. Each dimension
can have a minimum and a maximum value of type float. For each dimension, the
maximum value is only stored when it is not the same as the minimum.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintCompare two keys.booleanCheck whether a contains b.protected Spatialcreate(long id, float... minMax) Creates spatial object with specified parameters.(package private) SpatialcreateBoundingBox(Object objA) Create a bounding box starting with the given object.Spatial[]createStorage(int size) Create storage object of array type to hold valuesbooleanCheck whether two spatial values are equal.private floatfloatgetAreaIncrease(Object objA, Object objB) Get the area increase by extending a to contain b.(package private) floatgetCombinedArea(Object objA, Object objB) Get the combined area of both objects.int[]getExtremes(ArrayList<Object> list) Get the most extreme pair (elements that are as far apart as possible).intCalculates the amount of used memory in bytes.getNotNull(ArrayList<Object> list) voidincreaseBounds(Object bounds, Object add) Increase the bounds in the given spatial object.private voidincreaseMaxInnerBounds(Object bounds, Object add) booleanCheck whether a is completely inside b and does not touch the given bound.booleanCheck whether the two objects overlap.read(ByteBuffer buff) Read an object.voidwrite(WriteBuffer buff, Spatial k) Write an object.Methods inherited from class BasicDataType
binarySearch, cast, equals, hashCode, isMemoryEstimationAllowed, read, writeMethods inherited from class Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface Comparator
reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
-
Field Details
-
dimensions
private final int dimensions
-
-
Constructor Details
-
SpatialDataType
public SpatialDataType(int dimensions)
-
-
Method Details
-
create
Creates spatial object with specified parameters.- Parameters:
id- the IDminMax- min x, max x, min y, max y, and so on- Returns:
- the spatial object
-
createStorage
-
compare
Description copied from interface:DataTypeCompare two keys.- Specified by:
comparein interfaceComparator<Spatial>- Specified by:
comparein interfaceDataType<Spatial>- Overrides:
comparein classBasicDataType<Spatial>- Parameters:
a- the first keyb- the second key- Returns:
- -1 if the first key is smaller, 1 if larger, and 0 if equal
-
equals
-
getMemory
-
write
Description copied from interface:DataTypeWrite an object. -
read
Description copied from interface:DataTypeRead an object. -
isOverlap
-
increaseBounds
-
getAreaIncrease
-
getCombinedArea
-
getArea
-
contains
-
isInside
-
createBoundingBox
-
getExtremes
Get the most extreme pair (elements that are as far apart as possible). This method is used to split a page (linear split). If no extreme objects could be found, this method returns null.- Parameters:
list- the objects- Returns:
- the indexes of the extremes
-
getNotNull
-
increaseMaxInnerBounds
-