Pages: 1
- Sujet précédent - QGIS 2.18: Atlas cartographique (mise en forme par entité) - Sujet suivant
#1 Thu 20 July 2017 15:52
- S_imon
- Participant occasionnel
- Date d'inscription: 10 Feb 2017
- Messages: 33
QGIS 2.18: Atlas cartographique (mise en forme par entité)
Bonjour,
Je viens avec vous pour deux problèmes à résoudre vis-à vis des atlas cartographique (première fois que j'utilise cette fonction).
1er cas :
-J'ai une couche bassin versant qui me sert de couche pour découper mon atlas. Les autres couches sont occupation du sol, communes, réseau hydrographique.
-Je parviens à faire un atlas cartographique le seul soucis c'est que pour chacune de mes cartes il n'y a pas uniquement le bassin versant concerné (donc 1 seule entité) mais également les bassins versants frontalier, dans la limite de la fenêtre carte bien entendu... Dis comme ça ce n'est peut-être pas très clair, je vous mets une image en pièce jointe (atlas --> j'aimerai découpé les bords de ma carte selon les limites du bassin versant qui apparaissent en bleu ciel).
2ème cas :
-J'ai là encore une couche bassin versant ainsi que des couches réseau hydrographique, département, communes, etc...
-Cette fois j'aimerai réussir à avoir pour chaque carte de mon atlas l'ensemble du département qui apparaît (tout bassins versants confondus), avec tous les bassins versants en gris sauf celui que je veux situé qui apparaît avec un autre fond. Je l'avais fait une première fois de façon manuelle et ça avait été l’horreur (38 bassins versants, c'est long, et là je dois recommencer...), je vous met le résultat voulu dans une deuxième pièce jointe (I. Brisse).
En espérant avoir été clair dans mes explications, si ce n'est pas le cas n'hésitez pas à me demander des précisions.
Merci et bonne journée,
Simon
Dernière modification par S_imon (Thu 20 July 2017 16:03)
Hors ligne
#2 Thu 20 July 2017 16:19
- Xavier Julian
- Participant assidu
- Lieu: Orange
- Date d'inscription: 19 Jan 2015
- Messages: 218
Re: QGIS 2.18: Atlas cartographique (mise en forme par entité)
Bonjour,
1er cas :
Il faut utiliser le style polygone inversé sur votre couche de bassin versant, avec un sous rendu "ensemble de règle" ayant pour règle $id=$atlasfeatureid
++
Hors ligne
#3 Thu 20 July 2017 16:28
Re: QGIS 2.18: Atlas cartographique (mise en forme par entité)
Bonjour,
Dans les deux cas, il faudra utiliser des conditions dans l'application des règles symbologiques, utilisant notamment :
$id= @atlas_featureid
Vous pouvez utiliser les masques en utilisant les polygones inversés.
Quant à l'étendue de votre carte, elle peut être paramétrée dans le composeur par un calcul appliqué aux bornes min X, min Y, max X, max Y de votre objet carte.
Pour la récupérer, il faut avoir renseigné dans votre couche de bassins versants le département qui sert de référence.
On peut alors récupérer les bornes min et max avec get_feature() ainsi que les fonctions bounds() et x_min, x_max, y_min, y_max
Vos cas nécessitent un usage avancé de la calculatrice de champ et un usage intermédiaire des fonctions d'atlas
geodata au cerema et petits billets en géomatique
Hors ligne
#4 Thu 20 July 2017 16:54
- S_imon
- Participant occasionnel
- Date d'inscription: 10 Feb 2017
- Messages: 33
Re: QGIS 2.18: Atlas cartographique (mise en forme par entité)
Bonjour,
1er cas :
Il faut utiliser le style polygone inversé sur votre couche de bassin versant, avec un sous rendu "ensemble de règle" ayant pour règle $id=$atlasfeatureid
++
Bonjour et merci pour votre réponse rapide.
J'ai fait le style polygone inversé (ce qui n'a rien changé sur mon atlas), puis j'ai mis la règle que vous m'avez dit. Ça a marché mais... à l'envers, comme si la règle n'avait pas pris en compte le style polygone inversé, du coup je me retrouve avec le BV qui m'intérèsse en blanc, et le reste autour avec mon occupation du sol... J'ai du raté une étape pour que la règle intègre le polygone inversé, une idée ?
EDIT : J'ai trouvé la solution, j'avais pas compris qu'il fallait mettre la règle dans le style "polygone inversé". Reste un problème, j'ai des étiquettes de communes (la couche commune est bien en dessous de ma couche bassin versant) qui restent visibles même en dehors de mon bassin versant sélectionné, ça fait un peu con sur les cartes...
Dernière modification par S_imon (Thu 20 July 2017 16:58)
Hors ligne
#5 Thu 20 July 2017 18:03
- Benoit91
- Participant assidu
- Date d'inscription: 2 Oct 2008
- Messages: 263
Re: QGIS 2.18: Atlas cartographique (mise en forme par entité)
Bonjour
L'affichage des etiquettes a l'interieur de votre couche de couverture vous pouvez mettre l'expression suivante:
Code:
within(centroid($geometry), @atlas_geometry )
Expression a renseigner dans propriété de la ocuche=> etiquette=> rendu=>'afficher l'etiquette'
Cordialement
Hors ligne
#6 Mon 24 July 2017 08:50
- S_imon
- Participant occasionnel
- Date d'inscription: 10 Feb 2017
- Messages: 33
Re: QGIS 2.18: Atlas cartographique (mise en forme par entité)
Bonjour,
Merci pour vos réponses, j'ai réussi à faire mettre en forme l'atlas comme je le souhaite.
J'ai par contre un soucis au niveau de l'export de l'atlas, en fait quand je lance l'export j'ai l'impression que les cartes se supprime les unes après les autres, en gros la première carte est exportée puis la secondeavec le même nom, ce qui écrase la première, etc... Au final je me retrouve avec une seule carte (la dernière de mon atlas)...
Je pense que le problème vient du "nom du fichier en sortie, actuellement c'est :
Code:
'output_'||feature
Je pense qu'il me faut une expression qui fasse que chaque carte a un nom différent, mais je ne sais pas trop comment faire...
EDIT : Solution trouvée! j'ai juste mis en nom du fichier en sortie mon champ "id" qui correspond au nom du bassin versant et l'export marche.
Je vais maintenant me pencher sur le deuxième atlas, je vous tiens au courant si besoin, merci pour votre aide !
Dernière modification par S_imon (Mon 24 July 2017 10:22)
Hors ligne
#7 Mon 24 July 2017 13:57
- S_imon
- Participant occasionnel
- Date d'inscription: 10 Feb 2017
- Messages: 33
Re: QGIS 2.18: Atlas cartographique (mise en forme par entité)
Re-bonjour à tous,
J'ai besoin d'aide pour mon deuxième cas : l'objectif est de faire un atlas avec pour chaque carte l'un des bassins versants apparaissant en jaune, les autres étant grisés (carte de localisation).
Je cherche depuis un moment mais je ne vois pas où créer une règle de symbologie pour arriver à ce résultat...
En vous remerciant de votre aide par avance !
Simon
EDIT : J'ai trouvé une solution pas très conventionnelle. J'ai dupliqué ma couche bassin versant et j'ai mis la couleur jaune pour la règle
$id=$atlasfeatureid
Si quelqu'un a la solution pour faire la même chose sur une seule couche je suis preneur !
Dernière modification par S_imon (Mon 24 July 2017 14:08)
Hors ligne
#8 Mon 24 July 2017 14:37
- Benoit91
- Participant assidu
- Date d'inscription: 2 Oct 2008
- Messages: 263
Re: QGIS 2.18: Atlas cartographique (mise en forme par entité)
Bonjour
Je n'ai pas le détail en tête mais en gros il vous faut procéder ainsi.
Créer votre mask avec le plugin mask et ensuite il vous faut passer par le création de "réglage" (le petit oeil dans le panneau controle de couche). Il vous faut créer une carte minimaliste avec vos bassins versants et quelques données. Vous donnez un nom à ce réglage (qui correspond à des cartes prédéfini, c'est assez pratique)
Puis coté composeur, vous créer un nouveau cadre de carte et au niveau des options "propriété de l'objet"=>couches=> "suivre le réglage de visibilité"=> et vous choisissez votre réglage.
Les paramètres de génération de l'atlas vont contrôler votre carte principale sur laquelle vous avez votre zoom sur un bassin versant et controler l'affichage sur votre mini carte aperçu.
Sinon votre méthode est tout aussi bonne.
Cordialement.
Dernière modification par Benoit91 (Mon 24 July 2017 14:39)
Hors ligne
#9 Thu 17 August 2017 12:25
- S_imon
- Participant occasionnel
- Date d'inscription: 10 Feb 2017
- Messages: 33
Re: QGIS 2.18: Atlas cartographique (mise en forme par entité)
Bonjour,
Je me permet de déterrer ce sujet car je travaille sur un nouvel atlas. J'ai un petit soucis pour afficher les étiquettes uniquement incluses dans ma couche de couverture. Lorsqu'il s'agit d'un point, on m'avait donné ce conseil qui marche parfaitement :
Bonjour
L'affichage des etiquettes a l'interieur de votre couche de couverture vous pouvez mettre l'expression suivante:Code:
within(centroid($geometry), @atlas_geometry )Expression a renseigner dans propriété de la ocuche=> etiquette=> rendu=>'afficher l'etiquette'
Cordialement
Comme faire lorsque l'étiquette est associée à une polyligne (à part créer une couche points avec mes noms de cours d'eau, ce qui serait un peu long...) ?
Merci d'avance,
Simon
Hors ligne
#10 Tue 29 August 2017 16:57
Re: QGIS 2.18: Atlas cartographique (mise en forme par entité)
Bonjour
Pour une ligne, considérant son point médian, vous pourriez essayer ceci :
Code:
within(line_interpolate_point($geometry, $length/2), @atlas_geometry )
geodata au cerema et petits billets en géomatique
Hors ligne
#11 Tue 19 September 2017 08:53
- S_imon
- Participant occasionnel
- Date d'inscription: 10 Feb 2017
- Messages: 33
Re: QGIS 2.18: Atlas cartographique (mise en forme par entité)
Bonjour Mathieu,
Désolé pour le temps de réponse, j'étais en congés. Je viens d'essayer votre solution et cela marche parfaitement !
Merci et bonne journée,
Simon
Hors ligne
#12 Tue 09 April 2019 18:43
- klrblz
- Participant occasionnel
- Date d'inscription: 8 Feb 2011
- Messages: 41
Re: QGIS 2.18: Atlas cartographique (mise en forme par entité)
Bonsoir,
Je déterre le sujet. J'utilise cette fonction sans souci pour éditer des cartes de répartition à la maille 10x10 km en batterie (présence espèce animale).
J'utilise habituellement un shape dont chaque ligne représente l'agrégat des mailles de présence d'une espèce.
Cette fois-ci, l'affaire se complique, je dois représenter la répartition sur deux périodes pour chaque espèce.
Comment faire ?
Merci de vos lumières, bonne soirée.
Claire
Hors ligne
#13 Wed 10 April 2019 10:05
- sylvain poupard
- Participant assidu
- Date d'inscription: 19 Mar 2009
- Messages: 362
Re: QGIS 2.18: Atlas cartographique (mise en forme par entité)
Bonjour,
Si je visualise bien vous pouvez juste ajouter une condition liée à chaque période:
ça donnerait qqch comme $id=$atlasfeatureid and champ_date=1 et une 2ème règle avec $id=$atlasfeatureid and champ_date=2. Puis leur appliquer une symbologie différente.
Si vous voulez séparer les éléments en 2 cartes distinctes selon la période, il faudrait éventuellement passer par les thèmes (petit œil dans l'onglet couche) et appeler pour chaque carte le thème dédié dans lesquels vous appliqueriez pour chacun les requêtes ci-dessus.
Bon courage
Hors ligne
Pages: 1
- Sujet précédent - QGIS 2.18: Atlas cartographique (mise en forme par entité) - Sujet suivant