Aller au contenu

TP - Annexes#

Quelques expressions au fil de l'eau#

Créer un lien Google Street View
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
with_variable(
    'point',
    transform(
        centroid($geometry),
         @layer_crs,
        'EPSG:4326'
    ),
    concat(
        'http://maps.google.com/maps?q=&layer=c&cbll=',
        y(@point) || ',' || x(@point),
        '&cbp=11,0,0,0,0'
    )
)
Déplacer des points aléatoirement
1
2
3
4
5
6
7
8
9
with_variable(
    'distance_floutage',
    1000,
    translate(
        $geometry,
        randf(-1 * @distance_floutage, @distance_floutage),
        randf(-1 * @distance_floutage, @distance_floutage)
    )
)
Utiliser eval pour créer des expressions dans des expressions

Par exemple : somme des 31 colonnes de données pour récupérer la somme par mois:

1
2
3
4
5
6
7
eval(
    array_to_string(
    array_foreach(
        generate_series(1, 31),
        concat("VALUE", @element, '"')), ' + '
    )
)

Générer un texte aléatoire
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
array_to_string(
    array_foreach(
        generate_series(1,10),
        replace(
            @element,
            @element,
            char(rand(97,122))
        )
    ), ''
)
Générer un UUID

Utile pour définir un code unique à une entité (terrain)

1
uuid('WithoutBraces')

Quelques liens#

Créer une table avec les espèces uniques depuis la table observations#

  • Utiliser l'algorithme Ajouter un champ d'index de valeur unique qui va produire une nouvelle table contenant les valeurs distinctes du champ espece_support. Ouvrir la table via l'explorateur

image width:800

  • La table especes a bien été créée dans le GeoPackage donnees_suivi_moqueur.gpkg. On l'ouvre dans le projet
  • Elle contient les champs fid, id_espece et espece_support
  • On va conserver uniquement le fid et le champ espece_support, qu'on renomme en nom_scientifique, en modifiant la table depuis les propriétés de la couche, onglet Champs
  • On ajoute un identifiant unique uid de type Texte avec la calculatrice de champ et l'expression regexp_replace(uuid(), '[{}]', '')

image