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

Printemps des cartes 2024

#1 Wed 27 July 2016 18:50

pje33
Juste Inscrit !
Date d'inscription: 15 Jan 2016
Messages: 4

QGIS 2.8.9: Mettre à jour table avec champ d'une autre table

Bonjour,
Je suis nouveau sur Qgis , j'ai utilisé Mapinfo pendant des années et j'ai un peu de mal pour le moment je dois avouer.

C’est une question toute bête mais je me demande si Qgis en est capable. J'ai fait pas mal de recherche mais je ne trouve pas la réponse adéquate.
En gros je voudrais mettre à jour un champ de ma table parcelle avec une couche bâti. En gros j'ai des bâtiments qui sont à cheval sur du parcellaire et je voudrai avoir la part que représente chaque bâtiment dans chacune des parcelles pour ensuite calculer une densité. Mapinfo le faisait très bien mais malheureusement on ne s'en sert plus.

Est-ce que Qgis en est capable?

Merci d'avance

Hors ligne

 

#2 Thu 28 July 2016 09:55

Xavier Julian
Participant assidu
Lieu: Orange
Date d'inscription: 19 Jan 2015
Messages: 218

Re: QGIS 2.8.9: Mettre à jour table avec champ d'une autre table

Bonjour,

Je pense qu'il va falloir découper vos bâtiments en fonction de vos parcelles : menu vecteur -> outils de géo-traitements -> intersection.
Ensuite si vous souhaitez joindre des informations, vous pouvez faire une jointure spatiale : menu vecteur -> outil de gestion des données -> joindre des attributs par localisation.

++

Hors ligne

 

#3 Thu 28 July 2016 10:57

Xavier Julian
Participant assidu
Lieu: Orange
Date d'inscription: 19 Jan 2015
Messages: 218

Re: QGIS 2.8.9: Mettre à jour table avec champ d'une autre table

Une autre piste :

Je viens de voir qu'il existe un outil point dans un polygone (menu vecteur -> outils d'analyse).
Si vous transformez votre fichier bâtiments en points, avec l'outil centroïde de polygone par exemple, vous obtiendrez ainsi un champ somme des points dans la couche parcelle.

Hors ligne

 

#4 Thu 28 July 2016 11:27

pje33
Juste Inscrit !
Date d'inscription: 15 Jan 2016
Messages: 4

Re: QGIS 2.8.9: Mettre à jour table avec champ d'une autre table

Bonjour
Merci de votre aide.
Je viens de réaliser la 1ere opération
Par contre je me rend compte que sur la nouvelle table crée on ne retrouve que les champs de la couche bâti
Je voudrai garder les champs de la couche parcelle et simplement mettre à jour une colonne. Est-ce possible ?

Dernière modification par pje33 (Thu 28 July 2016 11:28)

Hors ligne

 

#5 Thu 28 July 2016 11:51

Xavier Julian
Participant assidu
Lieu: Orange
Date d'inscription: 19 Jan 2015
Messages: 218

Re: QGIS 2.8.9: Mettre à jour table avec champ d'une autre table

C'est curieux.
Quand je réalise une jointure par localisation, je retrouve bien dans le fichier de sortie les attributs de la couche cible + ceux de la couche jointe...

Au passage, je n'avais pas remarqué, mais il y a une option pour gérer les attributs des entités intersectées.
Si les attributs qui vous intéressent sont de type nombre, cela évite de passer par une couche intermédiaire issue de l'outil intersection.

Hors ligne

 

#6 Thu 28 July 2016 11:51

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

Re: QGIS 2.8.9: Mettre à jour table avec champ d'une autre table

Bonjour,
@Xavier Julian, avec la seconde piste, je ne pense pas qu'on pourrait calculer la surface de bâtiment en superposition. On peut à la rigueur compter le nombre de bâtiments et encore, en cas de chevauchement, il n'y a qu'une parcelle qui récupérera le point au lieu des deux concernées.

