3.7. Quelle est la meilleure façon de trouver tous les objets autour d'un autre ?

Afin d'utiliser la base de données plus efficacement, il vaut mieux faire une requête de rayon qui combine le test de rayon et le test des cadres limites : le test de cadre limite utilise un index spatial, permettant un accès rapide à un sous-ensemble de données pour lesquels le test de rayon est ensuite effectué.

La fonction ST_DWithin(geometry, geometry, distance) permet de réaliser un calcul de distance utilisant les index. Elle fonctione en créant un espace rectangulaire de recherche suffisamment large pour contenir le rayon ayant la valeur du parmètre distance, ensuite elle réalise l'opération exacte de calcul de distance sur le sous-ensemble résultant.

Par exemple, pour trouver tout les objets dans un rayon de 100 mètres autour du point POINT(1000 1000), la requête suivante devrait bien fonctionner :


SELECT * FROM tablegeo
WHERE ST_DWithin(colonnegeo, 'POINT(1000 1000)', 100.0);

Posted in version imprimable | Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | 3508 lectures

Posté par rédacteurs le 6 Avril, 2006 - 19:31.

Accéder aux archives

« Juin 2024  
Lun Mar Mer Jeu Ven Sam Dim
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

Ouverture de session

Qui est en ligne

Il y a actuellement 1 utilisateur et 4 invités en ligne.
Locations of visitors to this page
Drupal Top Sites - Ultimate Drupal Exposure