[QGIS-Developer] point in polygon strikes again: big performance issue

Nyall Dawson nyall.dawson at gmail.com
Sun Mar 14 17:01:57 PDT 2021


On Mon, 15 Mar 2021 at 09:56, David Strip <qgis-dev at stripfamily.net> wrote:
>
> On 3/14/2021 5:34 PM, Jorge Gustavo Rocha wrote:
>
> Hi David,
>
> Thanks for replication this issue. "Join attributes by location
> (summary)" is definitely the best choice for this use case. It creates
> the new layer in a few seconds. That's why I think we are missing
> something (spatial indexes?, dependency graph?) in the expression engine.
>
> There are anomalies in the data. That's almost the same with any dataset
> we start working with :-)
>
> Regards,
>
> Jorge
>
> I tried a different approach, using aggregate, matching on the country name, thinking that would be faster than a spatial check.
> I created a new field with the expression:
>
> aggregate( '03-03-2021','sum', "Confirmed", "Country_Region" ILIKE attribute(@parent,'SOVEREIGNT'))
>
> Much to my surprise, this was slower than "Join attributes by location (summary)"

As noted previously in this thread, the expression engined isn't
optimised for this kind of use case, vs the processing algorithms
which are HEAVILY optimised!

Like almost everything in GIS, there's many ways to achieve the same
results and some will work better than others! :D

Nyall


>
> _______________________________________________
> QGIS-Developer mailing list
> QGIS-Developer at lists.osgeo.org
> List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer


More information about the QGIS-Developer mailing list