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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Fri 20 January 2017 17:42

hugues
Participant occasionnel
Lieu: Fontenay-aux-Roses
Date d'inscription: 6 Sep 2005
Messages: 30

QGIS & Plugin Cadastre & Majic & PostGis: Requêtes base cadastre

Bonjour,

Récent utilisateur de QGis et de son plugin cadastre suite à la perte de mon outil Arcopole je suis à la recherche de requetes SQL type nombre de logements/parcelle, nbre de commerces/parcelle, bati type logements sociaux..
J'ai bien tenté de mon coté mais je n'ai que très peu de temps..

Un grand merci d'avance

Hors ligne

 

#2 Mon 06 February 2017 23:15

Zorgas
Participant occasionnel
Date d'inscription: 26 Nov 2009
Messages: 16

Re: QGIS & Plugin Cadastre & Majic & PostGis: Requêtes base cadastre

bonjour
peux tu m envoyer un modèle de fiche descriptive bâti et non bati pour que je puisse essayer mes requêtes?
je crois que dans arcopole c était cela s appelle "fiche détaillée"
à bientôt

Hors ligne

 

#3 Tue 07 February 2017 07:18

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 Sep 2005
Messages: 3199
Site web

Re: QGIS & Plugin Cadastre & Majic & PostGis: Requêtes base cadastre

Bonjour,

Il n'y a pas de Modèle Conceptuel de Données livré avec ce plugin ?


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

#4 Tue 07 February 2017 09:42

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

Re: QGIS & Plugin Cadastre & Majic & PostGis: Requêtes base cadastre

Hors ligne

 

#5 Tue 07 February 2017 11:57

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 Sep 2005
Messages: 3199
Site web

Re: QGIS & Plugin Cadastre & Majic & PostGis: Requêtes base cadastre

Bonjour,

hughes : il faut partir de ce MCD et construire les requêtes appropriées.


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

#6 Fri 10 February 2017 08:52

Zenzile64
Juste Inscrit !
Lieu: Pau
Date d'inscription: 5 Mar 2010
Messages: 8

Re: QGIS & Plugin Cadastre & Majic & PostGis: Requêtes base cadastre

Bonjour,

Je vous joins un fichier .sql que j'ai réaliser en reprenant les requêtes utilisées pour les traitements des fichiers fonciers et que j'ai adapté au MCD du plugin cadastre de QGIS.
N'étant pas un expert en SQL, je suis preneur de tout retour constructif.

Géomatiquement

Dernière modification par Zenzile64 (Fri 10 February 2017 08:53)


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#7 Fri 10 February 2017 09:42

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 Sep 2005
Messages: 3199
Site web

Re: QGIS & Plugin Cadastre & Majic & PostGis: Requêtes base cadastre

Bonjour,

