Single-Sided vs Two-Sided Buffers in GIS
Learn how single-sided and two-sided line buffers differ, why line direction determines left and right, and when buffering only one side of a line is appropriate.
Explain the distinction between conventional two-sided line buffers and single-sided buffers, with particular attention to line direction, left/right semantics, joins, endpoints, multipart inputs, and appropriate use cases.
Single-Sided vs Two-Sided Buffers in GIS
A two-sided line buffer creates an area on both sides of a line, while a single-sided buffer creates the area on only its left or right side. The important complication is that left and right are defined relative to the direction in which the line's coordinates run.
If a road centreline is digitised from west to east, its left side is north and its right side is south. Reverse the line direction and those labels reverse too, even though the road occupies exactly the same location on the map.
Single-sided buffers are therefore useful when the side of a linear feature genuinely matters, but they require more attention to the structure and direction of the input geometry than an ordinary two-sided buffer.
Single-sided and two-sided buffers at a glance
Column 1: Where is the area created?; Two-sided buffer: Both sides of a line; Single-sided buffer: Left or right side only
Column 1: Does line direction affect the result?; Two-sided buffer: Usually not in the basic left/right sense; Single-sided buffer: Yes
Column 1: Typical input; Two-sided buffer: Point, line, or polygon for general Buffer tools; Single-sided buffer: Line geometry
Column 1: Typical use; Two-sided buffer: General proximity corridor; Single-sided buffer: Side-specific corridor or setback
Column 1: Main question; Two-sided buffer: What lies within this distance of the line?; Single-sided buffer: What lies within this distance on this particular side of the line?
The distinction applies especially to line buffers. Points have no inherent left or right side, and polygon buffers are normally described in terms of outward or inward buffering rather than left and right.
QGIS's Single sided buffer operation, for example, accepts line inputs and explicitly asks whether the output should be created on the left or right side.
A conventional line buffer extends to both sides
Suppose a road is represented by a centreline and you create a 50-metre buffer around it.
A conventional two-sided buffer produces a corridor extending roughly 50 metres from the line in each direction:
50 m
+----------------+
| |
--+------ road ----+--
| |
+----------------+
50 mConceptually, the question is:
Which locations fall within 50 metres of this road geometry?
The side of the road is irrelevant. A location can qualify whether it lies to the left or right of the directed line.
This is the usual behaviour people mean when they simply say buffer the road by 50 metres.
What Is a Buffer in GIS? covers that general operation in more detail.
A single-sided buffer keeps only one side
Now suppose the question is not merely which locations are near the road.
Instead, you need:
Which locations fall within 50 metres of the left-hand side of this directed road line?
A single-sided buffer can construct that area without producing the corresponding corridor on the other side.
Conceptually:
LEFT BUFFER
+----------------+
| |
--+------>---------+--
line directionThe same can be done on the right.
This is useful because creating a normal buffer and then attempting to remove half of it afterwards can be unnecessarily complicated. A single-sided operation expresses the intended geometry directly.
PostGIS exposes the same idea through the side=left and side=right styles of ST_Buffer for LINESTRING geometries.
Left and right depend on line direction
This is the central rule of single-sided buffering.
A line is not merely a visible path between places. Its geometry stores coordinates in an order.
For example:
A --------------------> Bhas a direction from A to B.
When viewed in that direction:
the left side is on your left;
the right side is on your right.
Reverse the coordinate order:
A <-------------------- Band the geographic sides swap.
PostGIS explicitly defines single-sided left and right buffers relative to the direction of the input line.
That means two geometrically identical-looking lines can produce opposite single-sided buffers if their coordinate sequences run in opposite directions.
A simple example
Imagine an east-west line representing a road.
If its coordinates run from west to east:
North
↑
Left side |
===============→
Right side |
↓
Southa left-side buffer appears to the north and a right-side buffer to the south.
If the same line is stored from east to west:
North
↑
Right side |
←==============
Left side |
↓
Souththe geographical meaning of left and right reverses.
Nothing visible about the undirected road centreline tells you which case you have.
That is why line direction should be checked before applying side-specific buffering.
How can you tell which direction a line runs?
Sometimes direction is meaningful in the dataset itself.
For example, line direction may follow:
digitisation order;
increasing route measure;
traffic direction;
upstream to downstream;
start node to end node;
network topology;
an explicitly defined origin and destination.
But it should not be assumed.
A line representing a river may have been digitised downstream to upstream. A road may have coordinate order unrelated to permitted travel. Adjacent features may even point in inconsistent directions if no direction convention was enforced during data creation.
Before relying on left or right, inspect the dataset's documentation or visualise the geometry direction.
Many GIS applications can display arrows or vertex order along lines, making inconsistent orientation easier to detect.
Reversing a line changes a single-sided buffer
Suppose a line has a valid right-side buffer.
If you reverse the line's coordinate order but make no other change, asking for a right-side buffer produces the polygon on what was previously the left side.
This can be useful when line direction is deliberately normalised.
But reversing geometry should not be used casually just to make a buffer appear on the desired side.
Line direction can carry meaning elsewhere in a dataset. Reversing it may affect:
routing or network interpretation;
upstream/downstream relationships;
stationing or measures;
start/end attributes;
directional symbology;
other side-dependent operations.
If direction has semantic meaning, correct the buffer logic rather than modifying the source merely for convenience.
When is a single-sided buffer useful?
The strongest use cases are those where the side itself belongs to the question.
Roadside analysis
Suppose observations concern only properties on one side of a road.
A single-sided buffer can restrict the corridor to the relevant side, provided the road's line direction is known and consistently represented.
Riverbanks
A workflow may distinguish one bank from the other.
However, “left bank” and “right bank” in hydrology are normally defined while facing downstream. If line direction does not consistently run downstream, simply using GIS left and right will not reliably reproduce hydrological left and right banks.
The semantic direction must first be established.
Linear infrastructure
Pipelines, transmission lines, canals, and other linear infrastructure can have side-specific easements, inspection zones, or proposed works.
Again, the dataset needs an unambiguous directional convention if the workflow refers to left and right.
Directional corridors
A planning or engineering workflow may require a setback only on one side of a proposed alignment.
Single-sided buffering can represent that geometric rule directly.
In all these examples, the operation is useful because both sides would mean something different from the intended question, not merely because one side makes a cleaner map.
Do not infer semantic sides from arbitrary geometry direction
This is the most important analytical caution.
Suppose a road dataset happens to run from point A to point B. That coordinate order does not automatically mean that the GIS right side corresponds to:
the east side of the road;
the outbound side;
the right-hand traffic side;
the downhill side;
a legally defined roadside;
the side represented by some external field called
RIGHT.
Those interpretations require additional information.
A single-sided buffer knows only the geometry's coordinate direction. It has no understanding of traffic, hydrology, legal designation, or orientation on the Earth's surface.
So before giving the resulting polygon a meaningful label such as left bank buffer or east-side setback, establish that the input direction actually supports that interpretation.
Multi-segment lines can turn
Left and right remain relative to the direction of the line as it bends.
Consider a line that first travels east and then turns north:
↑
|
|
--------+
→The left side is not a fixed compass direction such as north or west. It follows the orientation of each segment along the directed path.
This is why a single-sided buffer can wrap around a curved or angular line.
It is defining an offset side relative to the geometry, not selecting one half of the map.
Join style affects corners
When a buffered line changes direction, the buffer must decide how to construct the polygon around the corner.
Common join styles include:
round;
mitre;
bevel.
QGIS's current single-sided buffer operation exposes these alternatives directly.
A round join creates a curved transition.
A bevel join cuts the corner.
A mitred join extends the offset edges until they meet, potentially creating a sharp point.
The difference can matter when the line has acute angles. A mitred corner can extend considerably farther than the nominal buffer distance near a sharp bend, which is why implementations commonly provide a mitre limit.
The appropriate style depends on what the buffered geometry is meant to represent.
End behaviour matters too
A finite line also has endpoints.
A conventional two-sided buffer may use rounded, flat, or square caps at those ends depending on the software settings.
Single-sided buffer implementations can behave differently.
For example, PostGIS uses square end caps by default when side=left or side=right is specified, while also exposing other buffer styling parameters.
This means that two buffers with the same line and distance can differ around their endpoints even if they occupy the same side.
For casual proximity mapping, that difference may be negligible. For precise corridor construction, it can matter.
Single-sided buffer is not the same as an offset curve
An offset curve also constructs geometry to one side of a line, so the two concepts can look similar.
The difference is the output geometry.
A single-sided buffer produces a polygonal area between the original line and an offset boundary.
An offset curve normally produces another line displaced from the original.
Conceptually:
Single-sided buffer:
+-----------------------
| polygon area
--+-----------------------
original line
Offset curve:
------------------------ offset line
------------------------ original lineIf the desired result is a corridor or setback area, a buffer is appropriate.
If the desired result is another parallel or approximately parallel line, an offset-curve operation may express the task more directly.
Single-sided buffering is not a replacement for road polygons
A road centreline plus a buffer can sometimes be used to create an approximate road footprint.
But that does not mean the buffer represents the observed or legal road boundary.
Real road widths may:
vary along the route;
differ between lanes;
widen at junctions;
include medians or shoulders;
change between surveyed sections.
A constant buffer around a centreline imposes a geometric width assumption.
Single-sided buffering can make that assumption asymmetric, but it does not make it observed reality.
The output should therefore be described as a constructed corridor unless the buffer distances are supported by appropriate source information.
Overlapping line buffers create another decision
If several line features are close together, their buffers may overlap.
You then need to decide whether each buffered feature should remain independently identifiable or whether all overlapping polygons should be combined into a continuous coverage area.
That is a different question from choosing one side or both sides.
A single-sided buffer can still overlap another single-sided buffer. Likewise, two-sided buffers can either remain separate or be dissolved afterwards.
The planned Dissolved vs Overlapping Buffers article owns that feature-structure decision.
CRS and distance still matter
Choosing left or right changes where the buffer is constructed, but it does not resolve how far the chosen buffer distance represents.
A value of 100 is useful only if the operation interprets that value using suitable units and a suitable distance model.
The same coordinate-reference considerations that apply to ordinary buffers apply to single-sided ones.
That question is deliberately separate from the current distinction and belongs in Why Buffer Distance Depends on the CRS.
When should you use a two-sided buffer?
Use a conventional two-sided line buffer when the question treats both sides equally:
What lies within 100 metres of this river?
Which parcels are within 500 metres of this road?
What area forms a 50-metre corridor around this pipeline?
In these cases, side is not analytically meaningful.
A two-sided buffer is simpler and avoids introducing a dependency on line direction.
When should you use a single-sided buffer?
Use a single-sided buffer when the question explicitly distinguishes one side of a directed linear feature:
What area lies within 30 metres on the right side of this alignment?
What is the regulated setback from the left bank, assuming river lines are consistently directed downstream?
Which properties fall within the designated corridor on one side of this route?
Before running it, verify:
what left or right is supposed to mean;
which direction the source line actually runs;
whether that direction is consistent across features;
whether join and endpoint behaviour matter;
whether the buffer distance and units are appropriate.
If the first three cannot be established, a left- or right-side buffer may produce geometrically valid polygons with the wrong geographic meaning.
The difference is not merely half a buffer
A single-sided buffer can look like half of a normal buffer, but that description hides its most important property.
It is not simply “the upper half”, “the eastern half”, or some fixed side of the map.
It is the area on one side of a directed geometry.
That makes line orientation part of the analytical input.
A two-sided buffer can usually ignore that direction because it expands to both sides. A single-sided buffer cannot.
So the practical rule is straightforward:
Use a two-sided buffer when proximity to the line is what matters. Use a single-sided buffer when proximity to a particular side of a meaningfully directed line matters.
And whenever the words left or right carry real-world meaning, verify that the geometry knows which way it is facing before trusting the result.
References
QGIS Documentation — Single sided buffer. Documents single-sided buffering for line layers, including left/right side selection, buffer distance, segment resolution, and join styles.
PostGIS — ST_Buffer. Documents
side=both|left|right, defines left and right relative to line direction, and describes related buffer styles such as join and end-cap behaviour.