En supposant que la topologie est parfaite, créer un champ 'WKT' avec l'expression
geom_to_wkt( $geometry)
dans votre couche de points, vous pouvez utiliser l'expression:
min( attribute( get_feature('points','WKT', geom_to_wkt(start_point($geometry) )),'year'),attribute( get_feature('points','WKT', geom_to_wkt(end_point($geometry) )),'year'))||'-'|| max( attribute( get_feature('points','WKT', geom_to_wkt(start_point($geometry) )),'year'),attribute( get_feature('points','WKT', geom_to_wkt(end_point($geometry) )),'year'))
dans le calculateur de champ de la couche de tuyau, créant une chaîne de texte.
- attribut (entité, nom_attribut) Renvoie la valeur d'un attribut spécifié à partir d'une entité, ici, l'année de l'entité ponctuelle
obtenue.
- get_feature (couche, attribut, valeur) renvoie la première fonction d'une couche correspondant à une valeur d'attribut donnée. Ici, nous vérifions si nous pouvons trouver un point avec les mêmes coordonnées (au format WKT) que
celles des sommets de début et de fin de votre ligne.
- start_point (geometry) renvoie le premier nœud d'une géométrie. Voici le premier sommet de votre ligne.
- end_point (geometry) renvoie le dernier nœud d'une géométrie. Voici le dernier sommet de votre ligne.
- geom_to_wkt (geometry) renvoie la représentation WKT (Well-Known Text) de la géométrie.
Vous pouvez même le mettre à jour pour:
CASE
WHEN attribute( get_feature('points','WKT', geom_to_wkt(start_point($geometry) )),'year') = attribute( get_feature('points','WKT', geom_to_wkt(end_point($geometry) )),'year')
THEN attribute( get_feature('points','WKT', geom_to_wkt(end_point($geometry) )),'year')
ELSE min( attribute( get_feature('points','WKT', geom_to_wkt(start_point($geometry) )),'year'),attribute( get_feature('points','WKT', geom_to_wkt(end_point($geometry) )),'year'))||'-'|| max( attribute( get_feature('points','WKT', geom_to_wkt(start_point($geometry) )),'year'),attribute( get_feature('points','WKT', geom_to_wkt(end_point($geometry) )),'year'))
END
afin d'afficher une seule année si deux points de la même année sont connectés (obtenir 200X au lieu de 200X-200X).
Le principal avantage de cette méthode est que si vos données changent dans vos points, vous pouvez les mettre à jour très rapidement avec une seule calculatrice de champ.
Vous pouvez même ajouter cette règle en tant que champ automatique lorsque vous créez de nouvelles lignes.
À votre santé,