Ce n'est pas au niveau du SQL que ce posent des problèmes. Il s'agit plutôt du modèle, de la codification et de la valeur attribuée aux champs.(et vous n'y pouvez pas grand chose Zenzile64)

Au niveau modèle, utiliser pour des jointure des entités alphanumériques comme idu c'est pas ce que l'on fait de mieux en termes de perfs et en termes de pérennité du modèle (cf la problématique de la fusion de commune et des codes insee). Utiliser des clefs numérique de type entier long c'est mieux.

Pour la codification : "SELECT jnat, ccsub, cc1213287ty" c'est très parlant et celui qui lit les requêtes traduit ça facilement, il parle l'acronyme couramment.

Le sens attribué aux valeurs : par exemple :

jannatmin integer, -- Année d’achèvement de la construction du local le plus ancien existant sur la parcelle à la date de mise à jour du millésime des fichiers fonciers


Et bien non ! Car il s'agit de la date DECLAREE par le signataire 90 jours après l’achèvement de la construction du local, ou de la date inscrite par la commission communale en 1970 ou celle de la révision de 1980.

Qiue les choses soient claires : TOUT LES DONNEES MAJIC CONCERNANT LES LOCAUX SONT LE REFLET DE LA DECLARATION DES PROPRIETAIRES, avec tout les erreurs et imprécisions possibles.

Autre exemple

CAST(jdatat AS character varying (20)) -- Date (jjmmaaaa) de l’acte de mutation du local ou de la parcelle idu


Pour travailler tous les jours avec la valeur de ce champs je peux affirmer que c'est pas toujours vrai, bien souvent ce champs est utilisé par les agents du cadastre pour indiquer le traitement d'un contentieux. Et il ne s'agit pas dans le cas d'un acte, forcement d'un acte de mutation.
La partie restant appartenir à X lors d'une expro pour l'élargissement d'une route c'est un acte de mutation ?????


[EDIT] : Un exemple pour sélectionner une parcelle dans le modèle que nous utilisons :

SELECT commune.insee,commune.nom,section.nom as nomsec,section.inseefusion,parcelle.numero,parcelle.contenance,parcelle.geom
FROM cadastre.commune INNER JOIN cadastre.section ON idcommune=ptrcommune INNER JOIN cadastre.subsection ON idsection=ptrsubsection
INNER JOIN cadastre.parcelle ON idsubsection=ptrsubsection
WHERE insee='033' AND inseefusion='000' nAND section.nom='0A' AND numero='0271'


avec idX et ptrX : entiers longs avec un index

Dernière modification par ChristopheV (Fri 10 February 2017 10:00)


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

#8 Fri 10 February 2017 10:48

Zenzile64
Juste Inscrit !
Lieu: Pau
Date d'inscription: 5 Mar 2010
Messages: 8

Re: QGIS & Plugin Cadastre & Majic & PostGis: Requêtes base cadastre

Merci pour votre retour

Juste une précision sur le sens attribué aux valeurs. Je n'ai fait que reprendre les définitions données dans les fiches produites par le CEREMA pour avoir une description rapide des champs. Je suis d'accord avec vous et je suis bien conscient des subtilités de ces données déclaratives et à part être un spécialiste en fiscalité, il n'y a que l'expérience qui peut nous montrer les limites de ces informations.

Hors ligne

 

#9 Fri 10 February 2017 11:15

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 Sep 2005
Messages: 3199
Site web

Re: QGIS & Plugin Cadastre & Majic & PostGis: Requêtes base cadastre

Bonjour,

Je n'ai fait que reprendre les définitions données


Je sais et vous n'êtes pas le seul, d'où ma parenthèse sur le fait que vous n'y pouvez pas grand chose. Malheureusement ceci peut conduire à des bêtises. J'ai par exemple vu cette semaine un relevé de propriété émis par un logiciel vendu à une commune où la section est 'A0', ben en fait c'est A zéro que le logiciel veut écrire, il s'agit de la section 0A, car il y a aussi une section A "O" avec un O comme Olivier. C'est presque une caricature (mais c'est vrai), et le résultat de cette confusion peut être grave ...


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

#10 Fri 10 February 2017 17:02

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

Re: QGIS & Plugin Cadastre & Majic & PostGis: Requêtes base cadastre

Salut,

j'ai mis le script dans un gist et je l'ai commenté :
https://gist.github.com/rossini-t/b02ea … e4d788901d

Mes remarques sont purement du point de vue SQL, je ne connais pas le modèle.
Elles sont identifiées par la ligne

Code:

-- Remarque

Dernière modification par tumasgiu (Fri 10 February 2017 17:10)

Hors ligne

 

#11 Mon 13 February 2017 16:30

hugues
Participant occasionnel
Lieu: Fontenay-aux-Roses
Date d'inscription: 6 Sep 2005
Messages: 30

Re: QGIS & Plugin Cadastre & Majic & PostGis: Requêtes base cadastre

Bonjour,

Je vous remercie tous de vos retours. Je vois que j'ai affaire à des spécialistes en la matière... je débute sur le requetage SQL.
M'intéressant particulièrement à cette requete qui correspond à mes besoins :

