Suite

Comment un quad-tree gère-t-il les très gros objets ?

Comment un quad-tree gère-t-il les très gros objets ?


Si j'utilise un quad-tree pour indexer mes données cartographiques, comment gère-t-il une route qui va d'un bout à l'autre de la carte ?

Quel autre type d'index devrais-je envisager pour contourner ce problème ?


Cela dépendrait de la distribution spatiale. Je recommanderais quad-tree uniquement pour un ensemble de données quelque peu uniforme, comme des parcelles pour une région du centre-ville. Si vous avez des concentrations de petites fonctionnalités dans certaines zones, j'opterais pour une structure arborescente plus dynamique telle qu'un r-tree. Il y a même des cas où, en fonction des données, il peut être préférable de ne pas indexer du tout spatialement, par exemple lorsque le temps de fouiller dans l'index est plus long que de simplement passer en revue chaque entité en vérifiant individuellement les MBR ou lorsque la majorité des caractéristiques se trouvent dans les limites restrictives. limites pour la majorité des demandes.


Vous pouvez stocker les points formant la route chacun dans le quadrant approprié sur le quadtree. Vous pouvez ensuite rechercher les morceaux de la route qui vous intéressent actuellement, car il n'est généralement pas nécessaire de récupérer toute la route.

Vous devrez utiliser une carte supplémentaire pour stocker les métadonnées de la route et avoir une petite information dupliquée (la clé de la carte) sur chacun des points de la route. Cette carte peut contenir un pointeur vers tous les points de la route, au cas où vous auriez besoin d'opérer sur toute la ligne au lieu d'un sous-ensemble.


Voir la vidéo: Pfingstausfahrt 2021 mit 9 Quads und Spaß im Wasserloch