Finds the first occurrence of an item which meets an extent, query, and additional parameters. Will use RTree if available.
// C# public ITGIS_Shape FindFirst_5( ITGIS_Extent _extent, WideString _query, ITGIS_Shape _shape, WideString _de9im, WordBool _skipDeleted );
' VisualBasic Public Function FindFirst_5( ByVal _extent As ITGIS_Extent, ByVal _query As WideString, ByVal _shape As ITGIS_Shape, ByVal _de9im As WideString, ByVal _skipDeleted As WordBool ) As ITGIS_Shape
// Oxygene public function FindFirst_5( _extent : ITGIS_Extent; _query : WideString; _shape : ITGIS_Shape; _de9im : WideString; _skipDeleted : WordBool ) : ITGIS_Shape;
|_extent||ITGIS_Extent||extent of items to be found; the layer has been attached to the Viewer then expected _extent units are in a Viewer coordinate space; otherwise expected _extent units are in a Layer coordinate space|
|_query||WideString||query which must be matched by item; closely mimics SQL WHERE clause; for examples you can use 'AGE >= 18'; empty (default) means that no items will match.|
|_shape||ITGIS_Shape||if not nil, then only shapes matched _de9im matrix with _shape will be found|
|_de9im||WideString||DE-9IM matrix of comparison|
|_skipDeleted||WordBool||set a skip deleted treatment; by default deleted items will be ignored|
|ITGIS_Shape||Shape itself or nil.|
Use this method to find to the first shape in the layer matching given criteria. Using _query param we can narrow the result of the shape searching down to the minimum. This should speed up our process of locating a desired shape.
To locate a shape, simply choose an existing layer and use FindFirst method of with a proper extent and a SQL query as a WHERE clause.