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é ?

Annonce

#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

Elise
Participant assidu
Lieu: Argentat (19)
Date d'inscription: 16 Oct 2005
Messages: 534
Site web

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.


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

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.


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

Hors ligne

 

#5 Mon 06 January 2025 19:37

Elise
Participant assidu
Lieu: Argentat (19)
Date d'inscription: 16 Oct 2005
Messages: 534
Site web

Re: QGIS/Carte de localisation: zoomer sur une entite speficique

heloise a écrit:

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

 

Pied de page des forums

Powered by FluxBB