#1 Mon 07 July 2014 22:01
- olivierh65
- Participant occasionnel
- Date d'inscription: 23 Aug 2010
- Messages: 10
QGIS 2.4 : Gestion des echelles et rotation dans l'Atlas
Bonjour à tous,
J'ai besoin de générer des cartes commune par commune de 3 ou 4 séries de lignes. J'arrive a générer la couche de couverture sans trop de mal, par contre je n'arrive pas (comme cela etait possible dans ArcMap avec MapBook) à définir une échelle et une rotation spécifique pour chacune des communes (valeur dans deux champs de la couche de couverture).
Est-ce que cela est possible ?
Est-ce qu'il est possible hachurer les parties autour de la commune concernée sur chaque page de l'atlas?
Dans le même ordre d'idée, serait-il possible d’éclater les grandes communes sur 2 pages, afin de conserver des échelles similaires?
Une ou des solutions réalisable sans devoir se plonger dans les API serait vraiment super.
Merci pour votre aide.
Olivier.
Hors ligne
#2 Tue 08 July 2014 09:12
- Benoit91
- Participant assidu
- Date d'inscription: 2 Oct 2008
- Messages: 263
Re: QGIS 2.4 : Gestion des echelles et rotation dans l'Atlas
Bonjour
Pour répondre à quelques unes de vos interrogations vous pouvez allez voir sur lien suivant (notamment pour votre question sur les communes autour)
http://nathanw.net/2013/12/02/waiting-f … s-feature/.
Par contre, il me semble que cela ne soit pas possible de définir une échelle et une rotation différentes pour chaque communes de la couche de couverture. A mon avis vous allez devoir passer par un autre composeur pour paramétrer l'échelle et la rotation "fixe" sur les communes concernées.
Cordialement.
Hors ligne
#3 Tue 08 July 2014 09:17
Re: QGIS 2.4 : Gestion des echelles et rotation dans l'Atlas
Bonjour,
Pour l'échelle, actuellement les options permettent de zoomer sur l'objet de la couche servant à itérer l'Atlas. L'échelle sera déterminée par la taille de l'objet et de la marge autour de l'objet.
Une autre option est d'utiliser les échelles de zoom prédéfinies dans les propriétés du projet, (par exemple 1/10 000; 1/25 000) et d'utiliser dans l'Atlas l'option "Echelle prédéfinie". QGIS s'adaptera à l'échelle la plus proche.
Pour le masque hachuré, je vous conseille d'utiliser le tout nouveau plugin mask v1.0, qui permet de générer un masquage cartographique à partir d'une sélection polygonale, puis ce masque est automatiquement mis à jour sur l'objet d'Atlas si l'Atlas est activé. Il permet également de n'activer l'étiquetage qu'à l'intérieur de cet objet de masque.
le plugin dans le dépôt QGIS: plugins.qgis.org/plugins/mask/
le dépot des sources du plugin: https://github.com/aeag/mask_plugin
Une démo vidéo: https://www.youtube.com/watch?v=u29yGSQhX2g
N'hésitez pas à faire des retours sur ces contributions toujours améliorables.
Régis
Hors ligne
#4 Tue 08 July 2014 11:59
- Zimon
- Participant occasionnel
- Date d'inscription: 20 Jun 2012
- Messages: 27
Re: QGIS 2.4 : Gestion des echelles et rotation dans l'Atlas
Bonjour,
Super avancée concernant le plugin Mask !!
Cependant, lors de son utilisation, j'ai ce message qui apparaît et qui rend impossible son utilisation... (j'ai déjà essayé de le désinstaller et de le résinstaller) :
Une erreur est apparue lors de l'exécution du code Python :
Traceback (most recent call last):
File "C:/Documents and Settings/999485/.qgis2/python/plugins\mask\aeag_mask.py", line 198, in on_composer_added
items = composition.composerMapItems()
AttributeError: 'QgsComposition' object has no attribute 'composerMapItems'
Version de Python :
2.7.4 (default, Apr 6 2013, 19:54:46) [MSC v.1500 32 bit (Intel)]
Version de QGIS :
2.4.0-Chugiak Chugiak, 8fdd08a
Quelqu'un a une idée ?
D'avance merci !
Dernière modification par Zimon (Tue 08 July 2014 12:00)
Hors ligne
#5 Tue 08 July 2014 16:02
Re: QGIS 2.4 : Gestion des echelles et rotation dans l'Atlas
Bonjour,
Super avancée concernant le plugin Mask !!
Cependant, lors de son utilisation, j'ai ce message qui apparaît et qui rend impossible son utilisation... (j'ai déjà essayé de le désinstaller et de le résinstaller) :Une erreur est apparue lors de l'exécution du code Python :
Traceback (most recent call last):
File "C:/Documents and Settings/999485/.qgis2/python/plugins\mask\aeag_mask.py", line 198, in on_composer_added
items = composition.composerMapItems()
AttributeError: 'QgsComposition' object has no attribute 'composerMapItems'
Version de Python :
2.7.4 (default, Apr 6 2013, 19:54:46) [MSC v.1500 32 bit (Intel)]
Version de QGIS :
2.4.0-Chugiak Chugiak, 8fdd08a
Quelqu'un a une idée ?
D'avance merci !
Le message semble indiquer que l'Atlas n'itère sur aucune carte.
Avez vous bien activé l'Atlas pour un objet de carte? Il y a au moins deux actions à mener pour activer l'Atlas:
1- activer la fonction générale d'Atlas en choisissant la couche d'itération. C'est dans les options générales de la composition
2- appliquer cet itération à une ou plusieurs cartes, et c'est dans les options des objets cartes..
Hors ligne
#6 Tue 08 July 2014 17:13
- Zimon
- Participant occasionnel
- Date d'inscription: 20 Jun 2012
- Messages: 27
Re: QGIS 2.4 : Gestion des echelles et rotation dans l'Atlas
Bonjour,
Disons que si on repart d'un projet vierge, cela fonctionne. Mais pas forcément d'un projet existant. A voir je n'ai pas tout testé.
Par contre je ne comprends pas la différence avec la version précédente du plugin (ou je comprends mal la finalité).
J'ai par exemple 2 surfaces qui sont proches l'une de l'autre. J'arrive donc à créer un masque autour, pas de soucis. Par contre, dans l'Atlas, quand je fais le zoom sur chaque surface, la surface à proximité de l'autre n'est pas masqué : je pensais que la phrase
puis ce masque est automatiquement mis à jour sur l'objet d'Atlas si l'Atlas est activé
permettait de régénérer à chaque fois un masque autour du polygone choisi pour faire l'Atlas, et donc de cacher les autres polygones également à proximité. En gros de réaliser automatiquement un masque par objet polygonal.
Hors ligne
#7 Wed 09 July 2014 08:55
Re: QGIS 2.4 : Gestion des echelles et rotation dans l'Atlas
Disons que si on repart d'un projet vierge, cela fonctionne. Mais pas forcément d'un projet existant. A voir je n'ai pas tout testé.
Je ne comprends pas exactement, c'est le masque qui n'est pas réouvert dans un plugin existant? Ou est-ce l'Atlas dans le composer qui ne fonctionne pas?
Si, c'est bien ça, en version 1.0 du plugin, le format d'enregistrement par défaut du mask est une couche mémoire, qui n'est pas sauvegardée dans le projet. Solution, enregistrer dans un autre format (options en bas de la fenêtre), ou installer et activer le plugin memory layer saver.
Par contre je ne comprends pas la différence avec la version précédente du plugin (ou je comprends mal la finalité).
la version précédente se contente de générer une couche trouée. Le nouveau, génère une couche avec un polygone issu de l'agrégation des objets en sélection, et le représente avec un style de polygone inversé. Il permet en plus de générer un buffer à la volée, de filtrer spatialement les étiquettes des couches dans cet objet et d'enregistrer dans divers format. Enfin, il capte le signal de génération de l'Atlas, et dans ce cas, ajoute une couche de masquage temporaire pour l'Atlas.
permettait de régénérer à chaque fois un masque autour du polygone choisi pour faire l'Atlas, et donc de cacher les autres polygones également à proximité. En gros de réaliser automatiquement un masque par objet polygonal.
A priori, ça fait ce que vous souhaitez donc.
Est-ce que la démo vidéo citée plus haut vous aide?
régis
Hors ligne
#8 Fri 11 July 2014 22:31
- olivierh65
- Participant occasionnel
- Date d'inscription: 23 Aug 2010
- Messages: 10
Re: QGIS 2.4 : Gestion des echelles et rotation dans l'Atlas
Merci pour ces infos.
Le plugin Mask permet de répondre partiellement à mes besoins. Toutefois, j'ai également les mêmes messages d'erreur.
Je continu encore a creuser un peu en essayer de mieux définir ce qu'il me faudrait (ayant jusqu’à présent utilisé Arcmap).
Cordialement.
Hors ligne
#9 Mon 04 August 2014 15:23
- olivierh65
- Participant occasionnel
- Date d'inscription: 23 Aug 2010
- Messages: 10
Re: QGIS 2.4 : Gestion des echelles et rotation dans l'Atlas
Bonjour,
Pour repondre à mon probleme, je me suis lancé dans Python, les API QGis, et Qt...
J'ai donc fait un brouillon de plugin qui permet de recentrer les cartes generees par l'Atlas de facon a ce que la carte ne soit plus centrée autour du polygon de couverture, mais autour des entites (lignes ou points) contenues à l'interieur du polygon de couverture.
En d'autres mots, quand j'ai un reseau qui traverse une commune, la carte se centre sur ces entites plutot que sur la commune. Tres utile (pour moi) pour les grandes communes traversees en peripherie.
Je vais finaliser (et completer par une rotation eventuelle de la carte) ce plugin au retour de mes vacances, mais peut fournir eventuellement pour test le brouillon actuel.
Olivier.
Hors ligne