DK11 for .NET | TatukGIS.NDK.TGIS_LayerVector.Loop | Overloads | Constructors | Fields | Methods | Properties | Events
Prepares enumerator (also known as iterator or cursor) to iterate the layer.
// C# public virtual TGIS_LayerVectorEnumeratorFactory Loop( TGIS_Extent _extent, string _query, TGIS_Shape _shape, string _de9im );
' VisualBasic Public Overridable Function Loop( ByVal _extent As TGIS_Extent, ByVal _query As String, ByVal _shape As TGIS_Shape, ByVal _de9im As String ) As TGIS_LayerVectorEnumeratorFactory
// Oxygene public function Loop( _extent : TGIS_Extent; _query : String; _shape : TGIS_Shape; _de9im : String ) : TGIS_LayerVectorEnumeratorFactory; virtual;
Name | Type | Description |
---|---|---|
_extent | TGIS_Extent | extent of items to be found; expected _extent units are in a Layer coordinate space |
_query | string 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 String | DE-9IM matrix of comparison |
Type | Description |
---|---|
TGIS_LayerVectorEnumeratorFactory | Shape itself or nil. |
// Indirect use foreach (shp in layer.Loop( some_extent, "POPULATION>100000 AND AREA>50333") ) { dosomething(); } // Direct enumerator use TGIS_LayerVectorEnumerator en ; en = layer.Loop( some_extent, "POPULATION>100000 AND AREA>50333").GetEnumerator() ; while (en.MoveNext()) { shp = en.GetCurrent(); dosomething(); } en.Dispose() ;
'Indirect use For Each shp In layer.Loop( some_extent, "POPULATION>100000 AND AREA>50333") ) dosomething() Next 'Direct enumerator use Dim en As TGIS_LayerVectorEnumerator en = layer.Loop( some_extent, "POPULATION>100000 AND AREA>50333").GetEnumerator() While (en.MoveNext()) shp = en.GetCurrent() dosomething() End While en.Dispose() ;