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 Sun 22 September 2024 16:16

laurent00
Participant assidu
Date d'inscription: 6 Aug 2007
Messages: 401

QGIS: Gestion du zoom dans atlas de miniature

bonsoir
j'ai un atlas avec sur une page 6 miniatures qui affichent les 6 premiers id de ma couche puis les 6 suivants etc.
le calage de la map2 se fait en ajustant les coordonnées de l'emprise de la map1 par une formule de ce genre ci-dessous pour les 4 points de l'emprise

Code:

with_variable( 'w',
   bounds_width( map_get(item_variables('map1'),'map_extent')),
   x(geometry(get_feature_by_id( @atlas_layername,  @atlas_featureid + 1  )))-@w/2)

cela marche bien mais du coup je ne peux pas gérer le zoom sur la map2 il est forcément dépendant de la première emprise map1
comment arriver à gérer ce zoom, la fonction /marge autour de l'objet/ n'est pas prise en compte ou n'est pas active

merci d'une idée

Lj

Dernière modification par laurent00 (Sun 22 September 2024 16:18)


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

Hors ligne

 

#2 Thu 26 September 2024 15:34

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

Re: QGIS: Gestion du zoom dans atlas de miniature

Bonjour,
En fait, vous ne pouvez pas à la fois vouloir bloquer les 4 coins de votre objet carte (ce que vous faites avec les expressions), et demander à QGIS d'en ajuster l'étendue. Vous, l'humain, avez déjà tout bloqué. La marge autour de l'entité ne s'applique que lorsque la carte est soumise à l'atlas, même si je constate que la valeur est éditable même hors atlas (bug d'affichage).

Essayez donc avec (le calcul de la marge  ici 10% est intégré dans celui des limites et dépend de l'entité visualisée)

Code:

with_variable( 'geom',
   geometry(get_feature_by_id( @atlas_layername,  @atlas_featureid + 1  )),
   with_variable('w', bounds_width(@geom),
   xmin(@geom) - (@w * 0.1)))

Hors ligne

 

#3 Thu 26 September 2024 15:45

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

Re: QGIS: Gestion du zoom dans atlas de miniature

Je viens de voir sur les images qu'en fait vous activiez le rapport sur les autres cartes aussi. Et pas que la première. Je viens de tester deux trois trucs mais le comportement ne me semble pas cohérent selon que l'entité id+1 existe réellement ou pas.

Hors ligne

 

#4 Thu 26 September 2024 18:37

laurent00
Participant assidu
Date d'inscription: 6 Aug 2007
Messages: 401

Re: QGIS: Gestion du zoom dans atlas de miniature

SANTANNA a écrit:

vous activiez le rapport sur les autres cartes aussi. Et pas que la première.


effectivement cela ne paraît pas utile je vais tester encore

LJ

Dernière modification par laurent00 (Thu 26 September 2024 21:00)

Hors ligne

 

#5 Thu 26 September 2024 21:02

laurent00
Participant assidu
Date d'inscription: 6 Aug 2007
Messages: 401

Re: QGIS: Gestion du zoom dans atlas de miniature

avec ces 4 formules celles des xmin et xmax ne ramènent que 'nan'

Code:

with_variable( 'geom',
   geometry(get_feature_by_id( @atlas_layername,  @atlas_featureid + 2  )),
   with_variable('w', bounds_width(@geom),
   xmin(@geom) - (@w * 0.1)))

Code:

with_variable( 'geom',
   geometry(get_feature_by_id( @atlas_layername,  @atlas_featureid + 2  )),
   with_variable('h', bounds_width(@geom),
   ymin(@geom) - (@h * 0.1)))

Code:

with_variable( 'geom',
   geometry(get_feature_by_id( @atlas_layername,  @atlas_featureid + 2  )),
   with_variable('w', bounds_width(@geom),
   xmax(@geom) - (@w * 0.1)))

Code:

with_variable( 'geom',
   geometry(get_feature_by_id( @atlas_layername,  @atlas_featureid + 2  )),
   with_variable('h', bounds_width(@geom),
   ymax(@geom) - (@h * 0.1)))

Dernière modification par laurent00 (Thu 26 September 2024 21:02)


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

Hors ligne

 

#6 Fri 27 September 2024 09:34

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

Re: QGIS: Gestion du zoom dans atlas de miniature

Bonjour,

avec ces 4 formules celles des xmin et xmax ne ramènent que 'nan'


Je ne m'explique pas le nan mais ces formules suivent la même logique que celles que (je suppose) vous aviez avant, à savoir:

- bounds_height lorsque je veux calculer les y
- je retranche la marge pour obtenir la coordonnée min et j'ajoute la marge pour obtenir la coordonnée max

Dans ces trucs, le mieux est de reprendre la formule bout par bout, de calculer étape par étape pour la comprendre et détecter là où ça pourrait clocher.

Hors ligne

 

#7 Hier 20:49

laurent00
Participant assidu
Date d'inscription: 6 Aug 2007
Messages: 401

Re: QGIS: Gestion du zoom dans atlas de miniature

bonsoir
il y avait une petite erreur dans les deux dernières formules

Code:

with_variable( 'geom',
   geometry(get_feature_by_id( @atlas_layername,  @atlas_featureid + 1  )),
   with_variable('w', bounds_width(@geom),
   xmin(@geom) - (@w*0.3)))
with_variable( 'geom',
   geometry(get_feature_by_id( @atlas_layername,  @atlas_featureid + 1 )),
   with_variable('h', bounds_width(@geom),
   ymin(@geom) - (@h*0.3)))
with_variable( 'geom',
   geometry(get_feature_by_id( @atlas_layername,  @atlas_featureid + 1 )),
   with_variable('w', bounds_width(@geom),
   xmax(@geom) + (@w*0.3)))
with_variable( 'geom',
   geometry(get_feature_by_id( @atlas_layername,  @atlas_featureid + 1 )),
   with_variable('h', bounds_width(@geom),
   ymax(@geom) + (@h*0.3)))
SANTANNA a écrit:

Je viens de voir sur les images qu'en fait vous activiez le rapport sur les autres cartes aussi. Et pas que la première. Je viens de tester deux trois trucs mais le comportement ne me semble pas cohérent selon que l'entité id+1 existe réellement ou pas.


effectivement il faut absolument que le fid soit continu sans ratés
LJ

Dernière modification par laurent00 (Hier 21:29)

Hors ligne

 

Pied de page des forums

Powered by FluxBB