Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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 Mon 23 August 2010 16:19

Heim
Participant occasionnel
Lieu: Ascain
Date d'inscription: 5 Sep 2005
Messages: 47

Requête ...

Voilà mon soucis va surement paraitre très simple, mais je gère très mal les requêtes :
Je souhaite sélectionner les val minimum d'une couche de points par bassin versant (13800 valeurs de points et 346 BV).
Soit au final n'avoir qu'une valeur de point par bv, ça vous parle ?

En vous remerciant !

Hors ligne

 

#2 Mon 23 August 2010 18:05

SPujol
Participant actif
Lieu: Villeneuve d'Ascq
Date d'inscription: 10 Jan 2008
Messages: 61

Re: Requête ...

Bonjour,

Select ta_tablebv.Nombv,Min(tatablepoints.Colonne_au_choix)
from ta_tablepoints,ta_tablebv
where ta_tablepoints.obj within ta_tablebv.obj
groupby ta_tablebv.Nombv
into ta_selection

Enfin j'ai supposé beaucoup de choses parceque j'avoue c'était un peu obscur. Peu etre devrais tu préciser quelques détails.

Cordialement.


Sylvain PUJOL (Collecte Localisation Satellite - CLS)

Hors ligne

 

#3 Mon 23 August 2010 18:26

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: Requête ...

Bonjour
A mon sens il faut deux étapes. En syntaxe FMB ça donne (noms de tables et de champs à adapter):
Select BV.Code_BV, Min(PTS.Valeur) "valeur_min" from BV, PTS where BV.Obj Contains PTS.Obj group by BV.Code_BV into Sel1
Puis faire une jointure ou une mise à jour d'un champ préalablement créé dans BV, enn utilisant cette table (non graphique) Sel1 qui comporte, par BV, la valeur minimum des points contenus

Hors ligne

 

#4 Tue 24 August 2010 10:21

Heim
Participant occasionnel
Lieu: Ascain
Date d'inscription: 5 Sep 2005
Messages: 47

Re: Requête ...

Merci de votre aide,

en fait j'ai fini par faire une jointure spatiale entre mes points et mes BV afin de récupérer les id bv pour chaque point (sachant que certain bv se superposent).
Puis à partir de cette table de points par bv j'ai effectué la requête suivante :
Select ID_BV, id_c, Min(c_radier_2) from NdsEP_UN_parBV_230810bis group by ID_BV into Selection
afin d'obtenir une table avec les id des BV et des Pts.

En fait c'était pas très compliqué mais la nuit m'a porté conseil...

Hors ligne

 

#5 Tue 24 August 2010 13:38

Heim
Participant occasionnel
Lieu: Ascain
Date d'inscription: 5 Sep 2005
Messages: 47

Re: Requête ...

En fait ça marche pas au niveau des id des pts il y a un pbl. Du coup j'ai fait ma jointure spatiale et aprés j'ai travaillé sur Excel avec un tableau de croisé dynamique on obtient le bon résultat.
Voilà

Hors ligne

 

#6 Wed 08 September 2010 10:16

Heim
Participant occasionnel
Lieu: Ascain
Date d'inscription: 5 Sep 2005
Messages: 47

Re: Requête ...

Pour faire suite à mon problème de requête pour ceux qui chercherai à avoir une réponse avec MapInfo :

But de la requête : Faire une sélection par bassin versant (polygones), des regards (couche de points) ayant la côte Radier max en gardant les identifiants.

Mon problème dans la requête venait du fait qu'il fallait trier les données par bassin versant et par la valeur de la cote radier, de façon décroissante, afin qu'il garde le bon identifiant pour la valeur max du regard. Sinon il prenait le premier id dans liste par bv. Du coup on se retrouvait avec une valeur qui ne correspondait pas à l'id. La il va prendre le premier id de la liste qui correspondra à la valeur max puisqu'on l'aura trié de façon décroissante.

Voilà, j'espère que ça en éclairera certain.

Hors ligne

 

Pied de page des forums

Powered by FluxBB