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 !.
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Le GeoRezo vous souhaite une bonne année 2020 !

voeux2020

#1 Wed 18 December 2019 20:12

Mossy_D
Membre
Date d'inscription: 1 Oct 2018
Messages: 5

[QGIS / Spatialite]

Bonjour,

Pas certain d'être sur le bon forum mais je tente ma chance !

Sous QGIS / Spatialite :

Je dispose d'une couche de polygones représentant des zones de diagnostic que nous appellerons "zone_diag".
Cette couche vient se superposer aux polygones du parcellaire cadastral "parcelle".

Après découpage, chaque polygone de "zone_diag" contient plusieurs morceaux de "parcelle".

Mon problème :

Je souhaiterais (via SQL ? PYTHON ?) numéroter pour chaque zone de diagnostic les parcelles de 1 à n (n = maximum de parcelles dans une zone de diagnostic).

Ex :

zone_diag 1 contient parcelle 1, 2, 3...max
zone_diag 2 contient parcelle 1,2,3...max
zone_diag 3 contient parcelle 1,2,3...max

Auriez vous la solution chers confrères ?

Ce genre de ligne SQL pourrait elle être adaptée (là c'est avec des voitures...) ?

Code:

SELECT ROW_NUMBER() OVER(PARTITION BY V_MARQUE ORDER BY V_PRIX) AS POSITION, V_MODELE, V_MARQUE, V_PRIX
FROM VOITURE
ORDER BY V_PRIX

Dernière modification par Mossy_D (Wed 18 December 2019 20:14)

Hors ligne

 

#2 Thu 19 December 2019 09:19

tumasgiu
Membre
Lieu: Ajaccio
Date d'inscription: 5 Jul 2010
Messages: 986

Re: [QGIS / Spatialite]

Je ne suis pas certain que les window functions soit implémentés dans sqlite.

Mais pour faire ce que vous voulez, ce n'est pas nécessaire.
Un group by et une fonction d’agrégat comme group_concat fera l'affaire.

Hors ligne

 

#3 Thu 19 December 2019 10:10

Mossy_D
Membre
Date d'inscription: 1 Oct 2018
Messages: 5

Re: [QGIS / Spatialite]

Merci,

Pourriez-vous développer un peu plus ou encore mieux, donner la ligne de code s'il vous plait ?

Je suis débutant en SQL et très pressé par le temps. Je n'ai plus trop le temps de chercher !

Hors ligne

 

#4 Thu 19 December 2019 13:31

haubourg
Membre
Lieu: Grenoble
Date d'inscription: 7 Sep 2005
Messages: 245
Site web

Re: [QGIS / Spatialite]

Mossy_D a écrit:

Merci,

Pourriez-vous développer un peu plus ou encore mieux, donner la ligne de code s'il vous plait ?

Je suis débutant en SQL et très pressé par le temps. Je n'ai plus trop le temps de chercher !


Heum, pas sûr qu'avec ce genre d'approche vous ayez beaucoup de succès.
Le support communautaire est gratuit, à titre bénévole, et repose sur la bonne volonté de chacun et l'échange réciproque.
Essayez, et on vous aidera autant que de besoin ici.
Mais si vous n'avez pas le temps, ou pas le souhait de réaliser vous même,  il y a des entreprises qui fournissent du support et de l'assistance commerciale.
Bien cordialement,
Régis

Hors ligne

 

#5 Thu 19 December 2019 16:31

Mossy_D
Membre
Date d'inscription: 1 Oct 2018
Messages: 5

Re: [QGIS / Spatialite]

haubourg a écrit:
Mossy_D a écrit:

Merci,

Pourriez-vous développer un peu plus ou encore mieux, donner la ligne de code s'il vous plait ?

Je suis débutant en SQL et très pressé par le temps. Je n'ai plus trop le temps de chercher !


Heum, pas sûr qu'avec ce genre d'approche vous ayez beaucoup de succès.
Le support communautaire est gratuit, à titre bénévole, et repose sur la bonne volonté de chacun et l'échange réciproque.
Essayez, et on vous aidera autant que de besoin ici.
Mais si vous n'avez pas le temps, ou pas le souhait de réaliser vous même,  il y a des entreprises qui fournissent du support et de l'assistance commerciale.
Bien cordialement,
Régis


Bonjour,

Si je poste sur le forum, c'est que je suis dans l'urgence. Chercher je le fais tout le temps, mais parfois, je ne trouve pas. Je cherche juste à sortir de l'impasse. Mais tant pis, je fais autrement.

Hors ligne

 

#6 Fri 20 December 2019 16:07

tumasgiu
Membre
Lieu: Ajaccio
Date d'inscription: 5 Jul 2010
Messages: 986

Re: [QGIS / Spatialite]

Code:

SELECT
      marque
    , group_concat (prix, ", ")
FROM 
    voiture
GROUP BY 
    marque
;

Hors ligne

 

#7 Tue 14 January 2020 16:55

Mossy_D
Membre
Date d'inscription: 1 Oct 2018
Messages: 5

Re: [QGIS / Spatialite]

Bonjour,

Merci pour votre participation.

Je reviens vers vous avec une bonne nouvelle puisqu'à nouveau j'ai rencontré ce problème d’auto-incrémentation partitionnée selon un certain critère... et cet fois je l'ai bel et bien résolu. La première solution était en fait la bonne. Toutefois, seule la requête SELECT fonctionne. Ensuite il est possible de générer une couche avec DB MANAGER. Si l'on fait UPDATE, puis SELECT, le code s'exécute mais le résultat est faussé. Là je ne saurais dire pourquoi... les "Windows fonctions" ne sont peut être pas conçues pour fonctionner avec UPDATE..??

Bref, voici le code donnant un résultat satisfaisant :

Code:

SELECT *, ROW_NUMBER ()
OVER (PARTITION BY parcelle) AS no_bati
FROM bati
ORDER BY parcelle

Hors ligne

 

Pied de page des forums

Powered by FluxBB

Partagez  |