This document is archived and information here might be outdated.  Recommended version.


ISpatialReferenceFactory3 Interface (ArcObjects .NET 10.4 SDK)
ArcObjects Library Reference (Geometry)  

ISpatialReferenceFactory3 Interface

Provides access to members that create vertical datums or coordinate systems.

Product Availability

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

When To Use

ISpatialReferenceFactory3 provides methods for vertical coordinate system support and convert existing low precision spatial references to a high precision spatial reference (or vice-versa).

Members

Description
Method ConstructHighPrecisionSpatialReference Constructs a high precision spatial reference based on an existing spatial reference. xy/z/mDoubler is the number of times the respective precision is to be doubled. A value of zero will find the maximum doubling for that precision.
Method ConstructLowPrecisionSpatialReference Construct a low precision spatial reference with the same scale factor as the high precision input, but with a different domain extent. If the calculated domain extent cannot cover the specified data extent, an error is returned.
Method CreateDatum Creates a predefined datum.
Method CreateESRISpatialReference Creates a spatial reference system and defines it from the specified ESRISpatialReference buffer.
Method CreateESRISpatialReferenceFromPRJ Creates a spatial reference from a PRJ string.
Method CreateESRISpatialReferenceFromPRJFile Creates a spatial reference from a PRJ file.
Method CreateESRISpatialReferenceInfo Creates a spatial reference system and defines it from the specified ESRISpatialReference buffer.
Method CreateESRISpatialReferenceInfoFromPRJ Creates a spatial reference from a PRJ string.
Method CreateESRISpatialReferenceInfoFromPRJFile Creates a spatial reference from a PRJ file.
Method CreateGeographicCoordinateSystem Creates a predefined geographic coordinate system.
Method CreateGeoTransformation Creates a predefined transformation between geographic coordinate systems.
Method CreateParameter Creates a predefined parameter.
Method CreatePredefinedAngularUnits Creates a list of predefined angular units.
Method CreatePredefinedDatums Creates a list of a list of predefined datums.
Method CreatePredefinedGeographicTransformations Creates a list of predefined geographic transformations.
Method CreatePredefinedLinearUnits Creates a list of predefined linear units.
Method CreatePredefinedPrimeMeridians Creates a list of predefined prime meridians.
Method CreatePredefinedProjections Creates a list of predefined projections.
Method CreatePredefinedSpheroids Creates a list of predefined spheroids.
Method CreatePredefinedVerticalCoordinateSystems Creates a list of predefined vertical coordinate systems.
Method CreatePredefinedVerticalDatums Creates a list of predefined vertical datums.
Method CreatePrimeMeridian Creates a predefined prime meridian.
Method CreateProjectedCoordinateSystem Creates a predefined projected coordinate system.
Method CreateProjection Creates a predefined projection.
Method CreateSpatialReference Creates a predefined spatial reference from an srID.
Method CreateSpheroid Creates a predefined spheroid.
Method CreateUnit Creates a predefined unit of measure.
Method CreateVerticalCoordinateSystem Creates a predefined vertical coordinate system from an enumeration or ID code.
Method CreateVerticalCoordinateSystemFromESRISpatialReference Creates a vertical coordinate system from its string format.
Method CreateVerticalDatum Creates a predefined vertical datum from an enumeration or ID code.
Method ExportESRISpatialReferenceInfoToPRJFile Exports a spatial reference to a PRJ file.
Method ExportESRISpatialReferenceToPRJFile Exports a spatial reference to a PRJ file.
Read-only property GeoTransformationDefaults Returns a list of default geographic transformations.
Method GetPredefinedGeographicTransformations Returns a list of predefined geographic transformations.

Inherited Interfaces

Interfaces Description
ISpatialReferenceFactory2 Provides access to members that create different kinds of spatial reference components.
ISpatialReferenceFactory Provides access to members that create different kinds of spatial reference components.

CoClasses that implement ISpatialReferenceFactory3

CoClasses and Classes Description
SpatialReferenceEnvironment Creates various spatial reference objects.

Remarks

The ISpatialReferenceFactory3 interface has two methods that are useful when working with low and high precision spatial references. ConstructHighPrecisionSpatialReference creates a high precision spatial reference from a low precision spatial reference. Using this method will ensure that coordinate values will fit exactly into the new, denser grid mesh. Each intersection of the original grid is an intersection of the new grid. ConstructLowPrecisionSpatialReference will create a low precision spatial reference from an existing high precision one. You can require that the new resolution value be maintained, usually at the expense of the XY domain extent.

 

[C#]

When using this interface in a console application, you must mark the routine as single-threaded.  A class can be marked as single-threaded by adding the [STAThread] attribute immediately preceding your routine's declaration.

Example:

    [STAThread]
    static void Main(string[] args)
    {
    }

[Visual Basic .NET]

When using this interface in a console application, you must mark the routine as single-threaded.  A class can be marked as single-threaded by adding the [STAThread] attribute immediately preceding your routine's declaration.

 

  <STAThread()> _
   Shared Sub Main(ByVal args As String()) 

   End Sub

.NET Snippets

Convert Spatial Reference From High To Low Precision | Create High Precision Spatial Reference | Convert Spatial Reference From Low To High Precision | Create Low Precision Spatial Reference

.NET Samples

Create a custom raster type from the ground up for DMCII data (Code Files: DMCIIRasterType) | Creating a toolbar of globe tools (Code Files: SpatialReference)

.NET Related Topics

Constructing a high- or low-precision spatial reference | Converting between high- and low-precision spatial references | Creating a custom geographic coordinate system | Creating a custom geotransformation | Creating a custom projected coordinate system | Creating a custom vertical coordinate system | Creating a predefined geotransformation | Creating a predefined vertical coordinate system | Geodetic curve support in the ArcObjects Geometry API | How to import or export a spatial reference | How to use the IAffineTransformation2D project and MoveOrigin methods | How to use the IGeoTransformationOperationSet methods | How to work with geoprocessing services | Using the SpatialReferenceEnvironment