This document is archived and information here might be outdated. Recommended version. |
Populates arrays of WKSPointZs and attributes, and optional arrays of 0-based file indices and 1-based point IDs.
[Visual Basic .NET] Public Sub NextAttrLong ( _ ByVal arraySize As Integer, _ ByRef pPointCount As Integer, _ ByRef pPoints As WKSPointZ, _ ByRef pAttribute As Integer, _ ByVal pIntensity As ILongArray, _ ByVal pFileIndices As ILongArray, _ ByVal pPointIDs As IDoubleArray _ )
[C#] public void NextAttrLong ( int arraySize, ref int pPointCount, ref WKSPointZ pPoints, ref int pAttribute, ref ILongArray pIntensity, ref ILongArray pFileIndices, ref IDoubleArray pPointIDs );
[C++]
HRESULT NextAttrLong(
long arraySize,
System.Int32* pPointCount,
WKSPointZ* pPoints,
System.Int32* pAttribute,
ILongArray* pIntensity,
ILongArray* pFileIndices,
IDoubleArray* pPointIDs
);
[C++]
Parameters arraySize [in]
arraySize is a parameter of type long pPointCount [out]
pPointCount is a parameter of type long* pPoints [out]
pPoints is a parameter of type WKSPointZ* pAttribute [out]
pAttribute is a parameter of type long* pIntensity
pIntensity is a parameter of type ILongArray* pFileIndices
pFileIndices is a parameter of type ILongArray* pPointIDs
pPointIDs is a parameter of type IDoubleArray*
Retrieves points and desired attributes as long values from a LAS dataset. Intended to be called in a loop.
Double attribute values such as esriLasAttributeType.esriLasZ and esriLasAttributeType.esriLasGpsTime will be rounded off.
arraySize is the allocated size of the array into which points will be retrieved. This tells the enumerator how many points it can retrieve for each call to Next.
pPointCount is a result, set by the call to Next, and represents the number of points retrieved into the point array. The value will be <= arraySize. When it's 0 there are no more points to retrieve.
pPoints is an array of WKSPointZ. Points are retrieved into it. It must be pre-allocated. It's size must be at least as large as arraySize.
pAttribute is an array of the specified attributes as long values.
pIntensity is an array into which lidar intensity values are placed for the retrieved points. The LongArray object needs to be instantiated if you want to retrieve intensity. Pre-existing values in the array, if any, will be cleared before new values are loaded. Pass NULL for this parameter if you don't need intensity values.
pFileIndices is an array into which las file index (i.e., ILasDataset.File) values are placed for the retrieved points. This enables you top determine which LAS file each point comes from. The indices start at a base of 0. The passed LongArray object needs to be instantiated if you want to retrieve this information. Pre-existing values in the array, if any, will be cleared before new values are loaded. Pass NULL for this parameter if you don't need the file indices.
pPointIDs is an array into which record numbers for retrieved points are placed. These are LAS file point record numbers and they start at a base of 1. These, used in combination with the file indices, enable you to uniquely identify the source of each point; the LAS file and the record number in that file. The DoubleArray object needs to be instantiated if you want to retrieve this information. Pre-existing values in the array, if any, will be cleared before new values are loaded. Pass NULL for this parameter if you don't need point record numbers.