Skip to content

Namespace: Esri::GameEngine::Geometry
Class: Esri/GameEngine/Geometry/ArcGISSpatialReferenceBuilder
Since: 2.1.0

Summary

Allows you to create and modify spatial references with custom tolerance and resolution values.

Constructors

ArcGISSpatialReferenceBuilder(int32_t WKID)

Creates a spatial reference builder based on the given horizontal coordinate system.

Since 2.1.0

Arguments
NameTypeConstSummary
WKIDint32_tNo

The well-known ID of the horizontal coordinate system. Must be a supported well-known ID.

ArcGISSpatialReferenceBuilder(int32_t WKID, int32_t verticalWKID)

Creates a spatial reference builder based on the given horizontal and vertical coordinate systems.

Since 2.1.0

Arguments
NameTypeConstSummary
WKIDint32_tNo

The well-known ID of the horizontal coordinate system. Must be a supported well-known ID.

verticalWKIDint32_tNo

The well-known ID of the vertical coordinate system. Must be a supported well-known ID.

ArcGISSpatialReferenceBuilder(const ArcGISSpatialReference& spatialReference)

Creates a spatial reference builder with the specified spatial reference (including any customizations) as the starting point for further modifications.

Since 2.1.0

Arguments
NameTypeConstSummary
spatialReferenceArcGISSpatialReferenceYes

The spatial reference to use as a starting point for further modifications

ArcGISSpatialReferenceBuilder(const FString& wkText)

Creates a spatial reference builder based on well-known text.

Since 2.1.0

Arguments
NameTypeConstSummary
wkTextFStringYes

A supported well-known text definition of a coordinate system.

Properties

PropertyTypeNullableReadonlySummary
IsValidboolNoYes

True if a ArcGISSpatialReference can be produced from the current builder properties, false otherwise.

ResolutiondoubleNoNo

The minimum distance that separates unique x,y coordinate values when stored in an ArcGISFeatureTable.

TolerancedoubleNoNo

The minimum distance that determines if two x,y coordinates are considered to be at the same location for relational and topological ArcGISGeometryEngine operations.

UnitArcGISUnitNoYes

The unit of measure for the horizontal coordinate system of this spatial reference.

VerticalResolutiondoubleNoNo

The minimum distance that separates unique z-values when stored in an ArcGISFeatureTable.

VerticalTolerancedoubleNoNo

The minimum distance that determines if two z-values are considered to be at the same location for ArcGISGeometryEngine operations that compare z-values.

VerticalUnitArcGISLinearUnitYesYes

The unit of measure for the vertical coordinate system of this spatial reference, or null if no vertical coordinate system is set for this builder.

VerticalWKIDint32_tNoYes

The well-known ID for the vertical coordinate system (VCS), or 0 if this builder has no VCS or has a custom VCS.

WKIDint32_tNoYes

The well-known ID for the horizontal coordinate system, or 0 if this builder has a custom horizontal coordinate system.

WKTextFStringNoYes

The well-known text definition of the horizontal and vertical coordinate systems of this builder.

IsValid

bool GetIsValid() const

True if a ArcGISSpatialReference can be produced from the current builder properties, false otherwise.

A spatial reference builder is only considered valid if:

Resolution

double GetResolution() const

void SetResolution(double resolution)

The minimum distance that separates unique x,y coordinate values when stored in an ArcGISFeatureTable.

The resolution represents the detail in which a feature class records the location and shape of features, defining the number of decimal places or significant digits stored. It is the minimum distance that separates x,y coordinate values in the ArcGISGeometry of an ArcGISFeature. Any coordinates that differ by less than the resolution will still be stored as the same coordinate value. The units of ArcGISSpatialReferenceBuilder::Resolution are the units of the horizontal coordinate system (ArcGISSpatialReferenceBuilder::Unit) defined when this builder was created.

ArcGISSpatialReferenceBuilder::Resolution must be greater than zero for ArcGISSpatialReferenceBuilder::IsValid to be true and ArcGISSpatialReferenceBuilder::ToSpatialReference to produce a ArcGISSpatialReference. ArcGISSpatialReferenceBuilder::Tolerance must also be at least twice ArcGISSpatialReferenceBuilder::Resolution.

A separate resolution, ArcGISSpatialReferenceBuilder::VerticalResolution, is defined for the distance between z-values.

Tolerance

double GetTolerance() const

void SetTolerance(double tolerance)

The minimum distance that determines if two x,y coordinates are considered to be at the same location for relational and topological ArcGISGeometryEngine operations.

