#1 Wed 11 June 2008 10:13
- Laaris
- Participant occasionnel
- Date d'inscription: 30 Apr 2008
- Messages: 12
Créer des groupes de points en fonction de leur distance
Bonjour,
Je dispose d'une table contenant des relevés floristiques de terrain et permettant de projeter des points. Je souhaite créer des groupes de points correspondant à des unités de surface de 10 ha. C'est à dire que tous les points situés sur une surface de 10 hectares sont considérés comme faisant partie du même relevé.
Les groupes ne doivent pas se recouper entre eux.
Je voudrais ensuite affecter un identifiant à chaque groupe ainsi créé et reporter cet identifiant dans un nouveau champ de ma table.
Cette manipulation est-elle réalisable directement avec MapInfo où faut-il que je me plonge dans les arcanes de MapBasic?
Merci d'avance.
Hors ligne
#2 Wed 11 June 2008 11:44
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Créer des groupes de points en fonction de leur distance
Bonjour
- piste 1: polygones de Voronoï ??
- piste 2: mettre à jour une colonne avec l"expression RowId
- piste 3; une autre mise à jour avec une condition "Where Within"
Hors ligne
#3 Thu 12 June 2008 09:31
- Laaris
- Participant occasionnel
- Date d'inscription: 30 Apr 2008
- Messages: 12
Re: Créer des groupes de points en fonction de leur distance
Bonjour,
J'ai testé avec les polygones de Voronoï. Le problème est que de nombreux points sont confondus (un point correspond au relevé d'une espèce sur une localisation, s'il y a plusieurs espèces sur la même localisation, les points sont confondus), les polygones regroupent donc entre eux les points confondus sans prendre en compte les autres points aux alentours.
Je voudrais considérer tous les points confondus comme étant un seul point, et ensuite faire des groupes en fonction de la distance, puis associer un numéro de groupe à chaque point.
J'ai fait une sélection sur ma table en utilisant "grouper par colonne" sur la colonne Localisation, pour obtenir la liste des localisations. Je pensais ensuite projeter ces points mais il semble que ce ne soit pas possible, les coordonnées sont probablement perdues à cause du regroupement par colonne.
Comment puis-je faire pour que tous les points "relevés" confondus soient considérés comme un point unique "localisation"?
Hors ligne
#4 Thu 12 June 2008 11:03
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Créer des groupes de points en fonction de leur distance
Hors ligne
#5 Thu 12 June 2008 11:42
- Laaris
- Participant occasionnel
- Date d'inscription: 30 Apr 2008
- Messages: 12
Re: Créer des groupes de points en fonction de leur distance
Je vous remercie pour ces outils, néanmoins ils n'ont pas l'air de fonctionner dans mon cas.
Ce n'est pas vraiment une suppression de doublons que je souhaite faire, car dans la table les points confondus n'ont pas les mêmes données. Ils n'ont en commun que l'identifiant de localisation (et bien sûr les coordonnées).
Je voudrais avoir un seul point là où il y en a plusieurs confondus et lui associer comme donnée uniquement l'identifiant de localisation.
Je suis bien conscient de m'attaquer à des manipulations complexes sans connaitre les bases de l'utilisation des SIG. Je me retrouve à devoir utiliser MapInfo alors ce n'est pas du tout mon domaine de compétences, et sans avoir le temps d'apprendre. Je m'excuse donc pour toutes ces questions et le manque de clarté dont je dois faire preuve dans mes demandes.
Hors ligne
#6 Thu 12 June 2008 12:28
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Créer des groupes de points en fonction de leur distance
Ben...a priori c'est ce que fait doublons.mbx...et les autres
Il élimine les points de même coordonnées pour ne garder qu'UN représentant
Pourquoi dites vous qu'ils n'ont pas l'air de fonctionner ??
Hors ligne
#7 Thu 12 June 2008 13:19
- Laaris
- Participant occasionnel
- Date d'inscription: 30 Apr 2008
- Messages: 12
Re: Créer des groupes de points en fonction de leur distance
Pourquoi dites vous qu'ils n'ont pas l'air de fonctionner ??
Parce que la table retournée est identique à la table de départ.
J'imagine que l'outil a gardé un point pour chaque doublon (surement le premier rencontré dans la table) et supprimé les autres mais continue d'afficher toutes les données dans la table.
En fait je pars d'une table comme celle-ci:
Code:
espèce localisation sp1 loc1 sp2 loc1 sp3 loc2 sp1 loc3 sp3 loc3 ... ...
Dans cette table, toute les lignes ayant la même valeur dans le champ localisation donnent des points confondus.
Et je voudrais obtenir:
Code:
localisation loc1 loc2 loc3
avec un point correspondant à une localisation.
C'est pour cela qu'au départ j'avais fait une sélection SQL toute simple visant à ne garder que le champ localisation sans doublons, en pensant que les coordonnées seraient conservées puisqu'elles "dépendent" du champ localisation.
Hors ligne
#8 Thu 12 June 2008 14:01
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Créer des groupes de points en fonction de leur distance
Parce que la table retournée est identique à la table de départ...
...au départ j'avais fait une sélection SQL toute simple visant à ne garder que le champ localisation....
Identique..à l'oeil (et c'est normal) mais le nombre d'enregistrements a dû pas mal se réduire (faites un compactage avant de comparer) !!
il vous suffit ensuite de supprimer le champ "espèce" pour avoir le résultat souhaité...
Une requête est possible, mais comme elle doit impliquer un "group by" pour avoir un résultat judicieux...elle produira une table non graphique !
Hors ligne
#9 Thu 12 June 2008 22:01
- Damien BEAUSEIGNEUR
- Participant assidu
- Lieu: meyzieu
- Date d'inscription: 5 Sep 2005
- Messages: 425
Re: Créer des groupes de points en fonction de leur distance
bonjour
Un avantage de travailler avec des points...
Le "group by" peut être judicieux group by sur le champ localisation, et il suffit de récupérer les valeurs minimums des coordonnées des points en doublon. Et ensuite de recréer les points à partir des coordonnées... pour transformer le résultat en table graphique...
CQFD
Cordialement
Hors ligne