DROP TABLE IF EXISTS locaux;

CREATE TABLE locaux AS
SELECT parcelle
FROM parcelle;

ALTER TABLE locaux
    ADD COLUMN nlocmaison integer, -- Nombre de locaux de type maison
    ADD COLUMN nlocappt integer, -- Nombre de locaux de type appartement
    ADD COLUMN nlochabit integer, -- Nombre de locaux de type maison ou appartement
    ADD COLUMN nlocdep integer,-- Nombre de locaux de type dépendances
    ADD COLUMN nloccom integer, -- Nombre de locaux de type commercial ou industriel
    ADD COLUMN nloccomrdc integer, -- Nombre de locaux de type commercial ou industriel situés au rezdechaussée
    ADD COLUMN tlocdomin character varying(66), -- Type de local dominant sur la parcelle (en nombre)
    ADD COLUMN nlocal integer, -- Nombre de locaux
    ADD COLUMN noccprop integer, -- Nombre de logements occupés par le propriétaire
    ADD COLUMN nocclocat integer, -- Nombre de logements occupés par un locataire
    ADD COLUMN nlocsaison integer, --Nombre de logements meublés destinés à la location occasionnelle ou saisonnière
    ADD COLUMN nvacant integer, -- Nombre de logements vacants
    ADD COLUMN nresec integer; -- Estimation du nombre de résidences secondaires

-- nlocmaison : somme des locaux de type DTELOC = 1 sur la parcelle
-- nlocappt : somme des locaux de type DTELOC = 2 sur la parcelle
-- nlochabit : somme : nlocappt+nlocmaison
-- nlocdep : somme des locaux de type DTELOC = 3 sur la parcelle
-- nloccom : somme des locaux de type DTELOC = 4 sur la parcelle
-- nlocal : somme totale des locaux
UPDATE locaux T1 SET
    nlocmaison = T2.nlocmaison,
    nlocappt = T2.nlocappt,
    nlochabit = T2.nlochabit,
    nlocdep = T2.nlocdep,
    nloccom = T2.nloccom,
    nlocal = T2.nlocal
FROM(
    SELECT parcelle,
    COUNT(CASE dteloc
        WHEN '1' THEN 1
        ELSE NULL END) AS nlocmaison,
    COUNT(CASE dteloc
        WHEN '2' THEN 1
        ELSE NULL END) AS nlocappt,
    COUNT(CASE dteloc
        WHEN '1' THEN 1
        WHEN '2' THEN 1
        ELSE NULL END) AS nlochabit,
    COUNT(CASE dteloc
        WHEN '3' THEN 1
        ELSE NULL END) AS nlocdep,
    COUNT(CASE dteloc
        WHEN '4' THEN 1
        ELSE NULL END) AS nloccom,   
    COUNT(dteloc) AS nlocal
    FROM local10 GROUP BY parcelle)T2
WHERE T1.parcelle=T2.parcelle;


Je comprends l'idée de cette requête mais ne comprend ce qu'est T1 et T2... je suis débutant et vous remercie d'avance d'être compréhensif...

Merci

Hors ligne

 

#12 Mon 13 February 2017 16:53

Zenzile64
Juste Inscrit !
Lieu: Pau
Date d'inscription: 5 Mar 2010
Messages: 8

Re: QGIS & Plugin Cadastre & Majic & PostGis: Requêtes base cadastre

Bonjour,

Pour faire rapide, T1 = locaux et T2 = local10, cela permet de ne pas réécrire le nom de la table à chaque fois.

Hors ligne

 

#13 Mon 13 February 2017 17:04

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

Re: QGIS & Plugin Cadastre & Majic & PostGis: Requêtes base cadastre

Je vois que j'ai affaire à des spécialistes en la matière...


Je ne suis aucunement un expert ni du SQL, ni de PostGRES, ni des données MAJIC.

