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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Tue 15 March 2022 12:22

conejo
Participant assidu
Lieu: Lunel
Date d'inscription: 2 Dec 2005
Messages: 1668

QGIS: Methodo detaillee d'un atlas parcellaire

Bonjour,

Un grand merci à SANTANNA, sans lequel je n'aurais pu arriver à cette réalisation.
Je poste ici les solutions pour réaliser un atlas parcellaire par propriétaire(s).

Je suis en train de réaliser des parcelles par propriétaire(s) intersectés par un tracé d ligne aérienne. La demande initiale était d’automatiser des plans parcellaires qui étaient réalisés jusqu’alors sous Autocad et manuellement. Le plan est composé de deux pages.
-    La première concerne la page de garde, avec la commune, la ou les parcelle(s), la surface du plan, le nom du plan, l’échelle de représentation,
-    La deuxième page concerne l’affichage du nom du ou des propriétaires, et le plan parcellaire proprement dit.

La première étape consiste à préparer les shapes qui alimenteront l’atlas.
-    Tracé : dans un premier temps, découper le tracé par les parcelles. Puis faire une symbologie par un ensemble de règles :

within($geometry, buffer(@atlas_geometry, 0.5))


 Avec cette expression, n’apparaitra que le tracé concerné par le ou les propriétaires en question dans l’atlas.
-    Proprietaires : ce fichier représente les parcelles par propriétaire (un seul propriétaire par ligne). Faire une symbologie par un ensemble de règles :

within($geometry, buffer(@atlas_geometry, 0.5)) ))


 Avec cette expression, n’apparaitra que le tracé concerné par le ou les propriétaires en question dans l’atlas. Une parcelle est répétée autant de fois qu’il y a de propriétaires.
-    Préparer le shape qui va servir de couverture à l’atlas. Pour ce faire, il faut
o    Prendre le shape des propriétaires, et supprimer les doublons
Créer un nouveau shape(‘regroupement parcelles’), avec une création de champ « concat_pro » pour aggréger les propriétaires avec cette expression : «

aggregate('Proprietaires','concatenate_unique',concat(  "PROPRIO", concatenator:=' - ',order_by:= "PROPRIO",filter:= within($geometry, buffer(geometry(@parent), 0.5)))


.
-    Regrouper sur concat_pro et nom commune  Créer un nouveau shape ‘parcelles regroupées’.
-    Créer un champ concat_par pour regrouper les parcelles avec cette expression :

aggregate('Proprietaires','concatenate_unique', "Section" || ' ' || case when length ("tex")=1 then concat (to_real('0'), "tex") else "tex" end, concatenator:=' - ',order_by:= concat("Section",to_real( "tex" )),filter:= within($geometry, buffer(geometry(@parent), 0.5)))


-    Le champ concat_pro sert à afficher le nom des propriétaires et le champ concat_par les parcelles dans l’atlas

ATLAS :

Choisir comme couche de couverture, ‘parcelles regroupées’
Affichage dans le cadre texte de la commune

'COMMUNE DE ' || '' || "Nom_com"


Affichage dans le cadre texte de de l’échelle

'(Extrait au 1/' || '' || format_number( map_get( item_variables('id_page'), 'map_scale'),0) || ')'


Affichage dans le cadre texte des parcelles

case when regexp_match( "concat_par" , '-' ) then 'parcelles : ' else 'parcelle : ' end || ' ' || "concat_par"


Affichage dans le cadre texte du numéro de plan

'Plan n° : Convention' || ' - ' || "Nom_com" || '_' || aggregate('Proprietaires','concatenate_unique', "Section" || ' ' || case when length ("tex")=1 then concat (to_real('0'), "tex") else "tex" end , concatenator:=' - ',order_by:=concat("Section",to_real( "tex" )),filter:=within($geometry, buffer(@atlas_geometry, 0.5)))


Affichage dans le cadre texte du nom de ficher

'Nom du Fichier : Extrait LSPP' || '_ ' || @project_filename


Affichage dans le cadre texte de la surface papier

'Surface :' || ' ' || format_number( (@layout_numpages*@layout_pagewidth/1000),3,'en') || '*' || format_number((@layout_numpages*@layout_pageheight/1000),3,'en') || '=' || format_number (((@layout_numpages*@layout_pagewidth * @layout_pageheight)/1000000),2,'en') || '' || 'm²'


Affichage des propriétaires

array_to_string( array_foreach( string_to_array("concat_pro", ' - '),concat( 'Nom : ', @element, ' Pour accord le : Signature : ')
),'\n\n' )


Affichage dans le cadre texte des parcelles :

case when regexp_match( "concat_par" , '-' ) then 'parcelles : ' else 'parcelle : ' end || ' ' || "concat_par"


Affichage dans le cadre texte de l’agrégation des propriétaires dans un nouveau champ de la couche ‘Regroupement parcelles’

aggregate('Proprietaires','concatenate_unique',"PROPRIO", concatenator:=' - ',order_by:= "PROPRIO",filter:= within($geometry, buffer(geometry(@parent), 0.5)))


Affichage dans le cadre texte de l’agrégation des parcelles propriétaires dans un nouveau champ de la couche ‘parcelles regroupées’

aggregate('Proprietaires','concatenate_unique', "Section" || ' ' || case when length ("tex")=1 then concat (to_real('0'), "tex") else "tex" end, concatenator:=' - ',order_by:= concat("Section",to_real( "tex" )),filter:= within($geometry, buffer(geometry(@parent), 0.5)))

Hors ligne

 

#2 Tue 15 March 2022 13:15

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

Re: QGIS: Methodo detaillee d'un atlas parcellaire

Bonjour,

Et pour le fun, une petite capture d’écran du résultat carto ? :-)

Elise


Géoscope
  11 rue de l'Hospice - 19400 Argentat
  Tél. : 09 60 47 51 16

Hors ligne

 

#3 Tue 15 March 2022 13:24

conejo
Participant assidu
Lieu: Lunel
Date d'inscription: 2 Dec 2005
Messages: 1668

Re: QGIS: Methodo detaillee d'un atlas parcellaire

Voici la capture d'écran

Dernière modification par conejo (Tue 15 March 2022 13:25)

Hors ligne

 

#4 Tue 15 March 2022 13:28

conejo
Participant assidu
Lieu: Lunel
Date d'inscription: 2 Dec 2005
Messages: 1668

Re: QGIS: Methodo detaillee d'un atlas parcellaire

La voici :


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

Hors ligne

 

Pied de page des forums

Powered by FluxBB