Enquanto
R-Trees em geral pode indexar dados com um número arbitrário de dimensões, MySQL habilidades espaciais são limitadas apenas a Geometry tipos (2 dimensões). Se seus vetores forem
2 -dimensional e você pode normalizá-los, então faça o seguinte:- Divida o círculo em duas vezes o número de ângulos que se ajustam às suas diferenças
- Encontre o
MBRde vetores com dada diferença de cosseno do centro de cada setor - Encontre todos os vetores dentro do
MBR - Faça a filtragem fina para obter a diferença exata.
Neste caso, no entanto, será melhor apenas pré-calcular o ângulo do valor e indexá-lo com uma simples
B-Tree índice.