Is there anything like the QueryTask/FindTask/IdentifyTask classes at 100.x? Or in the works? I can create a ServiceFeatureTable just fine from a map image service and query that, but there are times when the 10.2.x classes come in real handy.
Solved! Go to Solution.
There is no FindTask at the moment.
IdentifyTask has been replaced with the Identify methods directly on the GeoView should should make creating idenfy across many layers much much easier.
QueryTask has been replaced with query against a ServiceFeatureTable.
Also, is there a way to retrieve something like a ArcGISMapImageSublayer info for tables in a map image service? IdInfos don't cut the mustard, and hydrating a ServiceFeatureTable is a serious performance hit. I really hate the thought of wrapping the REST API in my own classes when 10.2.x does it so conveniently.
private static ArcGISMapServiceSublayerInfo GetInfoFromUrl(string sServiceUrl, long iSubLayerID)
{
// Create sublayer info from JSON
string sLayerUrl = sServiceUrl + "/" + iSubLayerID.ToString();
string sRequest = sLayerUrl + "?f=json";
HttpWebRequest r = (HttpWebRequest)WebRequest.Create(sRequest);
r.UseDefaultCredentials = true;
r.PreAuthenticate = true;
r.Credentials = CredentialCache.DefaultCredentials;
HttpWebResponse result = (HttpWebResponse) r.GetResponse();
string sJSON;
using (StreamReader sr = new StreamReader(result.GetResponseStream()))
{
sJSON = sr.ReadToEnd();
}
ArcGISMapServiceSublayerInfo info = ArcGISMapServiceSublayerInfo.FromJson(sJSON);
return info;
}
Why not json.net?
No real reason -- it's a good library. I just don't like the dependency. Same reason I avoid MVVM Light and stick to System.Windows.Interactivity.
There is no FindTask at the moment.
IdentifyTask has been replaced with the Identify methods directly on the GeoView should should make creating idenfy across many layers much much easier.
QueryTask has been replaced with query against a ServiceFeatureTable.
Thanks for the info. Are ServiceFeatureTables limited by maxRecordCount, or do they work around it by querying IDs first? Also, a unique values method would be very useful.
They are currently limited by maxRecordCount. Paging and Statistics Queries are scheduled to be coming in the next update.
You can get around maxRecordCount by repeating the query and add "WHERE ObjectID > [HighestOIDSoFar"
The GeoView identify methods are a good start, but limited in that they only allow a screen point and tolerance. Ideally, general geometry types should be supported.