This value is used in relational and topological ArcGISGeometryEngine operations when determining whether two points are close enough, in the horizontal plane, to be considered as the same coordinate value when calculating the result. The units of ArcGISSpatialReferenceBuilder::Tolerance are the units of the horizontal coordinate system (ArcGISSpatialReferenceBuilder::Unit) defined when this builder was created.

ArcGISSpatialReferenceBuilder::Tolerance must be greater than zero and at least twice ArcGISSpatialReferenceBuilder::Resolution for ArcGISSpatialReferenceBuilder::IsValid to be true and ArcGISSpatialReferenceBuilder::ToSpatialReference to produce a ArcGISSpatialReference.

A separate tolerance, ArcGISSpatialReferenceBuilder::VerticalTolerance, is defined for the difference between z-values.

Unit

ArcGISUnit GetUnit() const

The unit of measure for the horizontal coordinate system of this spatial reference.

Also the unit of measure for ArcGISSpatialReferenceBuilder::Tolerance and ArcGISSpatialReferenceBuilder::Resolution.

VerticalResolution

double GetVerticalResolution() const

void SetVerticalResolution(double verticalResolution)

The minimum distance that separates unique z-values when stored in an ArcGISFeatureTable.

The vertical resolution represents the detail in which a feature class records the location and shape of features, defining the number of decimal places or significant digits stored. It is the minimum distance that separates z-values in the ArcGISGeometry of an ArcGISFeature. Any z-values that differ by less than the vertical resolution will still be stored as the same z-value. The units of ArcGISSpatialReferenceBuilder::VerticalResolution are the units of the vertical coordinate system (ArcGISSpatialReference::VerticalUnit) defined when this builder was created, if one was set.

ArcGISSpatialReferenceBuilder::VerticalResolution must be greater than zero for ArcGISSpatialReferenceBuilder::IsValid to be true and ArcGISSpatialReferenceBuilder::ToSpatialReference to produce a ArcGISSpatialReference. ArcGISSpatialReferenceBuilder::VerticalTolerance must also be at least twice ArcGISSpatialReferenceBuilder::VerticalResolution.

A separate resolution, ArcGISSpatialReferenceBuilder::Resolution, is defined for the distance between x,y coordinates.

VerticalTolerance

double GetVerticalTolerance() const

void SetVerticalTolerance(double verticalTolerance)

The minimum distance that determines if two z-values are considered to be at the same location for ArcGISGeometryEngine operations that compare z-values.

This value is used in relational and topological ArcGISGeometryEngine operations when determining whether two z-values are close enough to be considered as the same value when calculating the result. This is currently only used by ArcGISGeometryEngine::Simplify and when the input is a z-aware ArcGISPolyline; it is not used in other methods. The units of ArcGISSpatialReferenceBuilder::VerticalTolerance are the units of the vertical coordinate system (ArcGISSpatialReferenceBuilder::VerticalUnit) defined when this builder was created, if one was set.

ArcGISSpatialReferenceBuilder::VerticalTolerance must be greater than zero and at least twice ArcGISSpatialReferenceBuilder::VerticalResolution for ArcGISSpatialReferenceBuilder::IsValid to be true and ArcGISSpatialReferenceBuilder::ToSpatialReference to produce a ArcGISSpatialReference.

A separate tolerance, ArcGISSpatialReferenceBuilder::Tolerance, is defined for the distance between x,y coordinates.

VerticalUnit

ArcGISLinearUnit GetVerticalUnit() const

The unit of measure for the vertical coordinate system of this spatial reference, or null if no vertical coordinate system is set for this builder.

Also the unit of measure for ArcGISSpatialReferenceBuilder::VerticalTolerance and ArcGISSpatialReferenceBuilder::VerticalResolution.

VerticalWKID

int32_t GetVerticalWKID() const

The well-known ID for the vertical coordinate system (VCS), or 0 if this builder has no VCS or has a custom VCS.

WKID

int32_t GetWKID() const

The well-known ID for the horizontal coordinate system, or 0 if this builder has a custom horizontal coordinate system.

WKText

FString GetWKText() const

The well-known text definition of the horizontal and vertical coordinate systems of this builder.

If this coordinate system can only be represented in WKT2 format this property returns an empty string.

Methods

SignatureReturn TypeSummary

ToSpatialReference()

ArcGISSpatialReference

Returns a new ArcGISSpatialReference based on the current values of this builder.

ToSpatialReference

ArcGISSpatialReference ToSpatialReference() const

Returns a new ArcGISSpatialReference based on the current values of this builder.

Since 2.1.0

Returns ArcGISSpatialReference

A new spatial reference with the current coordinate system and precision values of this builder.

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.