|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.esri.arcgis.geodatabaseextensions.LasFile
public class LasFile
Esri LasFile object.
Constructor Summary | |
---|---|
LasFile(Object obj)
Construct a LasFile using a reference to such an object returned from ArcGIS Engine or Server. |
Method Summary | |
---|---|
boolean |
equals(Object o)
Compare this object with another |
double |
estimatePointCount(IGeometry pAOI)
Estimate point count. |
double |
estimatePointSpacing(boolean bUseStatistics)
Estimate point spacing. |
IEnvelope |
getExtent()
The extent of the GeoDataset. |
ILasHeaderInfo |
getHeaderInfo()
Get LAS file header information. |
String |
getName()
The (full) file name. |
ISpatialReference |
getNativeSpatialReference()
The spatial reference defined in the LAS file header. |
double |
getNumberOfPointRecords()
The number of points in the LAS file. |
double |
getNumberOfPointsByReturn(int returnNumber)
The number of points in the LAS file based on the specified LiDAR return number. |
int |
getPointDataFormat()
The record format for points in the LAS file |
double |
getSizeInBytes()
The LAS file's size in bytes. |
ISpatialReference |
getSpatialReference()
The spatial reference of the GeoDataset. |
ILasStatistics |
getStatistics()
Get statistics. |
void |
getVersion(int[] pMajor,
int[] pMinor)
The version of the LAS file. |
int |
hashCode()
the hashcode for this object |
boolean |
isFileMissing()
Indicates if the LAS file is missing. |
boolean |
isFileValid()
Indicates if the LAS file exists and is valid. |
boolean |
isHasGpsTime()
Indicates GPS time is available. |
boolean |
isHasPrjFile()
Indicates if there is a corresponding PRJ file. |
boolean |
isHasRGB()
Indicates if RGB is availabe. |
boolean |
isHasStatistics()
Indicates if statistics is available. |
boolean |
isNeedsUpdateStatistics()
Indicates if update is necessary. |
boolean |
isStandardGpsTime()
Indicates if the GPS time is standard GPS Time. |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface com.esri.arcgis.interop.RemoteObjRef |
---|
getJintegraDispatch, release |
Constructor Detail |
---|
public LasFile(Object obj) throws IOException
obj
to LasFile
. *
LasFile o = (LasFile)obj; // will not work
LasFile o = new LasFile(obj); // Use this constructor instead
* @param obj an object returned from ArcGIS Engine or Server
IOException
- if there are interop problems
LasFile theLasFile = (LasFile) obj;
Method Detail |
---|
public boolean equals(Object o)
equals
in class Object
public int hashCode()
hashCode
in class Object
public ISpatialReference getSpatialReference() throws IOException, AutomationException
This property is read only. For layers, when the first layer is added to ArcMap, its spatial reference is read by this property, and the map is set to this spatial reference.
Instances of the esriCarto.GroupLayer class will return null for this property, as a group layer can contain multiple datasets with different spatial references.
Modifications to a spatial reference returned by this property will not be persisted. To modify the spatial reference of a dataset, the IGeoDatasetSchemaEdit and IGeoDatasetSchemaEdit2 interfaces should be used.
getSpatialReference
in interface IGeoDataset
getSpatialReference
in interface ILasFile
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnvelope getExtent() throws IOException, AutomationException
The IGeoDataset::Extent property returns an envelope representing the maximum extent of data which has been stored in the dataset.
Consider the following scenario. A new feature class has features added to it. The IGeoDataset::Extent is then requested and an envelope is returned. The extents of the envelope returned are represented by the red box in the image below.
If a portion of the features were then deleted and the extent is again requested an envelope with the exact same extents as during the first request would be returned (see image below). This is because the deletion of features does not shrink the extent. However all additions of features outside the red box would increase the envelope returned to encompass the newly added features.
If you would like to update the IGeoDataset::Extent property to reflect the current features in your dataset please see IFeatureClassManage::UpdateExtent (also see IFeatureClassLoad). In the image below the extent has been updated and a new envelope is being returned.
ESRI's GroupLayer implements this property differently from most other layer coclasses. When you instantiate a new GroupLayer, this property will return a valid envelope with zero height and width. With most other newly instantiated layers (for example FeatureLayer, RasterLayer, TinLayer), this property initally returns Nothing.
getExtent
in interface IGeoDataset
getExtent
in interface ILasFile
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getName() throws IOException, AutomationException
The full name of the las file including the path.
getName
in interface ILasFile
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void getVersion(int[] pMajor, int[] pMinor) throws IOException, AutomationException
Outputs the version of the las file to pMajor and pMinor. The version is based on the standard as defined in the LAS specification.
getVersion
in interface ILasFile
pMajor
- The pMajor (out: use single element array)pMinor
- The pMinor (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getPointDataFormat() throws IOException, AutomationException
The point record format used in the las file, as based on the LAS specification.
getPointDataFormat
in interface ILasFile
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getNumberOfPointRecords() throws IOException, AutomationException
The total number of point records in the las file regardless of return type or classification.
getNumberOfPointRecords
in interface ILasFile
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getNumberOfPointsByReturn(int returnNumber) throws IOException, AutomationException
The number of points in the las file with the specified return.
returnNumber is the return for which you want to get a count. The valid range is 1-5.
getNumberOfPointsByReturn
in interface ILasFile
returnNumber
- The returnNumber (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getSizeInBytes() throws IOException, AutomationException
getSizeInBytes
in interface ILasFile
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isHasRGB() throws IOException, AutomationException
Indicates whether the las file contains RGB values for all points.
isHasRGB
in interface ILasFile
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isHasGpsTime() throws IOException, AutomationException
Indicates whether the las file contains GPS time stamps for all points.
isHasGpsTime
in interface ILasFile
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isStandardGpsTime() throws IOException, AutomationException
Assumming the las file contains GPS time stamps (see ILasFile.HasGpsTime) a return value of FALSE means the values are in GPS weekly time. A return value of TRUE means standard GPS time (satellite GPS Time) minus 1 x 10 to the 9th (Adjusted Standard GPS Time). The offset moves the time back to near zero to improve floating point resolution.
isStandardGpsTime
in interface ILasFile
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ISpatialReference getNativeSpatialReference() throws IOException, AutomationException
Returns the spatial reference as defined by the contents of the referenced LAS file. A NULL pointer is returned if no spatial reference is defined. Note, it's possible through the use of a prj file to define, or override, the spatial reference of a LAS file. The NativeSpatialReference only tells you what's in the LAS file, not what spatial reference ArcGIS is using for it. To determine that call ILasFile.SpatialReference.
getNativeSpatialReference
in interface ILasFile
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isFileMissing() throws IOException, AutomationException
Returns TRUE if the referenced LAS file can't be found on disk.
isFileMissing
in interface ILasFile
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isFileValid() throws IOException, AutomationException
Returns TRUE if the referenced file can be found on disk and a scan of its header indicates it's a valid LAS file.
isFileValid
in interface ILasFile
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isHasPrjFile() throws IOException, AutomationException
Returns TRUE if the referenced LAS file has a corrseponding prj file. This is an ArcGIS file, placed next to the LAS file, that uses the same base name as the LAS file but has the extension '.prj'. Prj files contain spatial reference information. If ArcGIS looks to a LAS file and finds a prj next to it, the spatial reference from the prj will take precedence over what's in the LAS file.
isHasPrjFile
in interface ILasFile
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isHasStatistics() throws IOException, AutomationException
Indicates whether the las dataset has calculated statistics for the las file. Check ILasFile.NeedsUpdateStatistics to see if the statistics are current or outdated because of edits made to the las file.
isHasStatistics
in interface ILasFile
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isNeedsUpdateStatistics() throws IOException, AutomationException
NeedsUpdateStatistics returns TRUE if statistics have yet to be calculated for the las file or if the statistics are outdated due to edits made on the file. Whether or not the file has been edited is determined by two things: either the las dataset knows it made an edit because it was called to do it (via a ILasPointEdit method) or the las dataset has detected the timestamp of the file has changed relative to what it was when added to the las dataset.
isNeedsUpdateStatistics
in interface ILasFile
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ILasStatistics getStatistics() throws IOException, AutomationException
Returns the statistics for the las file. NULL is returned if statistics haven't been calculated. You can also check for statistics using ILasFile.HasStatistics.
getStatistics
in interface ILasFile
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ILasHeaderInfo getHeaderInfo() throws IOException, AutomationException
getHeaderInfo
in interface ILasFile
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double estimatePointSpacing(boolean bUseStatistics) throws IOException, AutomationException
Returns the approximate horizontal post spacing of the points in the las file. The unit of the returned value is based on the XY coordinate system of the file.
bUseStatistics is used to specify which way to calculate the estimate. When set to FALSE a simple approximation is made using the total points in the las file against the XY extent declared in the header. This approach's accuracy is relative to how evenly distributed the points are over the entire extent. The more evenly distributed, the more accurate. When bUseStatistics is set to TRUE statistics are used for the estimate. This will generally be more accurate but requires that statistics have already been generated (see ILasDatasetEdit.CalculateFileStatistics and ILasDatasetEdit.CalculateStatistics) which requires a scan of the data. An error will result if this property is set to TRUE and statistics have not been made.
estimatePointSpacing
in interface ILasFile
bUseStatistics
- The bUseStatistics (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double estimatePointCount(IGeometry pAOI) throws IOException, AutomationException
estimatePointCount
in interface ILasFile
pAOI
- A reference to a com.esri.arcgis.geometry.IGeometry (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |