banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Fri 13 June 2008 10:00

greg-gwened
Participant actif
Lieu: Vannes
Date d'inscription: 4 Oct 2007
Messages: 148

[SQL - ACCESS] Pithagore et fonction SQRT

Bonjour,
Je souhaite utiliser le theoreme de pithagore pour calculer la distance entre deux point.
J'ai donc obtenu a partir des coordonnées des points, les mesures des cotés adjacent et opposés (respectivement LX et LY)

Voici mon calcul de l'hypothenus en sql mais cela ne fonctionne pasen sql sous access mais cela ne fonctionne pas:

UPDATE COORD_TEMP SET DISTANCE_AS=SQRT((POWER(LX,2))+(POWER(LY,2)));

Quelqu'un peut-il m'aider?


greg-gwened
Chambre d'agriculture 44

Hors ligne

 

#2 Fri 13 June 2008 11:08

DCRAY
Juste Inscrit !
Lieu: Nice, France
Date d'inscription: 23 Dec 2005
Messages: 8

Re: [SQL - ACCESS] Pithagore et fonction SQRT

Salut,

Allez ici : http://www.bodley.ox.ac.uk/guides/maps/miht_14.htm

La description est en anglais, mais il montre comment on peut faire le calcul de distance entre un point central et des autres autour.

Duncan RAY

Hors ligne

 

#3 Fri 13 June 2008 11:15

greg-gwened
Participant actif
Lieu: Vannes
Date d'inscription: 4 Oct 2007
Messages: 148

Re: [SQL - ACCESS] Pithagore et fonction SQRT

Merci pour ta réponse DCRAY mais en fait je ne dispose pas de SIG sur mon poste.
Le poste avec une licence SIG est occupé pour la journée et j'ai absolument besoin de ces valeurs pour continuer mon analyse.
C'est pourquoi je cherche à calculer cette distance à partir des coordonnées sous access.
Quelqu'un aurait-il une autre solution?

Hors ligne

 

#4 Fri 13 June 2008 11:30

DCRAY
Juste Inscrit !
Lieu: Nice, France
Date d'inscription: 23 Dec 2005
Messages: 8

Re: [SQL - ACCESS] Pithagore et fonction SQRT

Salut,
Si vous utilisez ACCESS dans la lange FRANCAIS, et que vous n'envoyez pas le code sql vers SQL SERVER ou ORACLE, mais vous restez DANS ACCESS, vous devez utiliser les termes francaises :

Essayes quelques choses comme celui-ce :

SELECT Sqr(([ETB_X]*2)+([ETB_Y]*2)) AS DISTANCE_AS
FROM COORD_TEMP;

Si ça marche, vous changez le code vers UPDATE :

UPDATE COORD_TEMP SET COORD_TEMP.DISTANCE_AS = Sqr(([LX]*2)+([LY]*2));

Duncan

Hors ligne

 

#5 Fri 13 June 2008 11:36

DCRAY
Juste Inscrit !
Lieu: Nice, France
Date d'inscription: 23 Dec 2005
Messages: 8

Re: [SQL - ACCESS] Pithagore et fonction SQRT

Désolé, j'ai fait un erreur dans le select, remplace le ETB_x et ETB_Y avec vos champs LX et LY

Hors ligne

 

#6 Fri 13 June 2008 11:43

DCRAY
Juste Inscrit !
Lieu: Nice, France
Date d'inscription: 23 Dec 2005
Messages: 8

Re: [SQL - ACCESS] Pithagore et fonction SQRT

Donc, je reprend :

Mais ç'est la distance de QUOI vous avez besoin d'inclus votre point d'origine dans le calcul, comme on montre dans le lien en premier ligne.

SELECT Sqr(([LX]*2)+([LY]*2)) - <<votre point d'origine>>  AS DISTANCE_AS
FROM COORD_TEMP;

Hors ligne

 

#7 Fri 13 June 2008 12:08

greg-gwened
Participant actif
Lieu: Vannes
Date d'inscription: 4 Oct 2007
Messages: 148

Re: [SQL - ACCESS] Pithagore et fonction SQRT

En fait je cherche a calculer la distance entre deux points A et S (DISTANCE_AS)

A(XA,YA) et S(XS,YS)

