How to force populate from service not returning only a subset of features considering the max record count?

633
1
06-03-2021 10:00 AM
OSINT_ENGINEER
New Contributor III

Is it possible by using FeatureRequestMode::ManualCache to let the runtime manual cache all features without considering the max record count or do we have to query and insert the features by chunks on our own?

 

m_acledFeatureTable = new ServiceFeatureTable(QUrl("~/FeatureServer/1"), this);
    connect(m_acledFeatureTable, &ServiceFeatureTable::doneLoading, this, &AcledLayerSource::doneLoading);
    if (useManualCaching)
    {
        m_acledFeatureTable->setFeatureRequestMode(FeatureRequestMode::ManualCache);
        QueryParameters queryAll;
        queryAll.setWhereClause("1=1");
        queryAll.setMaxFeatures(std::numeric_limits<int>().max());
        m_acledFeatureTable->populateFromService(queryAll, true, QStringList { "*" });
    }

 

 

 

 

0 Kudos
1 Reply
LucasDanzinger
Esri Frequent Contributor

You will need to request features in chunks until the exceededTransferLimit becomes false. This .NET post has an example of paging the queries you could take inspiration from - https://community.esri.com/t5/arcgis-runtime-sdk-for-net/queryfeaturesasync-paging/td-p/15458 

0 Kudos