<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><font face="Tahoma">Hi Jon!</font></p>
    <p><font face="Tahoma">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...<br>
      </font></p>
    <p><font face="Tahoma">What you could do is wrap the call of
        GetFeatrueCount in a function which is killed after some time (2
        approaches are discussed here:
<a class="moz-txt-link-freetext" href="https://stackoverflow.com/questions/40915527/kill-function-after-a-given-amount-of-time">https://stackoverflow.com/questions/40915527/kill-function-after-a-given-amount-of-time</a>).
        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...</font></p>
    <p><font face="Tahoma">Best regards<br>
        Roman<br>
      </font></p>
    <div class="moz-cite-prefix">Am 20.01.2022 um 10:00 schrieb Jon
      Morris:<br>
    </div>
    <blockquote type="cite"
cite="mid:LO2P123MB48614F07875A3903D86A6D60825A9@LO2P123MB4861.GBRP123.PROD.OUTLOOK.COM">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <style>@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Arial",sans-serif;
        color:black;
        font-weight:normal;
        font-style:normal;
        text-decoration:none none;}.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}div.WordSection1
        {page:WordSection1;}</style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
      <div class="WordSection1">
        <p class="MsoNormal"><span
            style="font-family:"Arial",sans-serif;color:black">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.<o:p></o:p></span></p>
        <p class="MsoNormal"><span
            style="font-family:"Arial",sans-serif;color:black"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
            style="font-family:"Arial",sans-serif;color:black">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.<o:p></o:p></span></p>
        <p class="MsoNormal"><span
            style="font-family:"Arial",sans-serif;color:black"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
            style="font-family:"Arial",sans-serif;color:black">Thanks,<o:p></o:p></span></p>
        <p class="MsoNormal"><span
            style="font-family:"Arial",sans-serif;color:black"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
            style="font-family:"Arial",sans-serif;color:black">Jon<o:p></o:p></span></p>
        <p class="MsoNormal"><span
            style="font-family:"Arial",sans-serif;color:black"><o:p> </o:p></span></p>
        <p class="MsoNormal"><b><span
style="font-family:"Arial",sans-serif;color:#F6A124;mso-fareast-language:EN-GB">Jon
              Morris<o:p></o:p></span></b></p>
        <p class="MsoNormal"><b><span
style="font-family:"Arial",sans-serif;color:#4A4A49;mso-fareast-language:EN-GB">Software
              Developer<o:p></o:p></span></b></p>
        <p class="MsoNormal"><span
style="font-family:"Arial",sans-serif;color:black;mso-fareast-language:EN-GB"><o:p> </o:p></span></p>
        <p class="MsoNormal"><o:p> </o:p></p>
      </div>
      <div dir="ltr"
style="mso-line-height-rule:exactly;-webkit-text-size-adjust:100%;direction:ltr;">
        <table style="width:100%;" cellspacing="0" cellpadding="0"
          border="0">
          <tbody>
            <tr style="font-size:0;">
              <td style="vertical-align:top;" align="left">
                <table style="font-size:0;" cellspacing="0"
                  cellpadding="0" border="0">
                  <tbody>
                    <tr style="font-size:0;">
                      <td style="padding:10px 0 0;vertical-align:top;"
                        align="left">
                        <table
style="font-size:0;color:#4A4A49;font-style:normal;font-weight:700;white-space:nowrap;"
                          cellspacing="0" cellpadding="0" border="0">
                          <tbody>
                            <tr style="font-size:14.67px;">
                              <td
                                style="padding:0;vertical-align:top;font-family:Arial;"
                                align="left">e: <span
style="font-family:remialcxesans;font-size:1px;color:#FFFFFF;line-height:1px;">​</span></td>
                              <td style="padding:0 0 0
                                4px;vertical-align:top;color:#F6A124;font-family:Arial;font-weight:400;"
                                align="left"><a
                                  href="mailto:Jon.Morris@jbarisk.com"
                                  target="_blank" id="LPlnk689713"
                                  style="text-decoration:none;color:#F6A124;"
                                  moz-do-not-send="true"><strong
                                    style="font-weight:400;">Jon.Morris@jbarisk.com</strong></a></td>
                            </tr>
                            <tr style="font-size:14.67px;">
                              <td
                                style="padding:0;vertical-align:top;font-family:Arial;"
                                align="left">t: </td>
                              <td style="padding:0 0 0
                                4px;vertical-align:top;color:#F6A124;font-family:Arial;font-weight:400;"
                                align="left"><a
                                  href="tel:+44%20(0)1756%20799919"
                                  target="_blank" id="LPlnk689713"
                                  style="text-decoration:none;color:#F6A124;"
                                  moz-do-not-send="true"><strong
                                    style="font-weight:400;">+44 (0)1756 799919</strong></a></td>
                            </tr>
                            <tr style="font-size:0;">
                              <td style="padding:0;vertical-align:top;"
                                align="left"><br>
                              </td>
                              <td style="padding:0 0 0
                                4px;vertical-align:top;" align="left"><br>
                              </td>
                            </tr>
                          </tbody>
                        </table>
                      </td>
                    </tr>
                  </tbody>
                </table>
              </td>
            </tr>
            <tr
