com.esri.arcgis.datasourcesraster
Class RasterCatalogTable

java.lang.Object
  extended by com.esri.arcgis.datasourcesraster.RasterCatalogTable
All Implemented Interfaces:
IRasterCatalogTable, IGeoDataset, com.esri.arcgis.interop.RemoteObjRef, Serializable

public class RasterCatalogTable
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IRasterCatalogTable, IGeoDataset

A special type of table used to display multiple rasters simultaneously.

Description

RasterCatalogTable object is a table in any supported format such as Info, dbf and txt that contains multiple raster datasets that can be viewed as a single entity. The spatial reference for the raster catalog is taken from the first raster dataset in the raster catalog.
The first five columns of the table must be called “Image”, “Xmin”, “Ymin”, “Xmax”, and “YMax” for the table to be identified as a raster catalog. The first column contains the path to a dataset on disk, while the next four contain the bounding box around the dataset. Additional fields in the table are allowed but will have no effect on the display of the raster catalog.

RasterCatalogTable supports 8.x raster catalog, a table based raster catalog. The counterpart for 8.x style raster catalogs in ArcSDE is SdeRasterCatalogTable)

For geodatabase raster catalog, use RasterCatalog object.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

See Also:
Serialized Form

Constructor Summary
RasterCatalogTable()
          Constructs a RasterCatalogTable using ArcGIS Engine.
RasterCatalogTable(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
RasterCatalogTable theRasterCatalogTable = (RasterCatalogTable) obj;
 
Method Summary
 boolean equals(Object o)
          Compare this object with another
static String getClsid()
          getClsid.
 IEnvelope getExtent()
          The extent of the GeoDataset.
 void getFieldBoundsLocation(int[] pLocXmin, int[] pLocYmin, int[] pLocXmax, int[] pLocYMax)
          Bounds of the field location of the raster catalog.
 int getFieldNameLocation()
          Location of the field name of the raster catalog.
 int getOID(int idx)
          OID of the ith raster in the raster catalog.
 IRasterDataset getRasterDataset(int idx)
          Reference to the ith raster dataset in the raster catalog.
 IEnvelope getRasterExtent(int idx)
          Extent of the ith raster in the catalog.
 String getRasterName(int idx)
          Name of the ith raster in the raster catalog.
 int getSize()
          Number of rasters in the raster catalog.
 ISpatialReference getSpatialReference()
          The spatial reference of the GeoDataset.
 ITable getTable()
          The table object underlying the raster catalog table.
 String getWhereClause()
          A SQL expression limiting the list of rasters currently viewed.
 int hashCode()
          the hashcode for this object
 void setTableByRef(ITable ppTable)
          The table object underlying the raster catalog table.
 void setWhereClause(String whereClause)
          A SQL expression limiting the list of rasters currently viewed.
 void update()
          Updates the object after the table is changed.
 
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

RasterCatalogTable

public RasterCatalogTable()
                   throws IOException,
                          UnknownHostException
Constructs a RasterCatalogTable using ArcGIS Engine.

Throws:
IOException - if there are interop problems
UnknownHostException - if there are interop problems

RasterCatalogTable

public RasterCatalogTable(Object obj)
                   throws IOException
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
RasterCatalogTable theRasterCatalogTable = (RasterCatalogTable) obj;

Construct a RasterCatalogTable using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to RasterCatalogTable.

Parameters:
obj - an object returned from ArcGIS Engine or Server
Throws:
IOException - if there are interop problems
Method Detail

getClsid

public static String getClsid()
getClsid.


equals

public boolean equals(Object o)
Compare this object with another

Overrides:
equals in class Object

hashCode

public int hashCode()
the hashcode for this object

Overrides:
hashCode in class Object

getTable

public ITable getTable()
                throws IOException,
                       AutomationException
The table object underlying the raster catalog table.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getTable in interface IRasterCatalogTable
Returns:
A reference to a com.esri.arcgis.geodatabase.ITable
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTableByRef

public void setTableByRef(ITable ppTable)
                   throws IOException,
                          AutomationException
The table object underlying the raster catalog table.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setTableByRef in interface IRasterCatalogTable
Parameters:
ppTable - A reference to a com.esri.arcgis.geodatabase.ITable (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

update

public void update()
            throws IOException,
                   AutomationException
Updates the object after the table is changed.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
update in interface IRasterCatalogTable
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSize

public int getSize()
            throws IOException,
                   AutomationException
Number of rasters in the raster catalog.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSize in interface IRasterCatalogTable
Returns:
The pCount
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getRasterExtent

public IEnvelope getRasterExtent(int idx)
                          throws IOException,
                                 AutomationException
Extent of the ith raster in the catalog.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getRasterExtent in interface IRasterCatalogTable
Parameters:
idx - The idx (in)
Returns:
A reference to a com.esri.arcgis.geometry.IEnvelope
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getRasterName

public String getRasterName(int idx)
                     throws IOException,
                            AutomationException
Name of the ith raster in the raster catalog.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getRasterName in interface IRasterCatalogTable
Parameters:
idx - The idx (in)
Returns:
The name
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getRasterDataset

public IRasterDataset getRasterDataset(int idx)
                                throws IOException,
                                       AutomationException
Reference to the ith raster dataset in the raster catalog.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getRasterDataset in interface IRasterCatalogTable
Parameters:
idx - The idx (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IRasterDataset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFieldNameLocation

public int getFieldNameLocation()
                         throws IOException,
                                AutomationException
Location of the field name of the raster catalog.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getFieldNameLocation in interface IRasterCatalogTable
Returns:
The pLocName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFieldBoundsLocation

public void getFieldBoundsLocation(int[] pLocXmin,
                                   int[] pLocYmin,
                                   int[] pLocXmax,
                                   int[] pLocYMax)
                            throws IOException,
                                   AutomationException
Bounds of the field location of the raster catalog.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getFieldBoundsLocation in interface IRasterCatalogTable
Parameters:
pLocXmin - The pLocXmin (out: use single element array)
pLocYmin - The pLocYmin (out: use single element array)
pLocXmax - The pLocXmax (out: use single element array)
pLocYMax - The pLocYMax (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setWhereClause

public void setWhereClause(String whereClause)
                    throws IOException,
                           AutomationException
A SQL expression limiting the list of rasters currently viewed.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setWhereClause in interface IRasterCatalogTable
Parameters:
whereClause - The whereClause (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getWhereClause

public String getWhereClause()
                      throws IOException,
                             AutomationException
A SQL expression limiting the list of rasters currently viewed.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getWhereClause in interface IRasterCatalogTable
Returns:
The whereClause
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getOID

public int getOID(int idx)
           throws IOException,
                  AutomationException
OID of the ith raster in the raster catalog.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getOID in interface IRasterCatalogTable
Parameters:
idx - The idx (in)
Returns:
The oID
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSpatialReference

public ISpatialReference getSpatialReference()
                                      throws IOException,
                                             AutomationException
The spatial reference of the GeoDataset.

Remarks

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.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSpatialReference in interface IGeoDataset
Returns:
A reference to a com.esri.arcgis.geometry.ISpatialReference
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getExtent

public IEnvelope getExtent()
                    throws IOException,
                           AutomationException
The extent of the GeoDataset.

Remarks

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.

The red box represents the IGeoDataset extent

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.

The red box represents the IGeoDataset extent after some of the features have been deleted

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.

The red box represents the IGeoDataset extent after it has been updated

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.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getExtent in interface IGeoDataset
Returns:
A reference to a com.esri.arcgis.geometry.IEnvelope
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.