DK11 for Delphi | GisLayerVector.TGIS_LayerVector.FindFirst | Overloads | Constructors | Fields | Methods | Properties | Events
Finds the first occurrence of an item which meets an extent, query, and additional parameters. Will use RTree if available.
// Delphi public function FindFirst( const _extent : TGIS_Extent; const _query : String; const _shape : TGIS_Shape; const _de9im : String; const _skipDeleted : Boolean ) : TGIS_Shape; overload; virtual;
// C++ Builder public: virtual TGIS_Shape* FindFirst( TGIS_Extent* const _extent, const UnicodeString _query, TGIS_Shape* const _shape, const UnicodeString _de9im, const bool _skipDeleted ) /* overload */;
Name | Type | Description |
---|---|---|
_extent | TGIS_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 | String | 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 | TGIS_Shape | if not nil, then only shapes matched _de9im matrix with _shape will be found |
_de9im | String | DE-9IM matrix of comparison |
_skipDeleted | Boolean | set a skip deleted treatment; by default deleted items will be ignored |
Type | Description |
---|---|
TGIS_Shape | Shape itself or nil. |
See: FindNext
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.