Hi Jon!
I don't know if there's an alternative to GetFeatureCount. At least I
couldn't find one in the API documentation. Maybe there's a workaround
I'm not aware of...
What you could do is wrap the call of GetFeatrueCount in a function
which is killed after some time (2 approaches are discussed here:
https://stackoverflow.com/questions/40915527/kill-function-after-a-given-amount-of-time).
With that approach the question remains of getting the value of
GetFeatureCount when the function gets killed. One could assume that
there are more features than 1 if the function takes too long. This
assumption might be a bit risky though...
Best regards
Roman
Am 20.01.2022 um 10:00 schrieb Jon Morris:
I'm writing applications using the GDAL Python bindings and when I
profile for performance, GetFeatureCount frequently comes out near the
top. I'm often using it to check whether a spatial or attribute filter
has returned any features and don't need the full count. When the
layer contains millions of features, there would be a big performance
improvement if we could exit the count early.
Is there a better way of doing this? I've tried using GetNextFeature
instead, but there must be quite a lot of overhead in that function as
it is much slower. All I need to know is if the layer has has 0, 1 or
>1 features, I don't need the actual count. Can anyone suggest the
fastest way of doing this in Python? I'm using GDAL 3.3.1 at the
moment but could upgrade if there is new functionality that would help.
Thanks,
Jon
*Jon Morris*
*Software Developer*
e: *jon.mor...@jbarisk.com* <mailto:jon.mor...@jbarisk.com>
t: *+44 (0)1756 799919* <tel:+44%20(0)1756%20799919>
*www.jbarisk.com* <http://www.jbarisk.com/>
Facebook <https://www.facebook.com/TheFloodPeople>
LinkedIn <https://www.linkedin.com/company/jba-risk-management/>
Twitter <https://twitter.com/JBARisk>
YouTube <https://www.youtube.com/channel/UC0iatom2jYbW96voW0rlpCw>
All JBA Risk Management's email messages contain confidential
information and are intended only for the individual(s) named. If you
are not the named addressee you should not disseminate, distribute or
copy this e-mail.
Please notify the sender immediately by email if you have received
this email by mistake and delete this email from your system.
JBA Risk Management Limited is registered in England, company number
07732946, 1 Broughton Park, Old Lane North, Broughton, Skipton, North
Yorkshire, BD23 3FD, England.
_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/gdal-dev
_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/gdal-dev