[Qgis-user] Atlas feature id not synchronised

Alexandre Neto senhor.neto at gmail.com
Fri Nov 12 09:07:39 PST 2021


Hi,

That probably depends on what you have in the atlas sorting options, you
can choose any field or expression to sort atlas output, if you really
want, you can use $id as an expression in the sort option or your ID field

Alexandre Neto
User support
www.qcooperative.net

A sexta, 12/11/2021, 16:42, Dario C <dario955i at gmail.com> escreveu:

> very helpful, thanks
>
> any idea why @atlas_featureid start correctly (following layer coverage
> feature) and then continue using odd numbers?
>
> First values for ID field:
> 4,12, 38, 42, 60, etc
>
> First values for @atlas_featureid:
> 4,12,38, 58, 72, etc.
>
> 😐
>
> Il giorno ven 12 nov 2021 alle ore 16:34 Alexandre Neto <
> senhor.neto at gmail.com> ha scritto:
>
>> $id is a function that returns the current layer row id. This id is
>> somehow internal to QGIS and not actually a layer field.
>>
>>
>> https://docs.qgis.org/3.16/en/docs/user_manual/working_with_vector/functions_list.html#expression-function-record-and-attributes-id
>>
>> The @atlas_featureid is the equivalent for the coverage layer.
>>
>> So, if we are talking about the same layer then the two functions
>> represent the same feature.
>>
>> Hope it clarifies.
>>
>> Alexandre Neto
>> User Support
>> www.qcooperative.net
>>
>> On Fri, Nov 12, 2021 at 2:39 PM Dario C <dario955i at gmail.com> wrote:
>>
>>> thank you for your quick response.
>>>
>>> atlas coverage layer is the building layer
>>>
>>> Yes, with  $id = @atlas_featureid is working well!!! Thank you
>>>
>>> Can you please explain, if you don't mind, why? I mean, what's
>>> @atlas_featureid and why $id = @atlas_featureid solve the problem?
>>>
>>>
>>>
>>> Il giorno ven 12 nov 2021 alle ore 15:04 Alexandre Neto <
>>> senhor.neto at gmail.com> ha scritto:
>>>
>>>> Hi Dario,
>>>>
>>>> If the atlas coverage layer is the buildings layer, then you can use:
>>>>
>>>> $id = @atlasfeatureid
>>>>
>>>> If not, if you have a common attribute called ID between the building
>>>> layer and your coverage layer, you can use:
>>>>
>>>> "ID" =  attributes( @atlas_feature)['ID']
>>>>
>>>>
>>>> Hope it helps
>>>>
>>>> Alexandre Neto
>>>> User Support
>>>> www.qcooperative.net
>>>>
>>>> On Fri, Nov 12, 2021 at 1:50 PM Dario <dario955i at gmail.com> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> I’m doing a report and it is happening something odd. I don’t know if
>>>>> it a bug or something I’m not doing well (probably).
>>>>>
>>>>> - I have a layer with an ID as integer and unique
>>>>> - I have categorised my layer by rule, in order to show only the
>>>>> analysed building: “ID=@atlasfeatureid+1”
>>>>> - I’m using this ID as controller of my group report
>>>>> - I have added a textfield to show some field and “atlasfeatureid+1”
>>>>> for a double check
>>>>> - first three pages are ok, after map and text are synchro, but the
>>>>> categorised building does not work and indeed atlasfeatureid shows number
>>>>> completely different with ID
>>>>>
>>>>>
>>>>> I have no idea why :(
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> _
>>>>> _______________________________________________
>>>>> Qgis-user mailing list
>>>>> Qgis-user at lists.osgeo.org
>>>>> List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
>>>>> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user
>>>>>
>>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-user/attachments/20211112/567ec0e9/attachment.html>


More information about the Qgis-user mailing list