#1 Tue 17 October 2006 12:10
- Jean_Michel
- Participant occasionnel
- Date d'inscription: 27 Mar 2006
- Messages: 11
Sélection aléatoire
Bonjour,
J'ai deux couches, un maillage et une couche de points, je cherche à sélectionner aléatoirement 10 points pour chaque maille du maillage.
Autre question, est-il possible, pour chaque maille, de numéroter de 1 à n les points qu'elle contient ?
Merci pour votre aide.
Jean-Michel
Hors ligne
#2 Wed 18 October 2006 00:21
- Damien BEAUSEIGNEUR
- Participant assidu
- Lieu: meyzieu
- Date d'inscription: 5 Sep 2005
- Messages: 425
Re: Sélection aléatoire
Bonsoir,
A partir du moment ou tu peux sélectionner tous les points d'une même maille, il est évidemment très facile de les numéroter de 1 à n.
De façon manuelle, tu sélectionnes tous les points d'une maille tu ouvres la sélection et tu mets à jour la colonne qui doit contenir l'ordre par RowID.
Une foi celà fait, tu n'as qu'a choisir 10 nombre compris entre 1 et n, tous différents et lancer une sélection.
pour l'aléatoire
Randomize pour initialiser le moteur aléatoire
et 9*rnd(1)+1 pour l'obtention d'un nombre compris entre 1 et 10
En prenant idmaillage pour champ qui contient les id par mailles.
select * from couche_points where idmaillage in (x1,..,x10);
Damien
Hors ligne
#3 Wed 18 October 2006 10:21
- Jean_Michel
- Participant occasionnel
- Date d'inscription: 27 Mar 2006
- Messages: 11
Re: Sélection aléatoire
merci pour ton aide, y a t'il un moyen d'automatiser la numérotation des points pour chaque maille, il y en a près de 2000 ?
Jean-Michel
Hors ligne
#4 Wed 18 October 2006 16:28
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Sélection aléatoire
Bonjour,
Je ne vois pas de salut pour aotomatiser, en dehors d'un mbx...c'est la seule solution pour des boucles
Sauf à écrire la série d'instructions ad-hoc dans la fenêtre MapBasic (sans boucle, avec Fetch par exemple...) et à sélectionner toutes les lignes puis coincer le cendrier sur la touche "enter"
Hors ligne