public class HilbertCurvePartitioner extends Partitioner
Modifier and Type | Field and Description |
---|---|
protected Rectangle |
mbr
The MBR of the original input file
|
protected static int |
Resolution |
protected int[] |
splits
Splits along the Hilbert curve
|
Constructor and Description |
---|
HilbertCurvePartitioner() |
Modifier and Type | Method and Description |
---|---|
static int |
computeHValue(int n,
int x,
int y)
Compute Hilbert curve value for a point (x, y) in a square of size
(n*n)
|
static int |
computeHValue(Rectangle inMBR,
double x,
double y) |
protected void |
createFromHValues(int[] hValues,
int partitions)
Create a ZCurvePartitioner from a list of points
|
void |
createFromPoints(Rectangle mbr,
Point[] points,
int numPartitions)
Populate this partitioner for a set of points and number of partitions
|
CellInfo |
getPartition(int partitionID)
Returns the details of a specific partition given its ID.
|
CellInfo |
getPartitionAt(int index)
Returns the detail of a partition given its position starting from zero
and ending at partitionCount() - 1
|
int |
getPartitionCount()
Returns total number of partitions
|
static void |
main(java.lang.String[] args) |
int |
overlapPartition(Shape shape)
Returns only one overlapping partition.
|
void |
overlapPartitions(Shape shape,
ResultCollector<java.lang.Integer> matcher)
Overlap a shape with partitions and calls a matcher for each overlapping
partition.
|
void |
readFields(java.io.DataInput in) |
void |
write(java.io.DataOutput out) |
getPartitioner, setPartitioner
protected int[] splits
protected Rectangle mbr
protected static final int Resolution
public void createFromPoints(Rectangle mbr, Point[] points, int numPartitions)
Partitioner
createFromPoints
in class Partitioner
protected void createFromHValues(int[] hValues, int partitions)
vsample
- partitions
- public void write(java.io.DataOutput out) throws java.io.IOException
java.io.IOException
public void readFields(java.io.DataInput in) throws java.io.IOException
java.io.IOException
public void overlapPartitions(Shape shape, ResultCollector<java.lang.Integer> matcher)
Partitioner
overlapPartitions
in class Partitioner
public int overlapPartition(Shape shape)
Partitioner
overlapPartition
in class Partitioner
public static int computeHValue(int n, int x, int y)
n
- - Size of the squarex
- - x dimension (short)y
- - y dimension (short)public static int computeHValue(Rectangle inMBR, double x, double y)
public CellInfo getPartition(int partitionID)
Partitioner
getPartition
in class Partitioner
public CellInfo getPartitionAt(int index)
Partitioner
getPartitionAt
in class Partitioner
public int getPartitionCount()
Partitioner
getPartitionCount
in class Partitioner
public static void main(java.lang.String[] args) throws java.io.IOException
java.io.IOException