ArcGIS Explorer Component Help |
Filter Constructor (Geometry, FilterSearchOptions, String) |
Filter Class Example See Also |
Initializes a new instance of the Filter class which can be passed into the Table.Search method
to perform both an attribute and a spatial query in a single search.
The RowCollection returned from the Search method will contain data for all columns in the Table.
Namespace:
ESRI.ArcGISExplorer.DataAssembly: ESRI.ArcGISExplorer (in ESRI.ArcGISExplorer.dll) Version: 2.0.0.1500 (2.0.0.1500)
Syntax
C# |
---|
public Filter( Geometry geometry, FilterSearchOptions spatialSearchType, string whereClause ) |
Visual Basic (Declaration) |
---|
Public Sub New ( _ geometry As Geometry, _ spatialSearchType As FilterSearchOptions, _ whereClause As String _ ) |
Parameters
- geometry
- Type: ESRI.ArcGISExplorer.Geometry..::.Geometry
A Geometry object.
- spatialSearchType
- Type: ESRI.ArcGISExplorer.Data..::.FilterSearchOptions
One of the FilterSearchOptions values which defines the type of spatial relationship to search for between the geometry and the geometries stored in each Row in the Table.
- whereClause
- Type: System..::.String
An SQL statement. The SQL syntax used in the WhereClause must be supported by the underlying database and additionally must be supported by the ArcGIS Explorer API. For more information and links to other documents which discuss SQL syntax, see How to Search a Table.
Remarks
This type of search criteria should only be defined for a spatially enabled Table,
where IsSpatial is true.
Examples
The code below demonstrates how to create a new Filter object that specifies a Geometry,
one of the FilterSearchOptions values and an SQL clause in the constructor.
CopyC#
//Open ArcSDE geodatabase Geodatabase gdb = new Geodatabase(@"C:\Data\SQLServer.sde"); //Open FirePerimeters feature class Table fires = gdb.OpenTable("sde.DBO.FirePerimeters"); //Open Properties feature class Table properties = gdb.OpenTable("sde.DBO.Properties"); //Get a fire polygon by its unique ID Geometry firePoly = fires.GetRow(14).Geometry; //Create the search criteria to find all properties affected by this fire //which are in Running Springs city. Filter searchCriteria = new Filter(firePoly, FilterSearchOptions.Intersects, "CITY='RUNNING SPRINGS'"); //Execute the query RowCollection rows = properties.Search(searchCriteria);
CopyVB.NET
'Open ArcSDE geodatabase Dim gdb As Geodatabase = New Geodatabase("C:\Data\SQLServer.sde") 'Open FirePerimeters feature class Dim fires As Table = gdb.OpenTable("sde.DBO.FirePerimeters") 'Open Properties feature class Dim properties As Table = gdb.OpenTable("sde.DBO.Properties") 'Get a fire polygon by its unique ID Dim firePoly As Geometry = fires.GetRow(14).Geometry 'Create the search criteria to find all properties affected by this fire 'which are in Running Springs city. Dim searchCriteria As Filter = New Filter(firePoly, FilterSearchOptions.Intersects, "CITY='RUNNING SPRINGS'") 'Execute the query Dim rows As RowCollection = properties.Search(searchCriteria)