D'apres pythagore: (DISTANCE_AS)²= (LX)² + (LY)²
ou LX = |XS - XA|                             [ABS(XS - XA) en SQL]
et LY = |YS - YA|                               [ABS(YS -YA) en SQL]

J'espere que je m'explique clairement.
J'essaye de suite ce que tu me conseille ci-dessus et je te tiens au courant.
Merci Duncan

Hors ligne

 

#8 Fri 13 June 2008 12:22

DCRAY
Juste Inscrit !
Lieu: Nice, France
Date d'inscription: 23 Dec 2005
Messages: 8

Re: [SQL - ACCESS] Pithagore et fonction SQRT

Pas de quoi.

ok, ça doit marcher comme vous voulez.

J'ai pas compris que vous avez déjà calculé les "deltas".   Donc, si vous respectez les fonctions dans les applications, vous ne deviez plus avoir un problème.

Le langage ACCESS SQL, dans quelques cas, est beaucoup différents que T-SQL de SQL SERVER, ou même P-SQL/SQL d'ORACLE; Microsoft créer même son propre langage entre les applications Microsoft. 

De 90% à 95% des fonctions et de fonctionalité et le même, mais c'est quand vous arrivez à faire quelques choses simple ou les problèmes font surfaces.

Duncan

Hors ligne

 

#9 Fri 13 June 2008 12:27

greg-gwened
Participant actif
Lieu: Vannes
Date d'inscription: 4 Oct 2007
Messages: 148

Re: [SQL - ACCESS] Pithagore et fonction SQRT

J'ai essayé mais *2 ne permet pas d'élever la valeur à la puissance 2 car il s'agit d'une multiplication.
Cependant j'ai pu procédé ainsi et cela fonctionne:
SELECT ID_ACTEUR, Sqr(([LX]*[LX])+([LY]*[LY])) AS DISTANCE_AS
FROM COORD_TEMP;

Encore merci Duncan et bonne continuation...
@+
Gregory

Hors ligne

 

#10 Fri 13 June 2008 12:31

greg-gwened
Participant actif
Lieu: Vannes
Date d'inscription: 4 Oct 2007
Messages: 148

Re: [SQL - ACCESS] Pithagore et fonction SQRT

Pour en revenir au SQL d'access
le pire est que la fonction SQRT figure dans l'aide ACCESS alors qu'elle ne fonctionne pas!!!
Microsoft pourrait revoir sa copie!!!!

Hors ligne

 

#11 Fri 13 June 2008 12:56

DCRAY
Juste Inscrit !
Lieu: Nice, France
Date d'inscription: 23 Dec 2005
Messages: 8

Re: [SQL - ACCESS] Pithagore et fonction SQRT

Oui c'est vrai.  Mais c'est dans la rubrique "Fonctions scalaires ODBC".  J'ai un serveur SQL SERVER.  Si j'envoie le code avec SQR() il échoue.

ACCESS SQL :

SELECT Sqr(([LX]*[LX])+([LY]*[LY])) AS DISTANCE_as
FROM COORD_TEMP;


SQL SERVER T-SQL :
SELECT Sqrt(([LX]*[LX])+([LY]*[LY])) AS DISTANCE_as
FROM COORD_TEMP;


Si j'utilse SQRT dans ACCESS ça ne marche pas. Mais si je crée une requête SQL DIRECT, ça marche parce que la demande est envoyé à SQL SERVER qui connaît SQRT.

Si j'utilise SQR dans une requête direct vers SQL SERVER ça échoue parce que SQL SERVER ne connaît pas SQR, mais ça marche dans ACCESS, parce qu'ACCESS connaît SQR.

C'est assez pour rendre les gens complètement fou !!  Et ne me parle pas des pauvres gens qui je dois dépanner. 

:-) bon courage et bonne continuation Greg-gwened de Vannes.

Hors ligne

 

#12 Fri 13 June 2008 14:50

DCRAY
Juste Inscrit !
Lieu: Nice, France
Date d'inscription: 23 Dec 2005
Messages: 8

Re: [SQL - ACCESS] Pithagore et fonction SQRT

désole, en lisant mon message, il peut être mal interpreter. 

Les pauvres gens que je dois dépanner sont les pauvres gens au bureau où je travail :-)

Hors ligne

 

Pied de page des forums

Powered by FluxBB