style="color:#000001;font-size:14.67px;font-style:normal;font-weight:400;white-space:nowrap;">
              <td style="vertical-align:top;font-family:Arial;"
                align="left"><a href="http://www.jbarisk.com/"
                  target="_blank" id="LPlnk689713" title="Click to visit
                  our website"
                  style="text-decoration:none;color:#F6A124;"
                  moz-do-not-send="true"><strong
                    style="font-weight:400;">www.jbarisk.com</strong></a></td>
            </tr>
            <tr style="font-size:0;">
              <td style="vertical-align:top;" align="left">
                <table style="font-size:0;" cellspacing="0"
                  cellpadding="0" border="0">
                  <tbody>
                    <tr style="font-size:0;">
                      <td style="padding:10px 0 0;vertical-align:top;"
                        align="left">
                        <table style="font-size:0;" cellspacing="0"
                          cellpadding="0" border="0">
                          <tbody>
                            <tr style="font-size:0;">
                              <td rowspan="3" style="padding:0 0
                                5px;vertical-align:top;" align="left">
                                <table style="width:100%;font-size:0;"
                                  cellspacing="0" cellpadding="0"
                                  border="0">
                                  <tbody>
                                    <tr style="font-size:0;">
                                      <td style="vertical-align:top;"
                                        align="left">
                                        <table
                                          style="font-size:0;line-height:normal;"
                                          cellspacing="0"
                                          cellpadding="0" border="0">
                                          <tbody>
                                            <tr style="font-size:0;">
                                              <td style="padding:10px 0
15px;vertical-align:top;" align="left"><img
                                                  src="cid:part1.0esr6hgu.CVr9uaW9@gmail.com"
                                                  alt=""
                                                  style="height:52px;min-height:52px;max-height:52px;font-size:0;"
                                                  class="" height="52"
                                                  border="0"></td>
                                            </tr>
                                          </tbody>
                                        </table>
                                      </td>
                                    </tr>
                                    <tr style="font-size:0;">
                                      <td style="vertical-align:top;"
                                        align="left">
                                        <table style="font-size:0;"
                                          cellspacing="0"
                                          cellpadding="0" border="0">
                                          <tbody>
                                            <tr style="font-size:0;">
                                              <td style="padding:0 0
                                                12px;vertical-align:top;"
                                                align="left">
                                                <table
                                                  style="height:30px;font-size:0;"
                                                  cellspacing="0"
                                                  cellpadding="0"
                                                  border="0">
                                                  <tbody>
                                                    <tr
                                                      style="font-size:0;">
                                                      <td
                                                        style="vertical-align:top;"
                                                        align="left">
                                                        <table
                                                          style="font-size:0;line-height:normal;"
cellspacing="0" cellpadding="0" border="0">
                                                          <tbody>
                                                          <tr
                                                          style="font-size:0;">
                                                          <td
                                                          style="padding:0
                                                          4px 5px
                                                          0;vertical-align:top;"
                                                          align="left"><a
href="https://www.facebook.com/TheFloodPeople" target="_blank"
                                                          id="LPlnk689713"
style="text-decoration:none;" moz-do-not-send="true"><img
                                                          src="cid:part2.7LjeqlyX.Ist81ViG@gmail.com"
title="Facebook" alt="Facebook"
                                                          style="width:34px;min-width:34px;max-width:34px;font-size:12px;"
                                                          class=""
                                                          width="34"
                                                          border="0"></a></td>
                                                          </tr>
                                                          </tbody>
                                                        </table>
                                                      </td>
                                                      <td
                                                        style="vertical-align:top;"
                                                        align="left">
                                                        <table
                                                          style="font-size:0;line-height:normal;"
cellspacing="0" cellpadding="0" border="0">
                                                          <tbody>
                                                          <tr
                                                          style="font-size:0;">
                                                          <td
                                                          style="padding:0
                                                          4px 5px
                                                          0;vertical-align:top;"
                                                          align="left"><a
href="https://www.linkedin.com/company/jba-risk-management/"
                                                          target="_blank"
id="LPlnk689713" style="text-decoration:none;" moz-do-not-send="true"><img
src="cid:part3.eFhRoBO6.t0HOEJUz@gmail.com" title="LinkedIn"
                                                          alt="LinkedIn"
