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 10 February 2023 10:03

Bourcetto
Juste Inscrit !
Date d'inscription: 9 Feb 2023
Messages: 5

QGIS: Creation Couche vecteur en lien avec un fichier XLS

Bonjour à tous!

Je suis débutant sur QGIS et je veux réaliser un projet pour mon boulot. Le but à terme est de réaliser une carte dynamique faisant apparaitre un certain nombres de points regroupant plusieurs infos importantes.

Pour commencer, j'ai donc essayer de créer une couche de points à partir d'un fichier excel (fichier qui ne comporte qu'une colonne longitude et une latitude pour l'instant). J'aimerais maintenant trouver une solution pour lier mon fichier excel à ma couche de point, de sorte que quand je modifie mon fichier Excel (ajout de ligne, modification de valeur, etc.) la couche soit modifiée également. Est ce possible?

J'ai tenté cela en essayant de lier mon fichier excel à une couche que j'ai créé directement sur QGIS avec seulement une colonne ID pour pouvoir lier mon excel à cette couche (la colonne ID match avec une colonne Numéro dans mon fichier excel pour faire la liaison). Seulement en faisant cela, je n'arrive même pas à afficher les points que j'ai sur ma couche sur la carte.

J'espère que quelqu'un pourra m'aider pour ce projet!

Merci d'avance et à bientôt!

Hors ligne

 

#2 Mon 13 February 2023 14:52

Alban Kraus
Participant actif
Lieu: Tulle (19)
Date d'inscription: 13 Jan 2022
Messages: 57

Re: QGIS: Creation Couche vecteur en lien avec un fichier XLS

Bonjour,

TL;DR (résumé) : utilisez un tableau CSV.

Je comprends que vous avez une couche dans QGIS (au format ESRI ShapeFile ?) contenant une géométrie de type point et une colonne "ID", et un fichier Excel contenant les colonnes Numéro, Latitude, Longitude, et d'autres informations. Je suppose que vous avez fait une jointure attributaire qui rapproche les attributs Latitude, Longitude, et Autres issus de votre fichier Excel vers votre couche QGIS. Je vois donc que vous allez avoir trois problèmes :

1°) que QGIS utilise les colonnes jointes Latitude et Longitude pour localiser le point ;

2°) que la couche correspondant au tableur Excel soit automatiquement rechargée ;

3°) qu'à chaque Numéro corresponde au moins un ID.

Sur le premier point, la jointure attributaire de QGIS n'est pas capable de détecter qu'une colonne jointe (a fortiori, plusieurs) est en fait une localisation. Il vous faudra alors utiliser sur cette couche un symbole de type Générateur de géométrie, avec un type de géométrie Point et la formule make_point("Longitude", "Latitude") ; puis, paramétrer la couche dans un système de coordonnées géographique par exemple EPSG:4326.

Sur le second point, je ne pense pas que QGIS soit capable de recharger automatiquement des tableaux Excel, il vous faudra cliquer sur la double flèche Actualiser.

Seulement en faisant cela, je n'arrive même pas à afficher les points que j'ai sur ma couche sur la carte.


Sur le troisième point, il faut que tous les Numéros que vous voulez voir aient un ID dans la couche QGIS. À chaque fois que vous rajouterez une ligne dans votre Excel, dans QGIS vous devrez modifier la couche pour rajouter une entité ayant pour ID le Numéro de la nouvelle ligne.

Félicitations pour avoir tenté quelque chose, mais ce chemin que vous tentez d'emprunter est complexe. Je vous indique maintenant la manière habituelle de procéder :

1. vous concevez dans Excel votre tableur Excel avec les colonnes Latitude, Longitude, et Autres ; mettez les titres de colonne en ligne 1, et assurez-vous qu'ils n'ont pas de retour à la ligne ;

2. vous enregistrez votre tableur Excel au format CSV (séparateur: point-virgule). Vous acceptez de perdre toute la mise en forme ;

3. dans QGIS, Couche > Ajoutez une couche > Ajoutez une couche de texte délimité ;

4. encodage : windows-1252 (si vous êtes sous Windows), format : délimiteurs personnalisés : point-virgule, en-têtes en 1ère ligne, géométrie : point, champ X : Longitude, champ Y : Latitude, SCR : EPSG:4326, Surveiller le fichier. Ajoutez ;

5. désormais, dès que vous modifierez votre tableau CSV dans Excel, après enregistrement, les points apparaîtront sur QGIS et les données attributaires seront actualisées. Si vous modifiez les titres des colonnes, il faudra fermer et rouvrir votre projet QGIS.

Bon courage.

Hors ligne

 

#3 Tue 14 February 2023 17:03

Bourcetto
Juste Inscrit !
Date d'inscription: 9 Feb 2023
Messages: 5

Re: QGIS: Creation Couche vecteur en lien avec un fichier XLS

