QGIS Field Calculator – Resolve NULL Values when Using overlay_within Function

expressionfield-calculatorpoint-in-polygonqgiswithin

I have two layers, a point layer and a polygon layer ('Sektorplan'). The polygon layer attribute table has a "Sektor" column ('1','2', …).

The Goal

I want to add a new column ("Sector") to the attribute table of the point layer to indicate in which sector the point is located.

Tried so far

I used overlay_within('Sektorplan', Sektor) in the field calculator of the point layer.

The Problem

The resulting column only shows NULL. Using a Virtual Field or not does not make any difference. The preview of the field calculator shows up correct (['1']).

Pictures say more than a thousand words

The table of the polygon layer

field calculator

resulting point layer table

Anyone knows what causes this? My search-fu failed me.

Best Answer

overlay_within returns Sektor value of the related polygon feature(s) as a list/array (even if it returns one polygon). You should convert to string.

Set Output field type to Text and use this expression:

array_to_string(overlay_within('Sektorplan', Sektor))

enter image description here