Um dos aspectos mais importantes de um banco de dados equipado com GIS é que ele fornece ao usuário a capacidade de consultar rapidamente todos os pontos em alguma área geográfica arbitrária que atendem a alguns critérios adicionais. (Por exemplo, "Encontre-me os 3 restaurantes mais próximos a este ponto em um mapa.")
Alguém pode me apontar para uma discussão teórica dos algoritmos envolvidos? Eu quero aprender como eles funcionam.
Por fim, quero aplicar o mesmo recurso a conjuntos generalizados de dados numéricos - uma grande nuvem de pontos em um espaço arbitrário, n-dimensional e não euclidiano. Por exemplo, o rosto de uma pessoa pode ser caracterizado como um vetor de números: [distância entre os olhos, distância dos olhos à boca, largura do rosto, comprimento do rosto, etc.]. Quero filmar o tráfego na calçada, estimar os recursos de cada pessoa e depois fazer consultas aos dados posteriormente, como "dado o rosto dessa pessoa, encontre-me as 100 faces mais semelhantes".
Existe atualmente algum software que ofereça a capacidade de pesquisar sobre esses espaços generalizados?