Suite

Comment étendre rapidement l'implémentation R-Tree de PostGIS ?

Comment étendre rapidement l'implémentation R-Tree de PostGIS ?


Je travaille sur un problème où, en plus de l'emplacement des points de données, j'ai également des informations sur la connectivité entre les points. (Pensez à un graphique de points, où un bord dénote une relation)

Mes requêtes doivent être optimisées non seulement pour trouver, par exemple, « les plus proches voisins (NN) » ou « Inverser les voisins les plus proches (RNN) », mais aussi pour trouver les points qui satisfont NN/RNN avec les contraintes du graphique.

Il semble que je devrais peut-être modifier l'index R-Tree pour stocker ces informations supplémentaires et peut-être même écrire quelques-unes de mes propres routines pour ajouter des fonctionnalités supplémentaires.

Existe-t-il un moyen d'abstraire l'implémentation de R-Tree par PostGIS et de l'étendre rapidement ? Dois-je fouiller dans les internes avant de pouvoir accomplir quoi que ce soit ?


Pour construire votre graphique, vous pouvez essayer d'utiliser l'arbre, un type de données de graphique pour PostgreSQL, puis en créant un index gist composé qui contient à la fois legéométrieetl'arbreColonnes.


Voir la vidéo: 034 r tree