class XZ3SFC extends AnyRef
Extended Z-order curve implementation used for efficiently storing polygons.
Based on 'XZ-Ordering: A Space-Filling Curve for Objects with Spatial Extension' by Christian Böhm, Gerald Klump and Hans-Peter Kriegel, expanded to 3 dimensions
- Alphabetic
- By Inheritance
- XZ3SFC
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new XZ3SFC(g: Short, xBounds: (Double, Double), yBounds: (Double, Double), zBounds: (Double, Double))
- g
resolution level of the curve - i.e. how many times the space will be recursively split into eighths
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(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- val g: Short
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def index(xmin: Double, ymin: Double, zmin: Double, xmax: Double, ymax: Double, zmax: Double, lenient: Boolean = false): Long
Index a polygon by it's bounding box
Index a polygon by it's bounding box
- xmin
min x value in xBounds
- ymin
min y value in yBounds
- zmin
min z value in zBounds
- xmax
max x value in xBounds, must be >= xmin
- ymax
max y value in yBounds, must be >= ymin
- zmax
max z value in zBounds, must be >= tmin
- lenient
standardize boundaries to valid values, or raise an exception
- returns
z value for the bounding box
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def normalize(xmin: Double, ymin: Double, zmin: Double, xmax: Double, ymax: Double, zmax: Double, lenient: Boolean): (Double, Double, Double, Double, Double, Double)
Normalize user space values to [0,1]
Normalize user space values to [0,1]
- xmin
min x value in user space
- ymin
min y value in user space
- zmin
min z value in user space
- xmax
max x value in user space, must be >= xmin
- ymax
max y value in user space, must be >= ymin
- zmax
max z value in user space, must be >= zmin
- lenient
standardize boundaries to valid values, or raise an exception
- Attributes
- protected
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def ranges(queries: Seq[(Double, Double, Double, Double, Double, Double)], maxRanges: Option[Int] = None): Seq[IndexRange]
Determine XZ-curve ranges that will cover a given query window
Determine XZ-curve ranges that will cover a given query window
- queries
a sequence of OR'd windows to cover. Each window is in the form (xmin, ymin, zmin, xmax, ymax, zmax) where all values are in user space
- maxRanges
a rough upper limit on the number of ranges to generate
- def ranges(xmin: Double, ymin: Double, zmin: Double, xmax: Double, ymax: Double, zmax: Double, maxRanges: Option[Int]): Seq[IndexRange]
Determine XZ-curve ranges that will cover a given query window
Determine XZ-curve ranges that will cover a given query window
- xmin
min x value in user space
- ymin
min y value in user space
- zmin
min z value in user space
- xmax
max x value in user space, must be >= xmin
- ymax
max y value in user space, must be >= ymin
- zmax
max z value in user space, must be >= zmin
- maxRanges
a rough upper limit on the number of ranges to generate
- def ranges(xmin: Double, ymin: Double, zmin: Double, xmax: Double, ymax: Double, zmax: Double): Seq[IndexRange]
Determine XZ-curve ranges that will cover a given query window
Determine XZ-curve ranges that will cover a given query window
- xmin
min x value in user space
- ymin
min y value in user space
- zmin
min z value in user space
- xmax
max x value in user space, must be >= xmin
- ymax
max y value in user space, must be >= ymin
- zmax
max z value in user space, must be >= zmin
- def ranges(query: (Double, Double, Double, Double, Double, Double), maxRanges: Option[Int]): Seq[IndexRange]
Determine XZ-curve ranges that will cover a given query window
Determine XZ-curve ranges that will cover a given query window
- query
a window to cover in the form (xmin, ymin, zmin, xmax, ymax, zmax) where all values are in user space
- maxRanges
a rough upper limit on the number of ranges to generate
- def ranges(query: (Double, Double, Double, Double, Double, Double)): Seq[IndexRange]
Determine XZ-curve ranges that will cover a given query window
Determine XZ-curve ranges that will cover a given query window
- query
a window to cover in the form (xmin, ymin, zmin, xmax, ymax, zmax) where all values are in user space
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- val xBounds: (Double, Double)
- val yBounds: (Double, Double)
- val zBounds: (Double, Double)
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)