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 !.
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Le GeoRezo vous souhaite une bonne année 2020 !

voeux2020

#1 Thu 28 November 2019 14:36

Lorran
Membre
Lieu: Mulhouse
Date d'inscription: 10 Dec 2007
Messages: 8

QGIS 3.4: ATLAS - Recuperation des Nos des feuilles adjacentes

Bonjour à toutes et tous,

je suis en train de paramétrer un atlas sous QGIS.

La couche "Feuille 5000" est utilisée comme couche de récupération.
Les objets de la couche "Feuille 5000" sont des rectangles se recouvrant en haut et en bas. Ils sont identifiés par un attribut "Numéro de feuille".

Je souhaite récupérer et afficher les N° des 4 feuilles en haut, en bas, à gauche et à droite.

J'ai créé 4 textes dans ma composition et j'imagine qu'il faut saisir une expression pour  récupérer la valeur de l'attribut "Numéro de feuille" de la feuille à proximité. Pour les feuilles hautes et basses, il s'agit de récupérer le ""Numéro de feuille" de la feuille intersectante. Pour les feuilles droite et gauche, il s'agit de récupérer les feuilles adjacentes.

Quelqu'un a t'il déjà fait quelque chose d'approchant?
La démarche est elle bonne?

Merci pour vos contributions, Bien à vous, Bertrand

Hors ligne

 

#2 Thu 28 November 2019 15:18

GlaDal
Membre
Date d'inscription: 30 Aug 2013
Messages: 320

Re: QGIS 3.4: ATLAS - Recuperation des Nos des feuilles adjacentes

Bonjour Lorran,

Je n'ai pas encore réussi à faire ça dans le composeur. Par contre, c'est possible en paramétrant correctement l'étiquetage de ta couche "Feuille 5000". Perso, je duplique cette couche de couverture 3 fois (pour en avoir 4 en tout) et sur chacune j'affiche le nom de la couche en appliquant suivant la couche un delta de décalage soit à droit, soit en haut, soit en bas, soit à gauche. C'est pas forcément clair. Si besoin je ferai mieux au prochain message.

Hors ligne

 

#3 Thu 28 November 2019 15:32

Lorran
Membre
Lieu: Mulhouse
Date d'inscription: 10 Dec 2007
Messages: 8

Re: QGIS 3.4: ATLAS - Recuperation des Nos des feuilles adjacentes

Bonjour Gladal.

Je vois ce que tu fais.

Je cherchais peut être quelque chose de trop compliqué. Il faut que je fasse des essais.

Merci en tout cas pour ta réponse

Hors ligne

 

#4 Thu 28 November 2019 16:55

nitram
Membre
Lieu: Brest
Date d'inscription: 19 May 2009
Messages: 972
Site web

Re: QGIS 3.4: ATLAS - Recuperation des Nos des feuilles adjacentes

Bonjour,

Où souhaitez-vous afficher ces numéros?
C'est du texte libre en légende?

Si c'est au sein de la carte, ce dont je doute un peu, il vous suffit de masquer l'entité courante de l'atlas ( "Numéro de feuille"  <>  @atlas_featurenumber), pour faire apparaitre seulement les entités voisines avec leurs étiquettes.
Voyez ma p.j.

Martin


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

Hors ligne

 

#5 Thu 28 November 2019 17:29

Lorran
Membre
Lieu: Mulhouse
Date d'inscription: 10 Dec 2007
Messages: 8

Re: QGIS 3.4: ATLAS - Recuperation des Nos des feuilles adjacentes

Bonjour Nitram,

Si je te suis bien, tu fais une étiquette basées sur des règles avec la règle ""Numéro de feuille"  <>  @atlas_featurenumber"
J'ai testé, la solution est pas mal mais ne correspond pas entièrement à ce que je cherche.

Effectivement je recherche plutôt des textes libres venant s'afficher dans la feuille au dessus ou à côté de l'élément "carte".

Bien à toi

Bertrand

Hors ligne

 

#6 Thu 28 November 2019 19:54

SANTANNA
Membre
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 2448

Re: QGIS 3.4: ATLAS - Recuperation des Nos des feuilles adjacentes

Bonsoir,
les feuilles sont-elles de même taille, genre est-ce le fruit d'une grille? Ou bien y a-t-il une logique de nommage?

Hors ligne

 

#7 Thu 05 December 2019 10:08

Lorran
Membre
Lieu: Mulhouse
Date d'inscription: 10 Dec 2007
Messages: 8

Re: QGIS 3.4: ATLAS - Recuperation des Nos des feuilles adjacentes

Bonjour SANTANA,

Les feuilles font toutes la même taille (1750 m de large sur 1485 m de haut). Il n'y a pas de reconvrement horizontale mais un recouvrement vertical de 235 m.

La logique de nommage est un vieil héritage qui mériterait d'être revu. Il y a longtemps, une première grille de 9 lignes sur 11 colonnes a été faite. Seules les feuilles utiles ont été conservées. La première feuille porte le N°14. Deux feuilles intermédiaires ( et une 12ème colonne du coup) ont été rajoutées et portent les N° 39A et 49A.

Bien à toi

Bertrand

Dernière modification par Lorran (Thu 05 December 2019 10:08)

Hors ligne

 

#8 Thu 05 December 2019 12:18

Renaud
Membre
Lieu: Olivet (45)
Date d'inscription: 9 Mar 2006
Messages: 2276

Re: QGIS 3.4: ATLAS - Recuperation des Nos des feuilles adjacentes

Bonjour,

Il faudrait compléter la table d'atlas avec les numéros des 4 planches autour de celle imprimée.
Il suffit ensuite d'ajouter des objets 'texte' dans la composition, qui appelle les champs.

Avec un peu de ruse, la récupération des identifiants se fait facilement.


Renaud Mouche

Hors ligne

 

#9 Mon 16 December 2019 15:12

SANTANNA
Membre
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 2448

Re: QGIS 3.4: ATLAS - Recuperation des Nos des feuilles adjacentes

Bonjour,
@Lorran, j'ignore où ça en est de ce souci mais j'ai une solution automatique. En fait, je l'avais depuis le 06 mais un bug dans QGIS fait que le style d'expression que j'utilisais ne marche pas. En écrivant autrement, ça passe.
Sur le composeur, je positionne mon objet étiquette là où je veux. On va prendre l'étiquette supposée être au sud.
Dans les propriétés texte de l'étiquette, on va rentrer une expression qui va aller récupérer le numéro de la case au sud

Code:

aggregate(
 'Feuille 5000', -- le nom de la couche
 'min' , -- choisir une fonction aggregate qui va renvoyer une valeur du champ
 "Numéro de feuille", -- le nom du champ dont on récupère l'info
 within( -- c'est ici que tout se joue, on va étudier la superposition 
   translate( centroid($geometry), 0, 750),  -- entre un point virtuel qui est supposé se retrouver à l'intérieur de la case au sud, et seulement celle là. En translatant en y le centroïde de l'entité atlas de  plus de hauteur/2, j'ai choisi 750 mais dans un cas où les grilles ne seraient pas identiques, on pourrait la faire calculer.
   geometry(@parent) -- ça c'est pour dire prend n'importe quelle géométrie de la couche
  )
)

A adapter aux autres points cardinaux.

Hors ligne

 

Pied de page des forums

Powered by FluxBB

Partagez  |