Le générateur de géomatries de QGIS :-)

Il y a quelques semaines j'ai eu a refaire une carte réalisée 10 ans plus tôt, a priori avec ArcGis, par une autre personne d'une autre structure.

A la question pourrais tu refaire/mettre à jour cette carte ? J'ai répondu oui sans trop savoir comment j'allais faire avec QGIS, mais en étant sûr d'y arriver.

La carte représentait, sur l'ensemble du littoral languedocien, les sites du Conservatoire du Littoral, notés selon 3 critères, affichés sous la forme d'un feu tricolore...

A l'aide du générateur de géométrie Pour chaque site, j'ai donc pu dessiner ce feu tricolore et le remplir avec une couleur calculé selon la note du critère affiché :-)

On verra plus bas qu'il y a avit plus direct comme solution :-(


Chaque étiquette est placée à la main, les coordonnées sont stockées dans les attributs x_etiquette et y_etiquette

disque de gauche :

buffer(  make_point( x_etiquette -2500 , y_etiquette) , 1000)

couleur de replissage :

CASE
WHEN COALESCE("biodiv",'0') ='1a' THEN '#003366'
WHEN COALESCE("biodiv",'0') ='1b' THEN '#73C2FB'
WHEN COALESCE("biodiv",'0') =2 THEN '#99cc00'
WHEN COALESCE("biodiv",'0') =3 THEN '#f8f408'
WHEN COALESCE("biodiv",'0') =4 THEN '#FFFFFF'
ELSE '#FFFFFF'
END

disque central :

buffer(  make_point( x_etiquette , y_etiquette) , 1000)

disque de droite :

buffer(  make_point( x_etiquette + 2500 , y_etiquette) , 1000)

pour le cadre :

bounds(
    make_line(
        make_point(
            x(make_point(x_etiquette, y_etiquette)) + 4000 ,
            y(make_point(x_etiquette, y_etiquette)) + 1400),
        make_point(
            x(make_point(x_etiquette, y_etiquette)) + 4000 ,
            y(make_point(x_etiquette, y_etiquette)) -1400),
        make_point(
            x(make_point(x_etiquette, y_etiquette)) - 4000 ,
            y(make_point(x_etiquette, y_etiquette)) - 1400),
        make_point(
            x(make_point(x_etiquette, y_etiquette)) - 4000 ,
            y(make_point(x_etiquette, y_etiquette)) + 1400)
    )
)

Pour le trait reliant le feu au centroide du site (inutile depuis la sernière version - 3.10 - de QGIS semble-t-il :

make_line(  make_point( "x_centroid" , "y_centroid"), make_point( "x_etiquette" , "y_etiquette" ))

Et voilà :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Et la même carte sans le générateur de géometries, seulement avec des décalages de points :-( (merci Régis ;-) )

 

Les contenus des sites sig.cenlr.org et si.cenlr.org sont mis à disposition selon
les termes de la licence Creative Commons Attribution 3.0 France

Licence Creative Commons