Annonce
Pages: 1
- Sujet précédent - QGIS/Carte de localisation: zoomer sur une entite speficique - Sujet suivant
#1 Mon 06 January 2025 13:54
- heloise
- Juste Inscrit !
- Date d'inscription: 6 Jan 2025
- Messages: 5
QGIS/Carte de localisation: zoomer sur une entite speficique
Bonjour !
Je réalise un atlas.
J'ai :
- une couche "Secteurs" qui est ma couche d'atlas, qui contient un champ "nom_commune".
- une couche "Communes".
Sur chaque commune, il y a plusieurs secteurs.
Je souhaiterais que la carte de localisation affiche :
- la commune où se situe le secteur courant ;
- les secteurs présents uniquement sur cette commune, avec dans une autre symbologie le secteur courant.
Merci d'avance pour votre aide !
Hors ligne
#2 Mon 06 January 2025 14:28
Re: QGIS/Carte de localisation: zoomer sur une entite speficique
bonjour,
Vous pouvez jeter un oeil sur les captures d'écran ici : https://geoscope.fr/nextcloud/index.php … 8or24mQ6B3
J'ai fait quelque chose d'assez proche de votre attente : montrer des secteurs (matérialisés par leur centroïde, mais peut importe) et celui concerné d'une autre manière. Il manque juste de configurer les secteurs à montrer par une condition sur le nom de commune :
- capture 1 : les couches que j'utilise (qui est la même couche dupliquée) = Périmètre OAP 2 et Périmètre OAP 3
- capture 2 : dans la mise en page, sélectionner le cadre de carte, puis dans propriété d'objet / la dernière petite icone (Paramètre de découpage)
- capture 3 : se placer sur "découper l'entité avant le rendu", puis selectionner la couche pour laquelle vous ne voulez voir que l'objet (les objets) de l'atlas (pour moi Périmètre OAP2)
- capture 4 : dans la config' de l'atlas, choisir la couche dont les objets sont à afficher de façon individuelle (moi c'est Périmètre OAP - qui est non vue, mais correspond à la même couche que OAP2 et 3)
- capture 5 : quand vous lancez l'atlas, le resultat obtenu
Comme j'ai mis une légère transparence à mon objet principal, vous devinez qu'il apparait en double dessous... je ne suis pas au top sous Qgis ;-)
Géoscope
11 rue de l'Hospice - 19400 Argentat
Tél. : 09 60 47 51 16
Hors ligne
#3 Mon 06 January 2025 18:35
- heloise
- Juste Inscrit !
- Date d'inscription: 6 Jan 2025
- Messages: 5
Re: QGIS/Carte de localisation: zoomer sur une entite speficique
Bonjour Elise !
Merci pour votre réponse !
Je pense qu'il y a plus simple pour faire ce que vous avez fait, si j'ai bien compris vos captures d'écran.
Vous avez la possibilité dans le panneau de couches d'appliquer une symbologie différente à l'entité affichée sur la Carte 1 par rapport aux autres.
Vous pouvez voir sur la copie d'écran, j'ai choisi d'afficher :
- en rouge, l'entité affichée dans la carte 1.
- en gris, les autres entités.
Pour faire cela, il vous faut aller dans symbologie et choisir ensemble de règles. Entrer les paramètres comme sur la copie d'écran.
Hors ligne
#4 Mon 06 January 2025 19:07
- heloise
- Juste Inscrit !
- Date d'inscription: 6 Jan 2025
- Messages: 5
Re: QGIS/Carte de localisation: zoomer sur une entite speficique
Je précise du coup ma demande, parce qu'elle n'est peut être pas suffisamment claire.
J'ai mis un export de ce que j'aimerais obtenir (presque) :
- dans l'encart, j'ai un zoom sur la commune sur laquelle se trouve le secteur de la carte principale.
- dans l'encart, j'ai les différents secteurs avec une symbologie différenciée pour le secteur représenté sur la carte 1.
J'aimerais :
- que l'encart zoome sur la commune où se trouve le secteur affiché sur la carte principale de manière automatique.
- que les secteurs qui ne se trouvent pas sur la commune "active" ne soient pas affichés dans l'encart.
Hors ligne
#5 Mon 06 January 2025 19:37
Re: QGIS/Carte de localisation: zoomer sur une entite speficique
Je pense qu'il y a plus simple pour faire ce que vous avez fait.
En effet, merci :-)
Géoscope
11 rue de l'Hospice - 19400 Argentat
Tél. : 09 60 47 51 16
Hors ligne
#6 Tue 07 January 2025 10:49
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3973
Re: QGIS/Carte de localisation: zoomer sur une entite speficique
Bonjour,
J'aimerais :
- que l'encart zoome sur la commune où se trouve le secteur affiché sur la carte principale de manière automatique.
Il vous faut contrôler les coordonnées x,y de l'encart avec des expressions qui vont récupérer celles de la commune cible. La formule dépendra de si les secteurs et la commune partagent un champ commun
Code:
x_min(geometry(get_feature('couchecommune', 'champcommun' , attribute(@atlas_feature, 'champcommun'))))
ou si la relation est juste spatiale
Code:
x_min( overlay_within('couchecommune', @geometry)[0] )
- que les secteurs qui ne se trouvent pas sur la commune "active" ne soient pas affichés dans l'encart.
Soit vous découpez l'encart sur l'étendue de la commune (voir https://docs.qgis.org/3.34/fr/docs/user … e-toolbar) soit vous appliquez une symbologie par règle aux secteurs, et n'y affichez que le secteur atlas et ceux de la même commune
Hors ligne
#7 Tue 07 January 2025 19:01
- heloise
- Juste Inscrit !
- Date d'inscription: 6 Jan 2025
- Messages: 5
Re: QGIS/Carte de localisation: zoomer sur une entite speficique
Bonjour,
Je n'y arrive...
Je crois que j'aurais besoin d'une réponse plus détaillée...
J'ai essayé les deux codes, mais rien ne fonctionne.
J'ai aussi essayé de créer des champs x_min, x_max, y_min, y_max qui correspondent à l'emprise de mes communes dans la couche "secteurs", mais ça ne fonctionne pas. Il doit y avoir quelque chose que je ne fais pas correctement.
Hors ligne
#8 Wed 08 January 2025 14:51
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3973
Re: QGIS/Carte de localisation: zoomer sur une entite speficique
Bonjour,
Je crois que j'aurais besoin d'une réponse plus détaillée...
J'ai essayé les deux codes, mais rien ne fonctionne.
A part dire que ces codes sont à renseigner dans le bouton valeur définie de chacune des coordonnées de la carte "encart" dans la mise en page, je ne saurais quoi détailler exactement. Pour éviter qu'on s'éparpille, il faudrait expliquer comment vos deux couches sont liées, et ce que vous faites exactement, ce qui ne fonctionne pas ou comment ça fonctionne mal, quel message d'erreur ou je ne sais quoi d'autre... Là, il sera plus facile de clarifier les points pas clairs.
J'ai aussi essayé de créer des champs x_min, x_max, y_min, y_max qui correspondent à l'emprise de mes communes dans la couche "secteurs", mais ça ne fonctionne pas. Il doit y avoir quelque chose que je ne fais pas correctement.
Difficile d'apporter une quelconque aide sur ce point vu que nous ne détaillez pas comment vous utilisez ces fameux champs, une fois calculés (correctement?).
Hors ligne
#9 Hier 15:49
- heloise
- Juste Inscrit !
- Date d'inscription: 6 Jan 2025
- Messages: 5
Re: QGIS/Carte de localisation: zoomer sur une entite speficique
Bonjour !
J'ai réussi en utilisant dans "emprise" :
Code:
x_min(overlay_nearest( 'couche_communes', @geometry)[0])
Et pour n'afficher que les secteurs de la commune "active" dans la carte de localisation, j'ai créé un "ensemble de règles" dans l'onglet symbologie :
- pour le secteur actif :
Code:
@atlas_featureid =$id
- pour les autres secteurs de la commune "active" :
Code:
"Commune" = attribute(@atlasfeature, 'Commune')
où 'Commune' et "Commune" est mon champ contenant les noms des communes dans ma couche d'atlas qui est ma couche des secteurs.
- pour tous les autres secteurs : ELSE
En espérant que cela puisse servir à d'autres !
Hors ligne
Pages: 1
- Sujet précédent - QGIS/Carte de localisation: zoomer sur une entite speficique - Sujet suivant