#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)
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
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)
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)))
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