DK11 for ActiveX | TatukGIS_XDK11.ITGIS_LayerPixel.Loop_4 | Methods | Properties
Prepares enumerator to iterate the layer (pixels are treated as points).
// C# public ITGIS_LayerPixelEnumeratorFactory Loop_4( ITGIS_Extent _extent, double _pixelsize, ITGIS_Shape _shape, WideString _de9im, WordBool _writable );
' VisualBasic Public Function Loop_4( ByVal _extent As ITGIS_Extent, ByVal _pixelsize As Double, ByVal _shape As ITGIS_Shape, ByVal _de9im As WideString, ByVal _writable As WordBool ) As ITGIS_LayerPixelEnumeratorFactory
// Oxygene public function Loop_4( _extent : ITGIS_Extent; _pixelsize : Double; _shape : ITGIS_Shape; _de9im : WideString; _writable : WordBool ) : ITGIS_LayerPixelEnumeratorFactory;
Name | Type | Description |
---|---|---|
_extent | ITGIS_Extent | extent of items to be found; expected _extent units are in the Layer coordinate space |
_pixelsize | double Double | minimum requested size of image pixel; by providing 0, the maximum possible resolution will be used, which is also the fastest method if a layer is fully in-memory because, in such situation, a pointer to existing memory is used |
_shape | ITGIS_Shape | if not nil, then only pixels matching _de9im matrix with be found; |
_de9im | WideString | DE-9IM matrix of comparison |
_writable | WordBool | if true than layer will post back any changes in locked area; if write is not possible then TGIS_PixelItem.Writable will be set accordingly |
Type | Description |
---|---|
ITGIS_LayerPixelEnumeratorFactory | Pixel item returned row by row, column by column. |
_pixelsize
By providing _pixelsize=0, a native layer resolution is requested. This is also the fastest method if a layer is fully in-memory because, in such situation, a pointer to existing memory is used
General way to query for terrain profile:
foreach (TatukGIS.NDK.TGIS_PixelItem px in lp.Loop(0, line, false)) { Memo.AppendText( String.Format("Distance: {0}, Height:{1}\r\n", px.Distance, px.Value) ); }
General way to query for pixels within polygon and modifying value:
foreach (TGIS_PixelItem px in lp.Loop(polygon.Extent, 0, polygon, "T", true)) { px.Color = TGIS_Color.Red; }