Alban Kraus a écrit:

Bonjour,

TL;DR (résumé) : utilisez un tableau CSV.

Je comprends que vous avez une couche dans QGIS (au format ESRI ShapeFile ?) contenant une géométrie de type point et une colonne "ID", et un fichier Excel contenant les colonnes Numéro, Latitude, Longitude, et d'autres informations. Je suppose que vous avez fait une jointure attributaire qui rapproche les attributs Latitude, Longitude, et Autres issus de votre fichier Excel vers votre couche QGIS. Je vois donc que vous allez avoir trois problèmes :

1°) que QGIS utilise les colonnes jointes Latitude et Longitude pour localiser le point ;

2°) que la couche correspondant au tableur Excel soit automatiquement rechargée ;

3°) qu'à chaque Numéro corresponde au moins un ID.

Sur le premier point, la jointure attributaire de QGIS n'est pas capable de détecter qu'une colonne jointe (a fortiori, plusieurs) est en fait une localisation. Il vous faudra alors utiliser sur cette couche un symbole de type Générateur de géométrie, avec un type de géométrie Point et la formule make_point("Longitude", "Latitude") ; puis, paramétrer la couche dans un système de coordonnées géographique par exemple EPSG:4326.

Sur le second point, je ne pense pas que QGIS soit capable de recharger automatiquement des tableaux Excel, il vous faudra cliquer sur la double flèche Actualiser.

Seulement en faisant cela, je n'arrive même pas à afficher les points que j'ai sur ma couche sur la carte.


Sur le troisième point, il faut que tous les Numéros que vous voulez voir aient un ID dans la couche QGIS. À chaque fois que vous rajouterez une ligne dans votre Excel, dans QGIS vous devrez modifier la couche pour rajouter une entité ayant pour ID le Numéro de la nouvelle ligne.

Félicitations pour avoir tenté quelque chose, mais ce chemin que vous tentez d'emprunter est complexe. Je vous indique maintenant la manière habituelle de procéder :

1. vous concevez dans Excel votre tableur Excel avec les colonnes Latitude, Longitude, et Autres ; mettez les titres de colonne en ligne 1, et assurez-vous qu'ils n'ont pas de retour à la ligne ;

2. vous enregistrez votre tableur Excel au format CSV (séparateur: point-virgule). Vous acceptez de perdre toute la mise en forme ;

3. dans QGIS, Couche > Ajoutez une couche > Ajoutez une couche de texte délimité ;

4. encodage : windows-1252 (si vous êtes sous Windows), format : délimiteurs personnalisés : point-virgule, en-têtes en 1ère ligne, géométrie : point, champ X : Longitude, champ Y : Latitude, SCR : EPSG:4326, Surveiller le fichier. Ajoutez ;

5. désormais, dès que vous modifierez votre tableau CSV dans Excel, après enregistrement, les points apparaîtront sur QGIS et les données attributaires seront actualisées. Si vous modifiez les titres des colonnes, il faudra fermer et rouvrir votre projet QGIS.

Bon courage.


Merci beaucoup pour ces informations et cette réponse détaillée!
J'ai tenté aujourd'hui de faire comme indiqué mais cela ne fonctionne pas... J'ai fais exactement les mêmes manipulations mais lorsque j'ajoute la couche, QGIS n'ajoute pas des points. J'ai l'impression qu'il n'ajoute que la tableau. D'ailleurs, lorsque je clique sur "afficher le nombre d'identités" il affiche "0" alors j'ai fais un doc à 19 lignes pour faire mes tests. Avez vous une idée du problème que je rencontre et comment le solutionner?
Merci d'avance!

Hors ligne

 

#4 Wed 15 February 2023 09:17

Alban Kraus
Participant actif
Lieu: Tulle (19)
Date d'inscription: 13 Jan 2022
Messages: 57

Re: QGIS: Creation Couche vecteur en lien avec un fichier XLS

Bonjour,

QGIS n'ajoute pas des points.


4. [...] géométrie : point, champ X : Longitude, champ Y : Latitude, SCR : EPSG:4326 [...]


Il m'arrive aussi d'oublier cette étape : lors de l'ajout de la couche CSV, dans Définition de la géométrie, avez-vous bien sélectionné « point » ? Avez-vous bien paramétré un SCR géographique tel EPSG:4326 ?

Que se passe-t-il si vous faites Zoom sur la couche ?

Afin d'aider la communauté à vous aider, je vous conseille de joindre à votre réponse votre projet QGIS (et si elles sont publiques, les données CSV, mais on peut s'en passer dans un premier temps). Fournissez également une capture d'écran de la fenêtre d'ajout de couche de texte délimité, où l'on peut voir dans l'échantillon de données les colonnes Latitude et Longitude (barbouillez au besoin les autres colonnes).

Hors ligne

 

Pied de page des forums

Powered by FluxBB