public void PrepareQueryFilter(gView.Framework.Data.IFeatureLayer layer, gView.Framework.Data.IQueryFilter filter) { List <string> propertyNames = new List <string>(); foreach (Rule rule in _rules) { if (rule == null || rule.Filter == null) { continue; } foreach (string pname in rule.Filter.PropertyNames) { if (propertyNames.Contains(pname)) { continue; } propertyNames.Add(pname); } } foreach (string propertyName in propertyNames) { filter.AddField(propertyName); } if (layer != null && layer.FeatureClass != null) { _featureSRef = layer.FeatureClass.SpatialReference; } else { _featureSRef = null; } }
public gView.Framework.Data.ISelectionSet Select(gView.Framework.Data.IQueryFilter filter) { if (filter is IBufferQueryFilter) { ISpatialFilter sFilter = BufferQueryFilter.ConvertToSpatialFilter(filter as IBufferQueryFilter); if (sFilter == null) { return(null); } return(Select(sFilter)); } filter.SubFields = this.IDFieldName; IFeatureCursor cursor = (IFeatureCursor)(new ShapeFeatureCursor(this, _file, filter, _tree)); IFeature feat; IDSelectionSet selSet = new IDSelectionSet(); while ((feat = cursor.NextFeature) != null) { selSet.AddID((int)((uint)feat.OID)); } cursor.Dispose(); return(selSet); }
public void PrepareQueryFilter(gView.Framework.Data.IFeatureLayer layer, gView.Framework.Data.IQueryFilter filter) { if (_renderer == null) { return; } _renderer.PrepareQueryFilter(layer, filter); }
public void PrepareQueryFilter(gView.Framework.Data.IFeatureLayer layer, gView.Framework.Data.IQueryFilter filter) { foreach (IFeatureRenderer renderer in _renderers) { if (renderer == null) { continue; } renderer.PrepareQueryFilter(layer, filter); } }
public void PrepareQueryFilter(gView.Framework.Data.IFeatureLayer layer, gView.Framework.Data.IQueryFilter filter) { for (int i = 0; i < _renderers.Count; i++) { IFeatureRenderer renderer = _renderers[i]; if (renderer == null) { continue; } filter.AddField("*"); renderer.PrepareQueryFilter(layer, filter); } }
public void PrepareQueryFilter(gView.Framework.Data.IFeatureLayer layer, gView.Framework.Data.IQueryFilter filter) { if (layer.FeatureClass == null) { return; } if (layer.FeatureClass.FindField(_valueField) != null) { filter.AddField(_valueField); } if (layer.FeatureClass.FindField(_symbolRotation.RotationFieldName) != null) { filter.AddField(_symbolRotation.RotationFieldName); } }
async public Task <IFeatureCursor> GetFeatures(gView.Framework.Data.IQueryFilter filter /*, gView.Framework.Data.getFeatureQueryType type*/) { if (filter != null) { bool idField = false; if (filter.SubFields != "*") { foreach (string field in filter.SubFields.Replace(",", " ").Split(' ')) { if (field == this.IDFieldName) { idField = true; break; } } } if (!idField) { filter.AddField(this.IDFieldName); } } if (filter is IBufferQueryFilter) { ISpatialFilter sFilter = await BufferQueryFilter.ConvertToSpatialFilter(filter as IBufferQueryFilter); if (sFilter == null) { return(null); } return(await GetFeatures(sFilter)); } if (filter is IRowIDFilter) { return(new ShapeFeatureCursor(this, _file, filter, ((IRowIDFilter)filter).IDs)); } else { return(new ShapeFeatureCursor(this, _file, filter, _tree)); } }
public gView.Framework.Data.ICursor Search(gView.Framework.Data.IQueryFilter filter) { return(GetFeatures(filter)); }
public void PrepareQueryFilter(gView.Framework.Data.IFeatureLayer layer, gView.Framework.Data.IQueryFilter filter) { }
public gView.Framework.Data.IFeatureCursor Query(gView.Framework.Data.IFeatureClass fc, gView.Framework.Data.IQueryFilter filter) { return(fc.GetFeatures(filter)); }
public void PrepareQueryFilter(IDisplay display, gView.Framework.Data.IFeatureLayer layer, gView.Framework.Data.IQueryFilter filter) { if (_renderer != null) { _renderer.PrepareQueryFilter(display, layer, filter); } }
async public Task <IFeatureCursor> Query(gView.Framework.Data.IFeatureClass fc, gView.Framework.Data.IQueryFilter filter) { if (fc == null) { return(null); } return(await fc.GetFeatures(filter)); }
async public Task <ICursor> Search(gView.Framework.Data.IQueryFilter filter) { return(await GetFeatures(filter)); }