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

GEODATA DAYS 2024

#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

Laaris a écrit:

...Comment faire pour que tous les points "relevés" confondus soient considérés comme un point unique "localisation"?


Vous pouvez utiliser cet outil, ou celui-là ou encore cet autre ...

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

Maurice a écrit:

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

Laaris a écrit:

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

 

Pied de page des forums

Powered by FluxBB