1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Doctorant
    Inscrit en
    octobre 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Doctorant

    Informations forums :
    Inscription : octobre 2017
    Messages : 2
    Points : 1
    Points
    1

    Par défaut Requête st_clusterwithin avec condition

    Bonjour,

    Je vous contacte car je suis face à un problème en SQL sur lequel je butte depuis plusieurs semaines.

    Je dispose de la table suivante (extrait) :

    Nom : Capture d’écran 2017-10-25 à 16.14.05.png
Affichages : 36
Taille : 49,7 Ko

    Voici mon objectif:

    Je souhaites regrouper des polygones selon les deux conditions suivantes :

    -ils ne doivent pas être distants de plus d'une certaine distance fixée (ceci fonctionne avec st_clusterwithin, je fixe ici la distance à 250m)
    -la différence entre la valeur de "burndate" des polygones regroupés ne doit pas être supérieure à 7 (ceci je n'arrive pas à l'avoir)
    -enfin j'aimerais ajouter à ma table générée une colonne avec le burndate minimum des polygones regroupés

    Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT unnest(st_clusterWithin(tab.geom, 250)) AS cluster_field,
    CAST (tab.annee AS integer) as annee,
    tab.MOIS as mois
    FROM public."2003_08" as tab
    GROUP BY ANNEE, MOIS;
    Voici la table générée (extrait):

    Nom : Capture d’écran 2017-10-25 à 16.24.47.png
Affichages : 36
Taille : 48,9 Ko

    Merci pour votre aide précieuse

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    janvier 2010
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : janvier 2010
    Messages : 4 589
    Points : 9 302
    Points
    9 302

    Par défaut

    Bonjour,

    Comme ceci ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SELECT unnest(st_clusterWithin(tab.geom, 250)) AS cluster_field,
    CAST (tab.annee AS integer) as annee,
    tab.MOIS as mois, MIN(burndate) as burndateMini
    FROM public."2003_08" as tab
    GROUP BY ANNEE, MOIS
    HAVING MAX(burndate) - MIN(burndate) <= 7;

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Doctorant
    Inscrit en
    octobre 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Doctorant

    Informations forums :
    Inscription : octobre 2017
    Messages : 2
    Points : 1
    Points
    1

    Par défaut

    Citation Envoyé par aieeeuuuuu Voir le message
    Bonjour,

    Comme ceci ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SELECT unnest(st_clusterWithin(tab.geom, 250)) AS cluster_field,
    CAST (tab.annee AS integer) as annee,
    tab.MOIS as mois, MIN(burndate) as burndateMini
    FROM public."2003_08" as tab
    GROUP BY ANNEE, MOIS
    HAVING MAX(burndate) - MIN(burndate) <= 7;
    Non, cette requête ne me renvoie aucun résultat.

  4. #4
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    avril 2002
    Messages
    5 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : avril 2002
    Messages : 5 596
    Points : 21 888
    Points
    21 888

    Par défaut

    Bonjour,

    Qu'est-ce que vous entendez, exactement, par "regrouper les polygones" ?
    Quoi qu'il en soit, il va falloir faire une auto-jointure spatiale de la table sur elle-même...
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

Discussions similaires

  1. Requète SELECT avec conditions
    Par cdelamarre dans le forum C++Builder
    Réponses: 1
    Dernier message: 24/06/2008, 12h46
  2. Requête SQL avec condition
    Par charlix dans le forum Langage SQL
    Réponses: 2
    Dernier message: 20/03/2008, 12h38
  3. Réponses: 9
    Dernier message: 13/06/2007, 10h18
  4. Requête Access avec condition IIF
    Par SuperNav77 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 19/01/2007, 23h54
  5. concaténer une requête sql avec condition
    Par maliak dans le forum PHP & MySQL
    Réponses: 6
    Dernier message: 10/02/2006, 13h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo