Class ArvoreKD<T>

java.lang.Object
br.unip.aps.estruturas.ArvoreKD<T>

public final class ArvoreKD<T> extends Object
Arvore k-d de duas dimensoes (latitude, longitude): responde "o que esta a ate R km daqui" sem olhar todos os pontos.
  • Constructor Summary

    Constructors
    Constructor
    Description
    ArvoreKD(List<T> itens, ToDoubleFunction<? super T> latitude, ToDoubleFunction<? super T> longitude, OperationCounter contador)
    Constroi a arvore balanceada, cortando pela mediana e alternando o eixo a cada nivel.
  • Method Summary

    Modifier and Type
    Method
    Description
    int
     
    static double
    distanciaKm(double lat1, double lon1, double lat2, double lon2)
    Distancia aproximada em km (projecao equiretangular, precisa o bastante para raios de dezenas de km).
    long
    noRaio(double lat, double lon, double raioKm, Consumer<? super T> destino)
    Entrega cada item a ate raioKm do centro; devolve quantas distancias foram calculadas.
    int
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

  • Method Details

    • distanciaKm

      public static double distanciaKm(double lat1, double lon1, double lat2, double lon2)
      Distancia aproximada em km (projecao equiretangular, precisa o bastante para raios de dezenas de km).
    • noRaio

      public long noRaio(double lat, double lon, double raioKm, Consumer<? super T> destino)
      Entrega cada item a ate raioKm do centro; devolve quantas distancias foram calculadas.
    • tamanho

      public int tamanho()
    • altura

      public int altura()