public static RecordSet QueryFeatures(LayerDescription activelayerdesc, QueryFilter qf, bool useTrueCurves) { QueryResultOptions queryResultOptions = new QueryResultOptions(); queryResultOptions.Format = esriQueryResultFormat.esriQueryResultRecordSetAsObject; GeometryResultOptions geometryResultOptions = new GeometryResultOptions(); geometryResultOptions.MaximumDeviation = 0.0; geometryResultOptions.MaximumSegmentLength = -1.0; geometryResultOptions.MaximumAllowableOffset = 0.0; if (useTrueCurves) { geometryResultOptions.DensifyGeometries = false; } else { geometryResultOptions.DensifyGeometries = true; geometryResultOptions.GeneralizeGeometries = true; } activelayerdesc.LayerResultOptions = new LayerResultOptions { FormatValuesInResults = true, GeometryResultOptions = geometryResultOptions, IncludeGeometry = true, ReturnFieldNamesInResults = true }; QueryResult queryResult = MapServiceFidTests._mapservice.QueryFeatureData2(MapServiceFidTests.name, activelayerdesc, qf, queryResultOptions); return((RecordSet)queryResult.Object); }
public IFeatureCursor GetFeatures(IQueryFilter filter) { if (_dataset == null || _dataset._mapServer == null || _dataset._mapDescription == null) { return(null); } gView.Interoperability.AGS.Proxy.QueryFilter qFilter = ArcServerHelper.QueryFilter(filter, this); try { QueryResultOptions options = new QueryResultOptions(); RecordSet rSet = _dataset._mapServer.QueryFeatureData(_dataset._mapDescription.Name, int.Parse(_id), qFilter); return(new FeatureCursor(rSet)); } catch (Exception ex) { //if (ex.Message == "The requested capability is not supported." && filter is ISpatialFilter && String.IsNullOrEmpty(filter.WhereClause)) //{ // try // { // MapServerIdentifyResult[] res = // _dataset._mapServer.Identify(_dataset._mapDescription, // null, // ((gView.Interoperability.AGS.Proxy.SpatialFilter)qFilter).FilterGeometry, // 0, // esriIdentifyOption.esriIdentifyAllLayers, // new int[] { int.Parse(_id) }); // } // catch (Exception e) // { // } //} throw new gView.Framework.UI.UIException("Can't query features for '" + this.Name + "'!", ex); } }