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é ?

#1 Thu 23 July 2015 11:36

legannec
Participant occasionnel
Lieu: Sainte-Marie-Aux-Mines
Date d'inscription: 8 Aug 2011
Messages: 39

QGIS 2.8 : Coup de pouce sur des requête de sélections et d'éditions

Bonjour à tous,

Etant néophyte sur Qgis 2.8, je cherche à automatiser quelques opérations de sélections et d'éditions.

1) j'ai deux couches de vecteurs, l'une comprenant des parcelles et l'autre, des ponctuels. Il y a parfois un ponctuel compris dans la parcelle et parfois plusieurs. Je cherche à sélectionner de façon automatique les parcelles qui contiennent plusieurs ponctuels.

2) j'ai deux autres couches de ponctuels A et B. Je cherche à créer automatiquement des lignes reliant le ponctuel de la couche A avec le ponctuel de la couche B par un critère de distance la plus courte.

Des idées ?

Merci d'avance.


legannec, Sigiste à la com'com du Val d'Argent

Hors ligne

 

#2 Tue 28 July 2015 10:16

mfangain
Participant actif
Date d'inscription: 12 Jun 2012
Messages: 88

Re: QGIS 2.8 : Coup de pouce sur des requête de sélections et d'éditions

Bonjour,

Pour le premier point, vous pouvez passer par la fonction "Points dans un polygone" accessible dans le menu Vecteur / Outils d'analyse.
Elle créera pour vos parcelles un champ avec le nombre de points contenus dans la parcelle, il vous suffira ensuite de rechercher les parcelles dont ce champ est différent de 0 ou 1.
Par contre, attention, si vous créez de nouveaux points, le champs ne se mettra pas à jour automatiquement.

Je ne connais pas de fonction pour le 2e point sous QGIS.

MFANGAIN

Hors ligne

 

#3 Tue 28 July 2015 11:03

Pierre Vivet
Participant occasionnel
Lieu: Ornans
Date d'inscription: 29 May 2015
Messages: 18
Site web

Re: QGIS 2.8 : Coup de pouce sur des requête de sélections et d'éditions

Bonjour,

Pour votre second point, vous pouvez voir le post suivant :
http://georezo.net/forum/viewtopic.php?id=93832

Je n'ai pas vérifié la solution proposée, mais elle semble bien répondre à votre problème.

Pierre

Hors ligne

 

#4 Tue 28 July 2015 11:38

MathieuB
Membre du bureau
Lieu: Montpellier
Date d'inscription: 18 Jan 2006
Messages: 1228
Site web

Re: QGIS 2.8 : Coup de pouce sur des requête de sélections et d'éditions

Si j'en crois un post précédent, vos données sont stockées dans PostGIS non ?

Si c'est le cas, l'utilisation de requêtes SQL vous facilitera grandement le travail.

Par exemple pour votre 1ere question :

Code:

SELECT parcelles.id, count(ponctuels.id), parcelles.geom
FROM parcelles JOIN ponctuels ON st_intersects(parcelles.geom, ponctuels.geom)
HAVING  count(ponctuels.id)>1

Mathieu BOSSAERT
Association GeoRezo

Hors ligne

 

#5 Wed 29 July 2015 09:17

legannec
Participant occasionnel
Lieu: Sainte-Marie-Aux-Mines
Date d'inscription: 8 Aug 2011
Messages: 39

Re: QGIS 2.8 : Coup de pouce sur des requête de sélections et d'éditions

Bonjour,

@MFANGAIN : c'est rapide et cela fonctionne bien, la manip génère en plus une nouvelle couche contenant les résultats.


@Pierre : c'est exactement ce que je cherchais. Par contre, il me faut un identifiant commun aux deux couches.

N'existe t'il pas une requête afin de mettre à jour un nouveau champs de ma couche B en rapatriant l'identifiant de ma couche A par une jointure spatiale sur le principe de l'entité la plus proche ?


@Mathieu : c'est justement le genre de manip que nous cherchons à développer. Nous sommes effectivement en train de migrer nos données vers une solution PostgreSQL / Postgis / Qgis. Du coup, on cherche à acquérir les connaissances de base, comme à quel endroit doit-on exécuter la requête SQL ?


La requête est-elle possible si les entités se trouvent dans de 2 BDD différentes ?

1ère couche de Polygones : Parcelles (dbname='CADASTRE')

2ème couche de Points : f_rit_regard (dbname='RIT')


Merci pour vos réponses,

Dernière modification par legannec (Wed 29 July 2015 09:38)


legannec, Sigiste à la com'com du Val d'Argent

Hors ligne

 

#6 Wed 29 July 2015 10:28

MathieuB
Membre du bureau
Lieu: Montpellier
Date d'inscription: 18 Jan 2006
Messages: 1228
Site web

Re: QGIS 2.8 : Coup de pouce sur des requête de sélections et d'éditions

Concernant les requêtes SQL sur une base PostgreSQL/PostGIS, elles peuvent être écrites dans l'une des interfaces "livrées" avec PostgreSQL  : PgAdmin3 et psql (en console), ou dans la fenêtre SQL du gestionnaire de bases de données de QGis.

Dans le premier cas, vous pouvez créer une vue avec votre requête et l'afficher dans QGis, les données visibles seront toujours à jour. La requête est calculée à chaque appel de la vue :

Code:

CREATE VIEW parcelles_a_plusieurs_ponctuels AS 
SELECT parcelles.id, count(ponctuels.id), parcelles.geom
FROM parcelles JOIN ponctuels ON st_intersects(parcelles.geom, ponctuels.geom)
HAVING  count(ponctuels.id)>1

La vue parcelles_a_plusieurs_ponctuels sera alors disponible dans QGis comme n'importe quelle autre table.

Nous irons plus loin dans cette discussion sur le forum GéoBD.

Bonne continuation.


Mathieu BOSSAERT
Association GeoRezo

Hors ligne

 

#7 Wed 29 July 2015 11:00

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3930

Re: QGIS 2.8 : Coup de pouce sur des requête de sélections et d'éditions

Bonjour,

legannec a écrit:

@Pierre : c'est exactement ce que je cherchais. Par contre, il me faut un identifiant commun aux deux couches.

N'existe t'il pas une requête afin de mettre à jour un nouveau champs de ma couche B en rapatriant l'identifiant de ma couche A par une jointure spatiale sur le principe de l'entité la plus proche ?


Regardez du côté de l'extension SpatialJoin ou NNJoin (pas récemment testé pour affirmer lequel est le mieux adapté mais tous apparient des entités entre autres, selon le plus proche voisin, et même de façon dynamique si les données évoluent).

Hors ligne

 

#8 Wed 29 July 2015 14:31

legannec
Participant occasionnel
Lieu: Sainte-Marie-Aux-Mines
Date d'inscription: 8 Aug 2011
Messages: 39

Re: QGIS 2.8 : Coup de pouce sur des requête de sélections et d'éditions

@SANTANNA : Grâce aux extensions RefFunctions, spatialJoin et MMQGIS, j'ai pu éditer des lignes de façon simple et automatique entre deux différentes couches de ponctuels, merci.

Dernière modification par legannec (Wed 29 July 2015 14:32)


legannec, Sigiste à la com'com du Val d'Argent

Hors ligne

 

Pied de page des forums

Powered by FluxBB