I'm trying to use the following expression in the geometry generator in a QGIS layer to show a 1-mi boundary around points:

buffer(transform($geometry, 'EPSG:4326', 'EPSG:102654'), 5280)

However, the buffer doesn't show

To test, if I transform to the source to and from EPSG:4326, the buffer does work (but obviously doesn't display correctly).

What is it about the EPSG:2877 I'm using that is causing the problem?

  • 4
    interesting, I get the same behavior with other CRS (4326 vs 3857). Indeed it fails just with the transform (shown as point). The function itself is fine, as if used as a label is shows the proper projected coords. – JGH Jan 11 '18 at 19:23

I can confirm this behavior, also in the latest 3.14. It is independet of the used CRS, if a buffer shows it is always in the original CRS, but most times just no buffer at all is shown. However, the expression should be correct. Also using centroid() or others within the actual expression doesnt change things. I am afraid only a developer could answer why this happens.

However, as a workaround you could use a virtual layer using a query such as

select st_buffer(st_transform(layer.geometry,102654),5280) as geom from layer
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.