using GeoAPI.Geometries;
using SharpMap.Data;
namespace SharpMap.Layers
{
///
/// Interface for Layers, that can be queried
///
public interface ICanQueryLayer : ILayer
{
///
/// Returns the data associated with all the geometries that are intersected by 'geom'
///
/// Note! The table added should be named according to the LayerName!
///
/// Bounding box to intersect with
/// FeatureDataSet to fill data into
void ExecuteIntersectionQuery(Envelope box, FeatureDataSet ds);
///
/// Returns the data associated with all the geometries that are intersected by 'geom'
///
/// Note! The table added should be named according to the LayerName!
///
/// Geometry to intersect with
/// FeatureDataSet to fill data into
void ExecuteIntersectionQuery(IGeometry geometry, FeatureDataSet ds);
///
/// Whether the layer is queryable when used in a SharpMap.Web.Wms.WmsServer,
/// ExecuteIntersectionQuery() will be possible in all other situations when set to FALSE.
/// This property currently only applies to WMS and should perhaps be moved to a WMS
/// specific class.
///
bool IsQueryEnabled { get; set; }
}
}