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 Mon 27 October 2014 13:39

tipianotte
Juste Inscrit !
Date d'inscription: 7 Aug 2014
Messages: 8

QGIS 2.4 : jointure attribut inexistant/réaliser calcul dans polygone

Bonjour,

Je travaille sous qgis 2.4 et j'ai deux soucis que je n'arrive pas à résoudre malgré mes recherches sur le net.
1. J'ai un fichier excel sans coordonnées X et Y mais avec des mailles. Pour le transformer en shp dans qgis quand je veux faire "joindre les attributs"  dans vecteur et outils de gestion de données et bien je n'ai pas cette fonction. J'ai "joindre les attributs par localisation" mais ça ne m'intéresse pas vu que je n'ai pas de coordonnées géographiques. Sur les versions antérieures il y avait cette fonction et je me dis qu'elle est forcément quelque part mais impossible de la trouver dans le logiciel 2.4. C'est passé où ça maintenant?
2.Deuxième problème. Je travaille avec des mailles de 10x10km (500 en tout). J'ai des données d'espèces de libellules sur mes mailles et je voudrais savoir combien j'ai d'espèces par mailles. J'ai réussi à calculer combien j'avais de données par mailles mais pour le nombre d'espèces je ne vois pas comment faire. Si quelqu'un peut me l'expliquer ce serait super car là je sèche complètement.
Merci

Virginie

Hors ligne

 

#2 Mon 27 October 2014 15:29

cyrille
Participant assidu
Date d'inscription: 7 Feb 2006
Messages: 394

Re: QGIS 2.4 : jointure attribut inexistant/réaliser calcul dans polygone

@tipianotte, j'ai le même besoin.
J'imagine que tu as des libellules en ponctuel et tes mailles
Je suis passé par spatialite. Maintenant je me demande si c'est la bonne méthode.
Voilà ce que j'essaie de faire.
Faire une jointure spatiale de facon ajouter le numero de la maille à la table attributaire des libellules.
Ensuite passer sous excel et faire les traitements via un tableau croisé dynamique.
Tu recapitules les infos à la maille et tu verras que tout est bcq plus simple.
Ensuite tu sauvegarde ton tableau croisé dynamique, le met sous Qgis et fais la jointure avec la tables des mailles.
Tu sauvegardes tout ca au format shape et la tu peux faire tes legendes.
Et tu te rend compte que Qgis te limites smile)

Hors ligne

 

#3 Mon 27 October 2014 16:15

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

Re: QGIS 2.4 : jointure attribut inexistant/réaliser calcul dans polygone

Bonjour Cyrille,

Utiliser spatialite pour calculer le nombre d'espèces présentes dans chaque maille et la liste de ces espèces est une bonne solution, que tu peux simplifier :

Code:

SELECT grille.id, count(distinct "nom_latin") AS nombre_esepeces, group_concat(distinct "nom_latin") as liste_especes, grille.geom
FROM "grille", "obs_libellules"
WHERE st_intersects(grille.geom, obs_libellules.geom)
GROUP BY grille.id, grille.geom

Il reste à en faire une vue que tu affiches dans QGis selon la symbologie que tu souhaites.

Code:

CREATE VIEW grille_synthese AS
SELECT grille.id, count(distinct "nom_latin") AS nombre_esepeces, group_concat(distinct "nom_latin") as liste_especes, grille.geom
FROM "grille", "obs_libellules"
WHERE st_intersects(grille.geom, obs_libellules.geom)
GROUP BY grille.id, grille.geom;

INSERT INTO views_geometry_columns
    (view_name, view_geometry, view_rowid, f_table_name, f_geometry_column,read_only)
  VALUES ('grille_synthese', 'geom', 'id', 'grille', 'geom',1);

La clause distinct permet de ne pas compter ou lister 2 fois une même valeur.

Et là tu te rends compte... ;-)


Mathieu BOSSAERT
Association GeoRezo

Hors ligne

 

#4 Mon 27 October 2014 16:48

cyrille
Participant assidu
Date d'inscription: 7 Feb 2006
Messages: 394

Re: QGIS 2.4 : jointure attribut inexistant/réaliser calcul dans polygone

Bonjour Mathieu,
jusque là tout va bien.
reste a representer tout ca et là...
j'ai d'ailleurs ouvert un autre post smile

Hors ligne

 

#5 Mon 27 October 2014 16:59

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

Re: QGIS 2.4 : jointure attribut inexistant/réaliser calcul dans polygone

Bonjour,
pour la question 1, la fonction "Joindre les attributs" se trouve dans les propriétés de la couche shp, onglet Jointure.
Pour la 2, l'extension Group Stats (qui permet de faire des tableaux croisés dynamiques sans passer par Excel) propose une fonction "Unique". Peut-être une piste à voir. Par contre, je crois qu'il faudra de toute manière exporter puis joindre si tu veux faire des représentations carto avec cette info.

Hors ligne

 

#6 Mon 27 October 2014 17:36

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

Re: QGIS 2.4 : jointure attribut inexistant/réaliser calcul dans polygone

cyrille a écrit:

