using System; using System.Collections.Generic; using GeoAPI.Geometries; namespace Deltares.Maps { public interface IFeatureRepository : IFeatureCollection { IGeometry GetGeometryById(Guid id); IEnumerable> GetAttributes(IGeometry geom); IEnumerable FeatureIds { get; } IEnumerable Features { get; } IEnumerable SupportedAttributes { get; } /// /// Returns a list of features which may lie in the given search envelope /// /// /// IEnumerable Query(IFeature feature); /// /// Returns a list of features which may lie in the given search envelope /// /// /// IEnumerable Query(IGeometry feature); /// /// Returns a list of features which may lie in the given search envelope /// /// /// IEnumerable Query(Envelope feature); void Add(Feature feature, Func predicate); void Remove(Func predicate); } }