#1 Wed 19 January 2011 09:55
- Pierre
- DesCartesPourUnMondeMeilleur
- Date d'inscription: 22 Sep 2005
- Messages: 1643
ORACLE/SQL : analyse statistique de distance
Aloha
Je sais obtenir des couples d'objets (objet impactant/parcelle) grâce à SDO_WITHIN... Comment faire pour classer ces couples en X classes en fonction de la distance ?
Je limite la zone "WITHIN" à 200m mais j'aimerais pouvoir créer par exemple 4 classes rassemblant le même nombre de couple,...
Quelqu'un a-t'il une idée ?
D'avance merci
**************
J'ai trouvé une méthode peut-être,
Code:
SELECT S.GID_D, S.GID_A, S.CLASS, S.NAME || NTILE ( 4) OVER ( ORDER BY SDO_GEOM.SDO_DISTANCE (S.BASIAS_GEOMETRY, S.PARC_GEOMETRY, 1) DESC), S."TYPE", SDO_GEOM.SDO_DISTANCE (S.BASIAS_GEOMETRY, S.PARC_GEOMETRY, 1) FROM (SELECT /*+ ORDERED */ BASIAS.GID "GID_D", BASIAS.GEOMETRY AS BASIAS_GEOMETRY, PARC.GID "GID_A", PARC.GEOMETRY AS PARC_GEOMETRY, 'PCI_PARC' "CLASS", 'BASIAS_' AS NAME, 0 "TYPE" FROM A_REIMS.BASIAS BASIAS, A_REIMS.PCI_PARC PARC WHERE SDO_WITHIN_DISTANCE (PARC.GEOMETRY, BASIAS.GEOMETRY, 'distance=200') = 'TRUE' ) S ;
Mais comment améliorer mon explain plan ? j'ai un indicateur de coût en ressource de 137000 et une cardinalité de 300000...
Dernière modification par Pierre (Wed 19 January 2011 11:00)
art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.
Hors ligne
#2 Thu 20 January 2011 17:53
- Pierre
- DesCartesPourUnMondeMeilleur
- Date d'inscription: 22 Sep 2005
- Messages: 1643
Re: ORACLE/SQL : analyse statistique de distance
Dans le même ordre d'idée, comment faire à partir du calcul de quartile (la distance médiane, la distance qui regroupe 75%,...) pour dénombrer le nombre de parcelles ?
art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.
Hors ligne