com.esri.arcgis.geometry
Interface IConstructDomainExtent

All Superinterfaces:
Serializable
All Known Subinterfaces:
IConstructDomainExtent2
All Known Implementing Classes:
GeometryEnvironment, IConstructDomainExtent2Proxy, IConstructDomainExtentProxy

public interface IConstructDomainExtent
extends Serializable

Provides access to members that construct domain extents based on defined precision.

Superseded By

IConstructDomainExtent2

Remarks

The methods on this interface are typically used to define domain extents for data sources that cannot persist that information. For example, the domain extent of a shapefile is determined as follows: The XY domain extent is the square enclosing the horizon of the shapefile's spatial reference. If geometries in the shapefile have M or Z attributes, then the current minimum and maximum values for those attributes are used to construct corresponding domain extents.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux


Method Summary
 IEnvelope constructDomainExtent(IEnvelope extent, double scale)
          Constructs a new envelope by expanding the input envelope about its center.
 void constructZMDomainExtent(double inMin, double inMax, double scale, double[] outMin, double[] outMax)
          (deprecated, use ConstructZMDomainExtent2) Constructs a low precision Z or M domain extent centered on the specified extent.
 

Method Detail

constructDomainExtent

IEnvelope constructDomainExtent(IEnvelope extent,
                                double scale)
                                throws IOException,
                                       AutomationException
Constructs a new envelope by expanding the input envelope about its center. Scale is typically a power of 10 indicating the number of sig figs to preserve. If its zero, the extent is expanded 1.5 times (subject to some constraints).

Remarks

The 'scale factor' parameter is typically a power of 10 that specifies the number of significant digits to preserve for coordinates associated with a spatial reference having as its domain the envelope constructed by this method. The constructed envelope has the same center as the input envelope and an extent determined by the scale factor and the version of the spatial reference associated with the input envelope. For example, with a scale factor of 10^5 and a version 9.2 spatial reference, the width/height of the constructed extent will be (2^53-2)/10^5 9.0 x 10^10 data units. With a pre 9.2 spatial reference, the constructed extent will be (2^31-2)/10^5 2.1 x 10^4 data units.

If the input scale factor is zero, a default output extent is calculated. Typically, that extent will be 1.5 times the maximum extent of the input envelope. The constructed extent will be intersected against the horizon envelope of the spatial reference of the input envelope's spatial reference. Also, if it is too large (> 10^7) the expansion factor will be reduced to 1.1.

The output envelope will have the same set of vertex attributes and spatial reference as the input envelope.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
extent - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
scale - The scale (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.

constructZMDomainExtent

void constructZMDomainExtent(double inMin,
                             double inMax,
                             double scale,
                             double[] outMin,
                             double[] outMax)
                             throws IOException,
                                    AutomationException
(deprecated, use ConstructZMDomainExtent2) Constructs a low precision Z or M domain extent centered on the specified extent. scale is 1/(desired resolution). If scale is 0.0, a default of 1,000,000.0 is used.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
inMin - The inMin (in)
inMax - The inMax (in)
scale - The scale (in)
outMin - The outMin (out: use single element array)
outMax - The outMax (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.