Uno de los aspectos más importantes de una base de datos equipada con SIG es que proporciona al usuario la capacidad de consultar rápidamente todos los puntos dentro de un área geográfica arbitraria que coincidan con algunos criterios adicionales. (Por ejemplo, "Encuéntrame los 3 restaurantes más cercanos a este punto en un mapa").
¿Puede alguien indicarme una discusión teórica de los algoritmos implicados? Quiero saber cómo funcionan.
En última instancia, quiero aplicar la misma capacidad a conjuntos generalizados de datos numéricos: una gran nube de puntos en un espacio arbitrario, n-dimensional y no euclidiano. Por ejemplo, la cara de una persona puede caracterizarse como un vector de números: [distancia entre los ojos, distancia del ojo a la boca, anchura de la cara, longitud de la cara, etc.]. Quiero filmar el tráfico de la acera, estimar las características de la cara de cada persona y poder hacer después consultas a los datos como "dada la cara de esta persona, encuéntrame las 100 caras más parecidas".
¿Existe actualmente algún programa informático que ofrezca la posibilidad de buscar en estos espacios generalizados?