Bonjour Mathieu,
jusque là tout va bien.
reste a representer tout ca et là...
j'ai d'ailleurs ouvert un autre post smile


Tu parles du post sur les grilles ?
http://georezo.net/forum/viewtopic.php?id=94246


Mathieu BOSSAERT
Association GeoRezo

Hors ligne

 

#7 Mon 27 October 2014 17:46

cyrille
Participant assidu
Date d'inscription: 7 Feb 2006
Messages: 394

Re: QGIS 2.4 : jointure attribut inexistant/réaliser calcul dans polygone

Oui !
Je voudrais montrer les concentrations d'entreprises.
exemple si j'ai 6000 entreprises sur le territoire, je voudrais 10 classes avec 600 entreprises par classes.
tout en haut de la legende j'ai les plus importantes concentrations
ex 1 cellule avec 600 entreprises
puis 2/3 cellules pour un total de 600
etc...
a la fin les cellules restantes 30 / 40 cellules pour arriver à 600 entreprises (ou libellules) !
Pardon pour le post qui n'est pas le mien à l'origine.
Mais je pense que la representation peut aider tipianotte. A mon avis Qgis ne fait pas ca.

Hors ligne

 

#8 Tue 28 October 2014 10:00

tipianotte
Juste Inscrit !
Date d'inscription: 7 Aug 2014
Messages: 8

Re: QGIS 2.4 : jointure attribut inexistant/réaliser calcul dans polygone

Bonjour,

ok, merci à tous pour vos réponses mais le problème c'est que je ne suis pas à votre niveau loin de là et que du coup je comprends pas trop ce que je dois faire. Bref, j'ai téléchargé les extension spatialite mais comme il semble que ce soit des requêtes codées qu'il faille écrire je sens que ça va vite être vu. Et j'ai aussi mis l'extension Group stats qui ne me semble pas plus clair au niveau de l'utilisation mais je vais persévérer et essayer de m'en sortir avec tout ça et vos infos. En attendant je suis en train de trier les données sur excel avec un tableau croisé dynamique pour essayer d'alléger mes données.
Merci

Hors ligne

 

#9 Tue 28 October 2014 10:15

tipianotte
Juste Inscrit !
Date d'inscription: 7 Aug 2014
Messages: 8

Re: QGIS 2.4 : jointure attribut inexistant/réaliser calcul dans polygone

SANTANNA a écrit:

Bonjour,
pour la question 1, la fonction "Joindre les attributs" se trouve dans les propriétés de la couche shp, onglet Jointure.
Pour la 2, l'extension Group Stats (qui permet de faire des tableaux croisés dynamiques sans passer par Excel) propose une fonction "Unique". Peut-être une piste à voir. Par contre, je crois qu'il faudra de toute manière exporter puis joindre si tu veux faire des représentations carto avec cette info.


Bonjour Santana,

Pour joindre des attributs je suis passée par la fonction de jointure depuis les propriétés de la couche le problème c'est que je ne peux que joindre des attributs de fichiers shape de mon projet. Or je veux joindre un attribut entre un shp et un fichier csv. Sauf que je n'ai pas la possibilité d'aller chercher un csv dans mes fichiers. C'est là mon problème.

Hors ligne

 

#10 Tue 28 October 2014 10:42

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

Re: QGIS 2.4 : jointure attribut inexistant/réaliser calcul dans polygone

Bonjour Virginie,

tu peux ajouter un csv à ton projet en utilisant "ajouter une couche de texte délimité" puis le joindre à ton fichier shp.


Mathieu BOSSAERT
Association GeoRezo

Hors ligne

 

#11 Tue 28 October 2014 13:40

tipianotte
Juste Inscrit !
Date d'inscription: 7 Aug 2014
Messages: 8

Re: QGIS 2.4 : jointure attribut inexistant/réaliser calcul dans polygone

Bonjour Mathieu,
Merci pour ta réponse. Je sais que je peux ouvrir mon csv comme ça le problème c'est que ce fichier n'a pas de coordonnées X et Y, seulement des noms de mailles 10X10km. Ce qui fait que lorsque je veux l'ouvrir je ne peux pas lui donner de coordonnées. Donc j'ai l'ai ouvert en spécifiant "pas de géométrie juste la table" histoire que ce fichier apparaissent quand même dans mon projet qgis. J'ai ensuite voulu joindre les tables d'attribut avec un autre fichier shape qui lui aussi ne possède pas de coordonnées XY mais aussi des noms mailles. Et là en fait la table attributaire était totalement fausse. C'est donc là que je coince. J'ai toujours ouvert des fichiers csv qui avaient des coordonnées XY, jamais avec des localisations de mailles. C'est pour ça (entre autres) que je coince. En gros, je ne sais pas comment ouvrir mon csv pour qu'il soit projeté dans mon projet. On me dit de joindre la table attributaire! Je sais bien ça aussi puisque que je l'ai déjà eu fait. Mais le problème c'est que dans "propriété de la couche" à "jointure", en appuyant sur le + si je prends la table d'attribut de mon csv et bien après ma table est totalement fausse. J'ai l'impression de tourner en rond!!

Hors ligne

 

Pied de page des forums

Powered by FluxBB