Mon avis est celui d'un utilisateur plus ou moins régulier de ces technos/données.

Pour ce qui est de votre requête :

coté SQL :
Dans une requête, vous pouvez déclarer vos tables grâce a des alias, ce que sont T1 et T2.
T1 est l'alias de la table local :

Code:

UPDATE locaux T1

qui est en fait une ecriture raccourcie de

UPDATE locaux AS T1


Pour T2 c'est un peu plus compliqué, c'est l'alias de la sous requête suivante :

Code:

    SELECT parcelle,
    COUNT(CASE dteloc
        WHEN '1' THEN 1
        ELSE NULL END) AS nlocmaison,
    COUNT(CASE dteloc
        WHEN '2' THEN 1
        ELSE NULL END) AS nlocappt,
    COUNT(CASE dteloc
        WHEN '1' THEN 1
        WHEN '2' THEN 1
        ELSE NULL END) AS nlochabit,
    COUNT(CASE dteloc
        WHEN '3' THEN 1
        ELSE NULL END) AS nlocdep,
    COUNT(CASE dteloc
        WHEN '4' THEN 1
        ELSE NULL END) AS nloccom,   
    COUNT(dteloc) AS nlocal
    FROM local10 GROUP BY parcelle

Une sous-requête, est une requête qui est évaluée
avant la requête principale qui l'englobe. Elle peut se déclarer dans la clause FROM,
et vous pouvez alors la considérer comme une table temporaire, qui n'existera que
le temps de l'exécution de la requête, dont vous pourrez vous servir dans votre requête principale,
exactement comme si elle était une "vraie" table.

Comme l'indique Zenzile, les alias permettent de nommer les tables, colonnes, et expressions.
Dans le cas des tables, c'est souvent utilisé pour simplifier le nom d'une table, afin que cela soit plus
pratique/lisible, ou par exemple, quand vous joignez une table avec elle même.

Dernière modification par tumasgiu (Mon 13 February 2017 17:30)

Hors ligne

 

#14 Tue 14 February 2017 11:18

hugues
Participant occasionnel
Lieu: Fontenay-aux-Roses
Date d'inscription: 6 Sep 2005
Messages: 30

Re: QGIS & Plugin Cadastre & Majic & PostGis: Requêtes base cadastre

Bonjour,

Je suis parvenu à mes fins!

Merci Tumagsiu et Zenzile.

Bonne journée

Hors ligne

 

#15 Wed 12 July 2017 14:15

anaisurba
Participant occasionnel
Date d'inscription: 16 Jun 2014
Messages: 19

Re: QGIS & Plugin Cadastre & Majic & PostGis: Requêtes base cadastre

Bonjour,

Comme Hugues l'explique, je souhaiterai également réaliser la même requête :
DROP TABLE IF EXISTS locaux;

CREATE TABLE locaux AS
SELECT parcelle
FROM parcelle;

ALTER TABLE locaux
    ADD COLUMN nlocmaison integer, -- Nombre de locaux de type maison
    ADD COLUMN nlocappt integer, -- Nombre de locaux de type appartement
    ADD COLUMN nlochabit integer, -- Nombre de locaux de type maison ou appartement
    ADD COLUMN nlocdep integer,-- Nombre de locaux de type dépendances
    ADD COLUMN nloccom integer, -- Nombre de locaux de type commercial ou industriel
    ADD COLUMN nloccomrdc integer, -- Nombre de locaux de type commercial ou industriel situés au rezdechaussée
    ADD COLUMN tlocdomin character varying(66), -- Type de local dominant sur la parcelle (en nombre)
    ADD COLUMN nlocal integer, -- Nombre de locaux
    ADD COLUMN noccprop integer, -- Nombre de logements occupés par le propriétaire
    ADD COLUMN nocclocat integer, -- Nombre de logements occupés par un locataire
    ADD COLUMN nlocsaison integer, --Nombre de logements meublés destinés à la location occasionnelle ou saisonnière
    ADD COLUMN nvacant integer, -- Nombre de logements vacants
    ADD COLUMN nresec integer; -- Estimation du nombre de résidences secondaires