style="width:34px;min-width:34px;max-width:34px;font-size:12px;"
                                                          class=""
                                                          width="34"
                                                          border="0"></a></td>
                                                          </tr>
                                                          </tbody>
                                                        </table>
                                                      </td>
                                                      <td
                                                        style="vertical-align:top;"
                                                        align="left">
                                                        <table
                                                          style="font-size:0;line-height:normal;"
cellspacing="0" cellpadding="0" border="0">
                                                          <tbody>
                                                          <tr
                                                          style="font-size:0;">
                                                          <td
                                                          style="padding:0
                                                          4px 5px
                                                          0;vertical-align:top;"
                                                          align="left"><a
href="https://twitter.com/JBARisk" target="_blank" id="LPlnk689713"
                                                          style="text-decoration:none;"
moz-do-not-send="true"><img src="cid:part4.369kEPG0.Lo9mYmNJ@gmail.com"
title="Twitter" alt="Twitter"
                                                          style="width:34px;min-width:34px;max-width:34px;font-size:12px;"
                                                          class=""
                                                          width="34"
                                                          border="0"></a></td>
                                                          </tr>
                                                          </tbody>
                                                        </table>
                                                      </td>
                                                      <td
                                                        style="vertical-align:top;"
                                                        align="left">
                                                        <table
                                                          style="font-size:0;line-height:normal;"
cellspacing="0" cellpadding="0" border="0">
                                                          <tbody>
                                                          <tr
                                                          style="font-size:0;">
                                                          <td
                                                          style="padding:0
                                                          4px 5px
                                                          0;vertical-align:top;"
                                                          align="left"><a
href="https://www.youtube.com/channel/UC0iatom2jYbW96voW0rlpCw"
                                                          target="_blank"
id="LPlnk689713" style="text-decoration:none;" moz-do-not-send="true"><img
src="cid:part5.pTAwFMWq.0PKRZ3Mh@gmail.com" title="YouTube"
                                                          alt="YouTube"
style="width:34px;min-width:34px;max-width:34px;font-size:12px;"
                                                          class=""
                                                          width="34"
                                                          border="0"></a></td>
                                                          </tr>
                                                          </tbody>
                                                        </table>
                                                      </td>
                                                    </tr>
                                                  </tbody>
                                                </table>
                                              </td>
                                            </tr>
                                          </tbody>
                                        </table>
                                      </td>
                                    </tr>
                                  </tbody>
                                </table>
                              </td>
                              <td style="padding:0;"> </td>
                            </tr>
                            <tr style="font-size:0;">
                              <td style="padding:0;"> </td>
                            </tr>
                            <tr style="font-size:0;">
                              <td style="padding:0;"> </td>
                            </tr>
                          </tbody>
                        </table>
                      </td>
                    </tr>
                  </tbody>
                </table>
              </td>
            </tr>
            <tr style="font-size:0;">
              <td style="vertical-align:top;" align="left">
                <table style="font-size:0;" cellspacing="0"
                  cellpadding="0" border="0">
                  <tbody>
                    <tr style="font-size:0;">
                      <td style="padding:7px 0 5px;border-top:solid 1px
#4A4A49;border-right:none;border-bottom:none;border-left:none;vertical-align:top;"
                        align="left">
                        <table
style="white-space:normal;color:#444444;font-size:14.67px;font-family:Calibri,Arial,sans-serif;font-weight:400;font-style:normal;text-align:left;line-height:12px;"
                          cellspacing="0" cellpadding="0" border="0">
                          <tbody>
                            <tr style="font-size:9px;">
                              <td style="font-family:Arial;"><span
                                  style="background-color:#FFFFFF;">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.</span><br>
                                <span style="background-color:#FFFFFF;">Please
                                  notify the sender immediately by email
                                  if you have received this email by
                                  mistake and delete this email from
                                  your system.</span> <br>
                                <span style="background-color:#FFFFFF;">JBA
                                  Risk Management Limited is registered
                                  in England, company number 07732946, 1
                                  Broughton Park, Old Lane North,
                                  Broughton, Skipton, North Yorkshire,
                                  BD23 3FD, England</span><span
                                  style="color:#000001;">.</span><br>
                              </td>
                            </tr>
                          </tbody>
                        </table>
                      </td>
                    </tr>
                  </tbody>
                </table>
              </td>
            </tr>
          </tbody>
        </table>
      </div>
      <br>
      <fieldset class="moz-mime-attachment-header"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
gdal-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:gdal-dev@lists.osgeo.org">gdal-dev@lists.osgeo.org</a>
<a class="moz-txt-link-freetext" href="https://lists.osgeo.org/mailman/listinfo/gdal-dev">https://lists.osgeo.org/mailman/listinfo/gdal-dev</a>
</pre>
    </blockquote>
  </body>
</html>