com.esri.arcgis.geodatabase
Interface IGeoDataset

All Superinterfaces:
Serializable
All Known Subinterfaces:
IGeoDataset2
All Known Implementing Classes:
BasemapLayer, BasemapSubLayer, CadAnnotationLayer, CadastralFabric, CadastralFabricLayer, CadastralFabricSubLayer, CadFeatureLayer, CadLayer, CompositeGraphicsLayer, CoverageAnnotationLayer, DimensionLayer, FDOGraphicsLayer, FDOGraphicsSublayer, FeatureClass, FeatureClassDescriptor, FeatureDataset, FeatureLayer, FunctionRasterDataset, GdbRasterCatalogLayer, GeometricNetwork, GeoVideoLayer, GlobeGraphicsLayer, GlobeLayer, GlobeServerLayer, GraphicsLayer3D, GroupLayer, IGeoDataset2Proxy, IGeoDatasetProxy, ImageServerLayer, IMSMapLayer, IMSSubFeatureLayer, KmlLayer, MapServerBasicSublayer, MapServerFindSublayer, MapServerIdentifySublayer, MapServerLayer, MapServerQuerySublayer, MosaicLayer, MosaicRaster, NALayer, NetworkDataset, NetworkLayer, NITFGraphicsLayer, ProcessLayer, Raster, RasterBand, RasterCatalog, RasterCatalogLayer, RasterCatalogTable, RasterDataset, RasterDescriptor, RasterLayer, RenderedRaster, RouteEventSource, SchematicDiagram, SchematicDiagramClass, SchematicElementClass, SchematicInMemoryDiagram, SchematicInMemoryFeatureClass, SchematicLayer, SdeRasterCatalogTable, SearchResultsLayer, TemporalFeatureClass, TemporalFeatureLayer, TemporalRecordSet, Terrain, TerrainLayer, Tin, TinLayer, Topology, TopologyLayer, WCSLayer, WMSGroupLayer, WMSMapLayer, XYEventSource

public interface IGeoDataset
extends Serializable

Provides access to members that provide information about a Geographic Dataset.

Superseded By

IGeoDataset2

Remarks

This interface provides access to information about spatial datasets, in particular their spatial reference and geographic extent. All layers also implement this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

See Also:
IEnvelope

Method Summary
 IEnvelope getExtent()
          The extent of the GeoDataset.
 ISpatialReference getSpatialReference()
          The spatial reference of the GeoDataset.
 

Method Detail

getSpatialReference

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

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

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

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.