Message posté par : jfmoyen
----------------------------------------
En fait j'ai pas très bien répondu à la question, qui portait sur les symboles
(surcharges) spécifiquement. Une fois que vous avez téléchargé les svg, vous créez (je
suis dans QGIS) une légende avec plusieurs "patterns" superposés :
- un *remplissage simple*, de la bonne couleur;
- un *remplissage svg* à base des symboles qui vont bien, les svg téléchargés.
- et des étiquettes (cf. hier pour le commentaire sur la police)
Le BRGM le fait avec un "ensemble de règles". Chaque polygone est donc défini
explicitement, en pointant "en dur" vers la bonne couleur et le bon symbole. On
peut être un peu plus malin et utiliser les expressions dans QGIS:
- Dans votre couche "remplissage simple", mettez la couleur à
color_cmyk("C_FOND","M_FOND","J_FOND","B_FOND")
- Dans votre "remplissage svg", mettez le symbole à quelque chose comme
'chemin/vers/les/symboles/'||"NOM_SYMB"
Dans un autre geopkg, j'utilise une autre astuce. J'ai inséré (à la main) tous les
symboles svg dans une table sans géométrie (elle s'appelle, étonnament, svg) et
ensuite mon expression pour récupérer les symboles est
if( "NOM_SYMB" is NULL,
'base64:'|| to_base64(attribute(get_feature(
'svg','name','S00_000'),'image')),
'base64:'|| to_base64(attribute(get_feature(
'svg','name',"NOM_SYMB"),'image'))
)
La table a une colonne "name" et une colonne "image", de type
QByteArray (Binary), et qui contient le svg.
Ce dernier truc, je l'avais fait en copiant du code sur stackoverflow, j'ai pas
gardé l'adresse.
Vous pouvez le voir ici (aussi à dispo de la commnauté si qqn prend la peine de
l'archiver) :
https://filesender.renater.fr/?s=download&token=122c8426-8c08-4b36-b4ed…
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=356229#p356229
Pour y répondre : donnees(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net