Suponiendo que la topología es perfecto, creando un campo 'WKT' con la expresión
geom_to_wkt( $geometry)
en su punto de capa, puede utilizar la expresión:
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'))
en el campo de la calculadora de la capa de la tubería, la creación de una cadena de texto.
- atributo(característica, attribute_name) Devuelve el valor de un determinado
atributo de una entidad, aquí, el año de la función de punto de
obtenidos.
- get_feature(capa, atributo, valor) devuelve la primera característica de una capa de coincidencia de un atributo determinado valor. Aquí podemos comprobar si nos
puede encontrar un punto con el mismo sistema de coordenadas (en formato WKT) como el
de su línea de inicio y final de los vértices.
- start_point(geometry) devuelve el primer nodo de una geometría. Aquí el primer vértice de la línea.
- end_point(geometry) devuelve el último nodo de una geometría. Aquí el último vértice de la línea.
- geom_to_wkt(geometry) devuelve el Conocido Texto (WKT)
la representación de la geometría.
Incluso se podría actualizar a:
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
con el fin de mostrar sólo un año si dos puntos con el mismo año en que están conectados (obtención de 200X en lugar de 200X-200X).
La principal ventaja de este método es que si los datos de los cambios en sus puntos, se puede actualizar muy rápido con uno de los campos de la calculadora.
Incluso se podría añadir esta regla como una Autofield para cuando se crean nuevas líneas.
Saludos,