L'option de l'intersection me semble être la bonne, permettant d'associer à chaque bout de bâtiment la parcelle qui la porte. Étant donné que l'information de la parcelle est déjà liée au bout de bâtiment, point besoin de faire une jointure spatiale. Il vous faudra par contre traiter le tableau avec une extension telle que GroupStats pour remettre en forme les statistiques par parcelle (un peu comme avec un tableau croisé dynamique d'Excel). Je pense que vous devriez pouvoir trouver des discussions de ce genre sur le forum.

Après, avec la version 2.16 et ses fonctions d'agrégat, je pense que ceci peut être fait en un trait. Voir http://qgis.org/fr/site/forusers/visual … xpressions exemple 3. Mais bon, on n'est plus sur la même version.

Hors ligne

 

#7 Thu 28 July 2016 12:01

pje33
Juste Inscrit !
Date d'inscription: 15 Jan 2016
Messages: 4

Re: QGIS 2.8.9: Mettre à jour table avec champ d'une autre table

Xavier Julian a écrit:

C'est curieux.
Quand je réalise une jointure par localisation, je retrouve bien dans le fichier de sortie les attributs de la couche cible + ceux de la couche jointe...

Au passage, je n'avais pas remarqué, mais il y a une option pour gérer les attributs des entités intersectées.
Si les attributs qui vous intéressent sont de type nombre, cela évite de passer par une couche intermédiaire issue de l'outil intersection.


Autant pour moi les attributs des 2 couches sont bien là
Par contre mes surfaces de bâti ne se sont pas additionnés sur ma nouvelle couche créé... Au contraire ça retombe à 0...
De quelle option parlez vous ?

Hors ligne

 

#8 Thu 28 July 2016 12:05

pje33
Juste Inscrit !
Date d'inscription: 15 Jan 2016
Messages: 4

Re: QGIS 2.8.9: Mettre à jour table avec champ d'une autre table

SANTANNA a écrit:

Bonjour,
L'option de l'intersection me semble être la bonne, permettant d'associer à chaque bout de bâtiment la parcelle qui la porte. Étant donné que l'information de la parcelle est déjà liée au bout de bâtiment, point besoin de faire une jointure spatiale. Il vous faudra par contre traiter le tableau avec une extension telle que GroupStats pour remettre en forme les statistiques par parcelle (un peu comme avec un tableau croisé dynamique d'Excel). Je pense que vous devriez pouvoir trouver des discussions de ce genre sur le forum.


Bonjour,
Merci de votre aide.
Le problème est que j'ai plusieurs parcelles portant le même nom sur ma table parcelle du coup impossible de faire la jointure avec la couche bâti sans passer par une requête spatiale...

Hors ligne

 

#9 Thu 28 July 2016 12:53

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

Re: QGIS 2.8.9: Mettre à jour table avec champ d'une autre table

Par contre mes surfaces de bâti ne se sont pas additionnés sur ma nouvelle couche créé... Au contraire ça retombe à 0...
De quelle option parlez vous ?


L'intersection va créer une couche contenant les parties communes aux deux couches, SANS modification de leurs attributs d'origine. donc il faudra calculer la surface des différentes portions ($area) pour avoir des données justes.

Le problème est que j'ai plusieurs parcelles portant le même nom sur ma table parcelle du coup impossible de faire la jointure avec la couche bâti sans passer par une requête spatiale


Vous parlez :
- de la couche parcelle d'origine (auquel cas, il vous faudra dans tous les cas créer un champ unique pour chaque entité à moins que l'agrégation que vous souhaitez faire correspond au nom)
- ou de la couche obtenue après intersection (ce qui est normal vu qu'une parcelle sera découpée - et donc son nom répété - autant de fois qu'il est chevauché par un bâtiment)?

Je ne suis pas sûr de comprendre le désir de faire une jointure spatiale étant donné que l'intersection fait quelque part déjà cette jointure. Ce qu'il vous faut, c'est regrouper les lignes où le même numéro de parcelle apparait en une seule ligne et faire la somme des surfaces des objets (bâtiments notamment). C'est ce à quoi aide GroupStats. Une fois cela fait, vous pourrez faire une jointure classique pour rapatrier les surfaces dans votre couche parcelle de départ.
Je conviens avec vous que la démarche n'est pas aussi fluide qu'avec MI (en tout cas, pas sous <2.16)

Hors ligne

 

Pied de page des forums

Powered by FluxBB