class FlatGridPartitioner extends SpatialPartitioner
The FlatGridPartitioner is used when there is already a set of grids which the data should be partitioned into. It iterates through all the grids to find the grids to place a geometry into. Unless you have very few objects to place, it may make more sense to use the IndexedGridPartitioner. If you do not have a strict requirement to use a specific set of grids, it may make more sense to use another partitioner that generates its own grids from a space-partitioning tree, e.g. the KDBTreePartitioner or the QuadTreePartitioner.
- Alphabetic
- By Inheritance
- FlatGridPartitioner
- SpatialPartitioner
- Partitioner
- Serializable
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new FlatGridPartitioner(grids: List[Envelope])
- new FlatGridPartitioner(grids: List[Envelope], preserveUncontainedGeometries: Boolean)
- new FlatGridPartitioner(gridType: GridType, grids: List[Envelope])
- new FlatGridPartitioner(gridType: GridType, grids: List[Envelope], preserveUncontainedGeometries: Boolean)
Abstract Value Members
-
abstract
def
placeObject[T <: Geometry](spatialObject: T): Iterator[(Integer, T)]
Given a geometry, returns a list of partitions it overlaps.
Given a geometry, returns a list of partitions it overlaps.
For points, returns exactly one partition as long as grid type is non-overlapping. For other geometry types or for overlapping grid types, may return multiple partitions.
- Definition Classes
- SpatialPartitioner
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(o: Any): Boolean
- Definition Classes
- FlatGridPartitioner → AnyRef → Any
- Annotations
- @Override()
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
getDedupParams(): DedupParams
- Definition Classes
- FlatGridPartitioner → SpatialPartitioner
- Annotations
- @Nullable()
-
def
getGridType(): GridType
- Definition Classes
- SpatialPartitioner
-
def
getGrids(): List[Envelope]
- Definition Classes
- SpatialPartitioner
-
def
getPartition(key: Any): Int
- Definition Classes
- SpatialPartitioner → Partitioner
- Annotations
- @Override()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
numPartitions(): Int
Equal and Hilbert partitioning methods have necessary properties to support de-dup.
Equal and Hilbert partitioning methods have necessary properties to support de-dup. These methods provide non-overlapping partition extents and not require overflow partition as they cover full extent of the RDD. However, legacy SpatialRDD.spatialPartitioning(otherGrids) method doesn't preserve the grid type making it impossible to reliably detect whether partitioning allows efficient de-dup or not.
TODO Figure out how to remove SpatialRDD.spatialPartitioning(otherGrids) API. Perhaps, make the implementation no-op and fold the logic into JoinQuery, RangeQuery and KNNQuery APIs.
- Definition Classes
- FlatGridPartitioner → Partitioner
- Annotations
- @Override()
-
def
placeObject(spatialObject: Geometry): Iterator[(Integer, Geometry)]
- Annotations
- @Override()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()