#1 Mon 31 March 2008 17:09
- Tof
- Participant occasionnel
- Date d'inscription: 17 Mar 2008
- Messages: 24
distance entre deux points
Bonjour,
voila, j'ai deux couche de points. Je souhaite que les données des point d'une des couches se joignent à celle de l'autre. Les critères : chaque point (d'une couche) est joint au point le plus proche géographiquement (de l'autre couche). Je n'ai pas trouver de fonction toute faite permettant de faire cela, il faut dire que nous possédons une vieille version de MapInfo (.6). Il y a certainement moyen de lui demander ça en SQL avec une formule à rallonge en passant par les coordonnées des centroïdes peut-être... Si vous vous avez un tuyo je suis preneur !
Merci d'avance et bonne fin de journée.
Hors ligne
#3 Mon 31 March 2008 18:22
- Tof
- Participant occasionnel
- Date d'inscription: 17 Mar 2008
- Messages: 24
Re: distance entre deux points
Rebonjour,
Merci pour les outils. Le 1er ne marche pas car il ne fonctionne qu'à partir de la version 6.5 de MapInfo en revanche le second fonctionne à merveille...toutefois je suis quand même embêté car dans la requête que je désire faire je souhaitais une autre condition qui était que 2 champs devaient avoir la même valeur avant de trouver les objets les + proches... en SQL il m'aurais suffis d'ajouter un "And" mais l'outil proposé ne permet pas l'ajout d'une condition alors pour la solution "casse-tête" je suis quand même preneur.
Merci d'avance
Hors ligne
#4 Mon 31 March 2008 18:30
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: distance entre deux points
Ne suffit-il pas de faire la sélection correspondant au "and" que tu évoques AVANT d'appliquer l'outil sur le résultat de cette sélection ??
Hors ligne
#5 Tue 01 April 2008 09:14
- Tof
- Participant occasionnel
- Date d'inscription: 17 Mar 2008
- Messages: 24
Re: distance entre deux points
Bonjour,
et bien les points d'une même couche peuvent être plusieurs à avoir une même valeur dans ce champs et pareil pour l'autre couche. Ainsi si j'effectue une requête sur ce champs il faudrait que je créé une 20aine de table. Je te rappel que ma requête est : " lie les points de table A au point le plus proche de l'autre table B a condition que ces deux points est la même valeur dans le champ X".
Merci d'avance.
Hors ligne
#6 Tue 01 April 2008 09:53
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: distance entre deux points
B..." lie les points de table A au point le plus proche de l'autre table B a condition que ces deux points aient (!) la même valeur dans le champ X"....
Dur !! mais voila ma piste "par étape", à condition qu'il y ait des identifiants uniques distinct dans les deux tables
- ajouter les deux tables en une (attention aux attributs !!)
- copier cette table et faire entre table1 et copie_table1 une matrice de distance (voir posts sur ce sujet), comprenant en outre les identifiants et la colonne X
- sélectionner les "bons" couples de points sur cette matrice: la requête doit être plus simple à poser, éventuellement en deux étaps (je ne visualise pas vraiment et je laisse le soin de trouver...)
- créer les lignes pour chacun de ces couples
Hors ligne