#1 Tue 20 June 2006 18:43
- Romaneix
- Juste Inscrit !
- Date d'inscription: 20 Jun 2006
- Messages: 4
Utilisation de la fonction CartesianDistance ou Distance
Bonjour,
J'ai une table de tronçons d'un même cours d'eau mais enregistrés de façon aléatoire. Je souhaite pouvoir les retrier dans un ordre amont-aval lors de la récupération de la table sous Excel par exemple.
J'ai pensé aux fonctions CartésianDistance (ou Distance()) pour créer une variable qui me servirait alors d'index; cette varaibale étant la distance d'un tronçon par rapport à un point fixe judicieusement choisi.
J'ai donc une table (en lambert I Carto - Paris) dans laquelle j'ai entre autre 3 colonnes
- Longitude renseigné par CENTROIDX en mètres sous Lambert I
- Latitude renseignée par CENTROIDY
- Distance que je fais calculer par "Mettre à jour colonne" à l'aide de la fonction CARTESIANDISTANCE selon l'expression suivante:
CARTESIANDISTANCE(332382.43,1195652.35,Longitude, Latitude"m")
où les 2 premeirs termes sont les coordonnées X et Y (Lambert I) du point fixe que j'ai choisi.
Ca ne marche pas. La valeur renvoyée est -1 pour tous les objets.
Quant j'utilise la fonction DISTANCE(....) la valeur retournée devient 0 .
Où est l'erreur ?
Merci
Hors ligne
#2 Wed 21 June 2006 09:56
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Utilisation de la fonction CartesianDistance ou Distance
Piste:
CARTESIANDISTANCE(332382.43, 1195652.35, CentroidX(cdo.obj), CentroidY(cdo.obj), "m")
Le tout après un Set coordsys table cdo
Hors ligne
#3 Wed 21 June 2006 10:22
- Romaneix
- Juste Inscrit !
- Date d'inscription: 20 Jun 2006
- Messages: 4
Re: Utilisation de la fonction CartesianDistance ou Distance
Merci
Je vais essayer
Hors ligne
#4 Wed 21 June 2006 14:37
- AxEor
- Participant occasionnel
- Date d'inscription: 5 Sep 2005
- Messages: 18
Re: Utilisation de la fonction CartesianDistance ou Distance
vous essayez d'affecter une distance cartésienne à un calcul de données lat
long, donc à un système de projection sphérique
voila votre erreur.
faites un calcul avec "sphérical distance" cela fonctionnera.
il faut toujours faire attention au systeme de projection que l'on utilise
et donc aux fonctions associées par la suite.
un SIG n'a de valeur qu'avec un systeme de projection qu'il soit cartésien
ou sphérique
bonne continuation
Axeor
Hors ligne
#5 Thu 22 June 2006 10:35
- Romaneix
- Juste Inscrit !
- Date d'inscription: 20 Jun 2006
- Messages: 4
Re: Utilisation de la fonction CartesianDistance ou Distance
Merci,
Effectivement ça marche, à condition d'utiliser pour les coordonnées des objets ciblés les valeurs fournies par les fonctions CENTROIDX et CENTROIDY.
Merci encore pour le dépannage
Hors ligne
#6 Thu 22 June 2006 10:40
- Romaneix
- Juste Inscrit !
- Date d'inscription: 20 Jun 2006
- Messages: 4
Re: Utilisation de la fonction CartesianDistance ou Distance
Rebonjour,
Question subsidiaire:
Ne possédant pas VerticalMapper, j'ai fais toutes ces manip pour établir le profil en long d'un cours d'eau, ou des coupes topographique à partir d'une grille MNT. Je ne pense pas qu'il existe d'outils MapInfo pour effectuer cette tache en automatique.
Est-ce exact, sinon où le trouver, ou existe-t-il une méthode plus facile?
Hors ligne
#7 Thu 22 June 2006 12:00
Re: Utilisation de la fonction CartesianDistance ou Distance
Bonjour,
il existe effectivement un mbx qui fait ça mais qui semble introuvable sur le net:
Gridanalyser.mbx
passez moi un mail si vous le voulez,
Très cordialement,
Régis
Hors ligne