Trait

com.github.plokhotnyuk.rtree2d.core

Spherical

Related Doc: package core

Permalink

trait Spherical extends AnyRef

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

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. def distanceCalculator(radius: Double): DistanceCalculator

    Permalink

    Creates an instance of the DistanceCalculator type class which use the haversine formula to determine the great-circle distance between a point and a rounding box of R-tree on a sphere with specified radius given their longitudes and latitudes.

    Creates an instance of the DistanceCalculator type class which use the haversine formula to determine the great-circle distance between a point and a rounding box of R-tree on a sphere with specified radius given their longitudes and latitudes.

    To simplify creation of entries and queries X-axis is used for latitudes an and Y-axis for longitudes.

    Calculations was borrowed from the geoflatbush project of Vladimir Agafonkin: https://github.com/mourner/geoflatbush/blob/master/index.mjs

  7. def entries[A](lat: Float, lon: Float, distance: Float, value: A, radius: Double): IndexedSeq[RTreeEntry[A]]

    Permalink

    Create an indexed sequence of entries that are specified by a circular area on the sphere and a value.

    Create an indexed sequence of entries that are specified by a circular area on the sphere and a value.

    Sequence of entries required for case when the circle is crossed by the anti-meridian because the RTree which use bounding box form longitudes and latitudes for indexing doesn't support wrapping of longitudes over the sphere, so we split that entries on two by the date change meridian.

    Used formula with description is here: http://janmatuschek.de/LatitudeLongitudeBoundingCoordinates#Longitude

    A

    a type of the value being put in the r-tree

    lat

    a latitude coordinate of the given center point

    lon

    a latitude coordinate of the given center point

    distance

    a distance, from the center point to borders of the circular area on the sphere surface, if the value of distance is greater than a half of the circumference then a whole sphere will be bounded

    value

    a value to store in the r-tree

    radius

    a value of radius to calculate

    returns

    a newly created entry

  8. def entry[A](minLat: Float, minLon: Float, maxLat: Float, maxLon: Float, value: A): RTreeEntry[A]

    Permalink

    Create an entry specified by a rectangle with spherical coordinates and a value.

    Create an entry specified by a rectangle with spherical coordinates and a value.

    A

    a type of the value being put in the r-tree

    minLat

    a latitude coordinate of the left bottom corner

    minLon

    a latitude coordinate of the left bottom corner

    maxLat

    a latitude coordinate of the right top corner

    maxLon

    a latitude coordinate of the right top corner

    value

    a value to store in the r-tree

    returns

    a newly created entry

  9. def entry[A](lat: Float, lon: Float, value: A): RTreeEntry[A]

    Permalink

    Create an entry specified by a point with spherical coordinates and a value.

    Create an entry specified by a point with spherical coordinates and a value.

    A

    a type of the value being put in the r-tree

    lat

    a latitude coordinate of the given point

    lon

    a latitude coordinate of the given point

    value

    a value to store in the r-tree

    returns

    a newly created entry

  10. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  11. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  12. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  13. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  14. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  15. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  16. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  17. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  18. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  19. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  20. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  21. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  22. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  23. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped