#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