-- nlocmaison : somme des locaux de type DTELOC = 1 sur la parcelle
-- nlocappt : somme des locaux de type DTELOC = 2 sur la parcelle
-- nlochabit : somme : nlocappt+nlocmaison
-- nlocdep : somme des locaux de type DTELOC = 3 sur la parcelle
-- nloccom : somme des locaux de type DTELOC = 4 sur la parcelle
-- nlocal : somme totale des locaux
UPDATE locaux T1 SET
    nlocmaison = T2.nlocmaison,
    nlocappt = T2.nlocappt,
    nlochabit = T2.nlochabit,
    nlocdep = T2.nlocdep,
    nloccom = T2.nloccom,
    nlocal = T2.nlocal
FROM(
    SELECT parcelle,
    COUNT(CASE dteloc
        WHEN '1' THEN 1
        ELSE NULL END) AS nlocmaison,
    COUNT(CASE dteloc
        WHEN '2' THEN 1
        ELSE NULL END) AS nlocappt,
    COUNT(CASE dteloc
        WHEN '1' THEN 1
        WHEN '2' THEN 1
        ELSE NULL END) AS nlochabit,
    COUNT(CASE dteloc
        WHEN '3' THEN 1
        ELSE NULL END) AS nlocdep,
    COUNT(CASE dteloc
        WHEN '4' THEN 1
        ELSE NULL END) AS nloccom,   
    COUNT(dteloc) AS nlocal
    FROM local10 GROUP BY parcelle)T2
WHERE T1.parcelle=T2.parcelle;

Mon objectif est d'avoir une table complète avec la parcelle, le(s) locaux présents, leur occupation,... mais je n'y parviens pas.

Etant donné que Hugues dit y être parvenu pourriez vous m'aider ?

En vous remerciant,

Hors ligne

 

#16 Wed 12 July 2017 14:54

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

Re: QGIS & Plugin Cadastre & Majic & PostGis: Requêtes base cadastre

Salut,

un peu plus de précision est souhaitable 
si vous espérez obtenir de l'aide sur un problème.

Hors ligne

 

#17 Wed 12 July 2017 15:54

anaisurba
Participant occasionnel
Date d'inscription: 16 Jun 2014
Messages: 19

Re: QGIS & Plugin Cadastre & Majic & PostGis: Requêtes base cadastre

Je travailles avec les données MAJIC sur une commune et je souhaiterai réaliser un référentiel foncier. SAuf qu'en utilisant le plug in cadastre je n'ai pas par exemple le type de local...

En fait pour essayer d'être claire, je n'arrive pas à faire des traitements hormis ceux déjà fait par la plug in et les requêtes simples du type : select parcelle from local10 where dnatlc='V'

Je voudrais donc créer une table la plus complète possible où j'aurai par parcelle : les locaux présents, les types de locaux, leur vacance... Mon objectif est juste de pouvoir observer le mode d'occupation des sols sur un secteur et repérer les espaces mutables (friches et/ou parcelles avec bâtis vacants)

Hors ligne

 

#18 Thu 13 July 2017 09:33

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

Re: QGIS & Plugin Cadastre & Majic & PostGis: Requêtes base cadastre

Vous devriez vous servir du MCD fourni afin de pouvoir construire la requête qui vous convient :

Hors ligne

 

#19 Wed 06 December 2017 23:37

Zorgas
Participant occasionnel
Date d'inscription: 26 Nov 2009
Messages: 16

Re: QGIS & Plugin Cadastre & Majic & PostGis: Requêtes base cadastre

Bonjour
Je reviens sur ce poste pour savoir qui a réussi à faire la requête car je n’y arrive toujours pas.
Si quelqu un voudrais bien nous aider à la concevoir .
Cordialement,

Hors ligne

 

Pied de page des forums

Powered by FluxBB