class XZ2SFC 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

Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. XZ2SFC
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new XZ2SFC(g: Short, xBounds: (Double, Double), yBounds: (Double, Double))

    g

    resolution level of the curve - i.e. how many times the space will be recursively quartered

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @IntrinsicCandidate()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. val g: Short
  9. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  11. def hexDecode(hex: String): Long

    Decodes a previously encoded z value from hex

    Decodes a previously encoded z value from hex

    hex

    hex string from hexEncode

    returns

    original z value

  12. val hexDigits: Int
  13. def hexEncode(z: Long): String

    Encodes a z value into hex, bit-shifting left as necessary so that prefix matching works

    Encodes a z value into hex, bit-shifting left as necessary so that prefix matching works

    z

    z value

    returns

    hex-encoded string

  14. def index(xmin: Double, ymin: Double, xmax: Double, ymax: Double, lenient: Boolean = false): Long

    Index a polygon by its bounding box

    Index a polygon by its bounding box

    xmin

    min x value in xBounds

    ymin

    min y value in yBounds

    xmax

    max x value in xBounds, must be >= xmin

    ymax

    max y value in yBounds, must be >= ymin

    lenient

    standardize boundaries to valid values, or raise an exception

    returns

    z value for the bounding box

  15. def index(bounds: (Double, Double, Double, Double)): Long

    Index a polygon by its bounding box

    Index a polygon by its bounding box

    bounds

    (xmin, ymin, xmax, ymax)

    returns

    z value for the bounding box

  16. def invert(z: Long): (Double, Double, Double, Double)

    Invert a curve value back to a bounding box.

    Invert a curve value back to a bounding box.

    Note: this method may not return an accurate result. We currently only use it for quickly estimating bounds, where an accurate result is not entirely necessary.

    z

    indexed curve value

  17. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  18. val maxZValue: Long
  19. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  20. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  21. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  22. def ranges(queries: Seq[(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, xmax, ymax) where all values are in user space

    maxRanges

    a rough upper limit on the number of ranges to generate

  23. def ranges(xmin: Double, ymin: Double, xmax: Double, ymax: 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

    xmax

    max x value in user space, must be >= xmin

    ymax

    max y value in user space, must be >= ymin

    maxRanges

    a rough upper limit on the number of ranges to generate

  24. def ranges(xmin: Double, ymin: Double, xmax: Double, ymax: 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

    xmax

    max x value in user space, must be >= xmin

    ymax

    max y value in user space, must be >= ymin

  25. def ranges(query: (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, xmax, ymax) where all values are in user space

    maxRanges

    a rough upper limit on the number of ranges to generate

  26. def ranges(query: (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, xmax, ymax) where: all values are in user space

  27. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  28. def toString(): String
    Definition Classes
    AnyRef → Any
  29. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  30. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  31. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  32. val xBounds: (Double, Double)
  33. val yBounds: (Double, Double)

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] ) @Deprecated
    Deprecated

Inherited from AnyRef

Inherited from Any

Ungrouped