<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Specify outFields in Quartz in ArcGIS Runtime SDK for iOS Questions</title>
    <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/specify-outfields-in-quartz/m-p/146479#M1358</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Would it be correct to assume that this applies to queries from a local geodatabase as well?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What will be returned by&amp;nbsp;&lt;SPAN style="background-color: #ffffff;"&gt;AGSQueryFeatureFieldsIDsOnly?&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff;"&gt;This all or nothing approach to returning fields has the potential to create some significant unnecessary memory usage or slowdown when querying large volumes of data. &amp;nbsp;It was great to be able to minimize the fields returned to only those needed for the current analysis/task.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 27 Dec 2016 20:12:35 GMT</pubDate>
    <dc:creator>MichaelDavis3</dc:creator>
    <dc:date>2016-12-27T20:12:35Z</dc:date>
    <item>
      <title>Specify outFields in Quartz</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/specify-outfields-in-quartz/m-p/146475#M1354</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Can we specify the outFields when querying a server based feature layer in Quartz?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;At 10.2.5 - the AGSQuery object had an outFields property which took a list of fields and mapped them to the REST API outFields parameter.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In Quartz 10.0, the AGSQueryParameters object does not have an outFields property.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The AGSServiceFeatureTable object does have a method called queryFeaturesWithParameters:fields:completion: but the fields parameter takes an enum with only three options:&amp;nbsp;&lt;/P&gt;&lt;P&gt;- AGSQueryFeatureFieldsIDsOnly &lt;BR /&gt;- AGSQueryFeatureFieldsMinimum &lt;BR /&gt;- AGSQueryFeatureFieldsLoadAll&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is there some other way to specify the out fields when querying against the ArcGIS Server REST API?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 27 Nov 2016 19:36:46 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/specify-outfields-in-quartz/m-p/146475#M1354</guid>
      <dc:creator>JamesRichards1</dc:creator>
      <dc:date>2016-11-27T19:36:46Z</dc:date>
    </item>
    <item>
      <title>Re: Specify outFields in Quartz</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/specify-outfields-in-quartz/m-p/146476#M1355</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hello,&amp;nbsp;&lt;BR /&gt;Yes, &lt;EM&gt;AGSQueryParameters&lt;/EM&gt;&amp;nbsp;no longer has &lt;EM&gt;outFields&lt;/EM&gt;. You can use one of the&amp;nbsp;&lt;EM&gt;AGSQueryFeatureFields&lt;/EM&gt; enum values or use the service feature table in &lt;EM&gt;ManualCache&lt;/EM&gt; mode which allows specifying &lt;EM&gt;outFields&lt;/EM&gt;.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The concept of loading features into&amp;nbsp;tables in 100.0.0&amp;nbsp;is different from 10.x where all the fields were brought by default and features were in memory, so you could use &lt;EM&gt;outFields&lt;/EM&gt; to easily get a subset of fields.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="text-decoration: underline;"&gt;&lt;STRONG&gt;100.0.0 &lt;STRONG style="text-decoration: underline;"&gt;featureRequestMode&amp;nbsp;&lt;/STRONG&gt;OnInteractionCache:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;In 100.0.0, the default &lt;EM&gt;featureRequestMode&lt;/EM&gt; of &lt;EM&gt;AGSServiceFeatureTable&lt;/EM&gt; (&lt;STRONG&gt;&lt;EM&gt;OnInteractionCache&lt;/EM&gt;&lt;/STRONG&gt;) brings down just the minimum set of fields required for rendering of features on map in addition to any editor tracking fields. This enables rendering and&amp;nbsp;working with large number of features with just necessary fields&amp;nbsp;to start with,&amp;nbsp;without the overload of fetching everything. A feature could then be &lt;EM&gt;loaded&lt;/EM&gt; to get all fields as needed, for instance when beginning to edit.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When querying a table in this mode, you can request for&amp;nbsp;&lt;BR /&gt;- IDs only&amp;nbsp;&lt;BR /&gt;- Minimum fields required for rendering (which is what happens when the&amp;nbsp;layer is added to a map)&lt;BR /&gt;- Load all features which means all fields are queried&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The query in this mode&amp;nbsp;could be local or an online query depending on whether the features are already in the table and the AGSQueryFeatureFields&amp;nbsp;enum chosen.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="text-decoration: underline;"&gt;100.0.0&amp;nbsp;featureRequestMode&amp;nbsp;ManualCache:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;If you set &lt;EM&gt;featureRequestMode&lt;/EM&gt; on the table to &lt;STRONG&gt;&lt;EM&gt;ManualCache&lt;/EM&gt;&lt;/STRONG&gt;, it means the features would be populated from the server once, and would be used locally there forth,&amp;nbsp;likely in a disconnected environment. You can specify &lt;EM&gt;outFields&lt;/EM&gt; then&amp;nbsp;while populating using the method&amp;nbsp;&lt;EM&gt;&lt;STRONG&gt;populateFromServiceWithParameters:clearCache:outFields:completion:&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;Note that &lt;STRONG&gt;querying is always local&lt;/STRONG&gt; in Manual Cache mode.&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 28 Nov 2016 18:01:24 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/specify-outfields-in-quartz/m-p/146476#M1355</guid>
      <dc:creator>SuganyaBaskaran1</dc:creator>
      <dc:date>2016-11-28T18:01:24Z</dc:date>
    </item>
    <item>
      <title>Re: Specify outFields in Quartz</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/specify-outfields-in-quartz/m-p/146477#M1356</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Suganya, Thanks for your answer. Followup question: When&amp;nbsp;using the method&amp;nbsp;&lt;EM style="border: 0px; font-weight: inherit;"&gt;&lt;STRONG style="border: 0px; font-weight: bold;"&gt;populateFromServiceWithParameters:clearCache:outFields:completion:&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P style="background-color: #ffffff; border: 0px;"&gt;is it subject to the maxRecordCount limit?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 28 Nov 2016 18:42:14 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/specify-outfields-in-quartz/m-p/146477#M1356</guid>
      <dc:creator>JamesRichards1</dc:creator>
      <dc:date>2016-11-28T18:42:14Z</dc:date>
    </item>
    <item>
      <title>Re: Specify outFields in Quartz</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/specify-outfields-in-quartz/m-p/146478#M1357</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;James,&amp;nbsp;&lt;BR /&gt;Yes, it is.&amp;nbsp;You can check &lt;EM&gt;AGSFeatureQueryResult's&lt;/EM&gt; &lt;EM&gt;transferLimitExceeded&lt;/EM&gt;.&lt;/P&gt;&lt;P&gt;We have plans to add support for paging queries in an upcoming release&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Suganya&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 28 Nov 2016 19:24:54 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/specify-outfields-in-quartz/m-p/146478#M1357</guid>
      <dc:creator>SuganyaBaskaran1</dc:creator>
      <dc:date>2016-11-28T19:24:54Z</dc:date>
    </item>
    <item>
      <title>Re: Specify outFields in Quartz</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/specify-outfields-in-quartz/m-p/146479#M1358</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Would it be correct to assume that this applies to queries from a local geodatabase as well?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What will be returned by&amp;nbsp;&lt;SPAN style="background-color: #ffffff;"&gt;AGSQueryFeatureFieldsIDsOnly?&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff;"&gt;This all or nothing approach to returning fields has the potential to create some significant unnecessary memory usage or slowdown when querying large volumes of data. &amp;nbsp;It was great to be able to minimize the fields returned to only those needed for the current analysis/task.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 27 Dec 2016 20:12:35 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/specify-outfields-in-quartz/m-p/146479#M1358</guid>
      <dc:creator>MichaelDavis3</dc:creator>
      <dc:date>2016-12-27T20:12:35Z</dc:date>
    </item>
    <item>
      <title>Re: Specify outFields in Quartz</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/specify-outfields-in-quartz/m-p/146480#M1359</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Would it be correct to assume that this applies to queries from a local geodatabase as well?&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;Queries in a local geodatabase are always local.&lt;EM&gt;&amp;nbsp;&lt;/EM&gt;The query therefore returns all the fields that are in the geodatabase (loaded feature)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;EM&gt;&lt;SPAN style="background-color: #ffffff;"&gt;What will be returned by&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff; border: 0px;"&gt;AGSQueryFeatureFieldsIDsOnly?&amp;nbsp;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Unloaded features that have&amp;nbsp;&lt;EM&gt;ObjectID&lt;/EM&gt; and &lt;EM&gt;GlobalID&lt;/EM&gt; fields will be returned&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;SPAN style="background-color: #ffffff;"&gt;This all or nothing approach to returning fields has the potential to create some significant unnecessary memory usage or slowdown when querying large volumes of data&lt;/SPAN&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It's not really all or nothing.&lt;/P&gt;&lt;P&gt;If you want the features on the map, it must have the required fields for rendering and editing. That's the minimum set of fields returned using&amp;nbsp;&lt;EM style="background-color: #ffffff; color: #000000; font-size: 14px;"&gt;AGSQueryFeatureFieldsMinimum.&lt;/EM&gt;&lt;SPAN style="color: #000000; background-color: #ffffff; font-size: 14px;"&gt;&amp;nbsp;In this case,&amp;nbsp;features are loaded as needed.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;If the features won't be on the map, then you can just request for &lt;EM&gt;IDsOnly&lt;/EM&gt; if the number of features is going to be more. or simply &lt;EM&gt;LoadAll&lt;/EM&gt;.&amp;nbsp;&lt;/P&gt;&lt;P&gt;You could use &lt;EM&gt;ServiceFeatureTable's&lt;/EM&gt;&amp;nbsp;ManualCache mode to specify custom outfields.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Let us know if your requirement still necessitates &lt;EM&gt;outFields&lt;/EM&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Jan 2017 01:00:03 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/specify-outfields-in-quartz/m-p/146480#M1359</guid>
      <dc:creator>SuganyaBaskaran1</dc:creator>
      <dc:date>2017-01-05T01:00:03Z</dc:date>
    </item>
    <item>
      <title>Re: Specify outFields in Quartz</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/specify-outfields-in-quartz/m-p/146481#M1360</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Our users frequently do a lot of their work outside the traditional map view. &amp;nbsp;We often use a list view (UITableView) that will let the user browse collected data, generally by date. &amp;nbsp;An example (communication log from a marine mammal observation app) is below:&lt;IMG class="image-1 jive-image" src="https://community.esri.com/legacyfs/online/296427_pastedImage_2.png" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This list might return&amp;nbsp;anywhere from 1-5000+ entries long, depending on specified date ranges or other limiting factors.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In Runtime 2.5 and earlier we can specify exactly which fields we want to pull in the query to minimize the time it takes to run. &amp;nbsp;Over the years we've found that this can shave seconds off the response time with large data sets.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;An IDs-Only query wouldn't return enough information to create this list view, and regardless we were burned enough by GlobalIDs and ObjectIDs in the past that we've standardized on using our own GUID fields to maintain relationships.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;All of our apps are built to work primarily offline so we are only looking at interacting with a sqlite .geodatabase, not feature services.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Jan 2017 21:19:39 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/specify-outfields-in-quartz/m-p/146481#M1360</guid>
      <dc:creator>MichaelDavis3</dc:creator>
      <dc:date>2017-01-05T21:19:39Z</dc:date>
    </item>
  </channel>
</rss>

