I wanna create a sign or symbol or anything to inform the map reader that the intersecting line is not connected to other line, eventhough they have same colour.
Here is an image of my work.
I am using QGIS 3.12
I wanna create a sign or symbol or anything to inform the map reader that the intersecting line is not connected to other line, eventhough they have same colour.
Here is an image of my work.
I am using QGIS 3.12
In QGIS I can suggest using a "Virtual Layer"
through Layer > Add Layer > Add/Edit Virtual Layer...
.
Let's assume we have two layers "paths_1"
(red) and "paths_2"
(blue) with its corresponding attribute tables accordingly, see image below.
With the following query, it is possible to create a sign or symbol or anything to inform the map reader that the intersecting line is not connected to other line.
-- generate series
WITH RECURSIVE generate_sections(point_id) AS (
SELECT conf.start
FROM conf
UNION
SELECT point_id + conf.step
FROM generate_sections, conf
WHERE point_id + conf.step < numgeom
),
-- configurations
conf AS (
SELECT ST_NumGeometries(st_intersection(st_union(p1.geometry),st_union(p2.geometry))) AS numgeom,
0 AS start,
1 AS step
FROM paths_1 AS p1, paths_2 AS p2
)
SELECT point_id + 1 AS id, ST_GeometryN(st_intersection(p1.geometry,p2.geometry), point_id + conf.step) AS geom
FROM generate_sections, "paths_1" AS p1, "paths_2" AS p2, conf
WHERE geom IS NOT NULL
The output Virtual Layer with its Attribute table will look as following
References:
If the lines are part of the same layer, you can try to solve your issue using a different symbology.
Creating a double line symbol with a different thickness you can create this symbol that shows which line in overlapping the other.
If you want to control the behaviour of the lines symbology, deciding which line are going to be on top of the other, you can use the tool Control feature rendering order and, using an expression, you can organise the order of the lines according to a field attribute (e.g. a field in your table that manages the order of the lines. In the example I am using the id
).