DatumShift Constructor

[VB]

Public Sub New()

Public Sub New(ByVal classType As GeoCalcNET.DatumShift.ClassType)

[C#]

public DatumShift()

public DatumShift(GeoCalcNET.DatumShift.ClassType classType)

 

Description

The DatumShift constructor creates a new instance of the DatumShift class.  There are two signatures for this constructor.  The first signature does not require any arguments and creates a DatumShift with the Class property set to Molodensky.  The second signature takes a single argument, an element of DatumShift.ClassType, that gives the type of the shift.  With either signature, the resulting DatumShift still needs to be populated with the appropriate SourceDatum, TargetDatum, Envelope, and Parameters before it can be used.

 

Example

[VB]

Private Sub GeoCalcNET_DatumShift(ByVal data As GeoCalcNET.DataSourceComponent)

Dim ds1 As New GeoCalcNET.DatumShift

ds1.SourceDatum = data.GetHorizontalDatum("BMG", "NAD27")

ds1.TargetDatum = data.GetHorizontalDatum("BMG", "WGS84")

ds1.Envelope = data.GetEnvelope("BMG", "NAD27_coordinate_system_envelope")

If ds1.Parameters.Exists("dx") Then

Dim dx As New GeoCalcNET.LinearValue

dx.Units = data.GetLinearUnit("BMG", "METERS")

dx.InUnits = 5

ds1.Parameters.LinearItem("dx") = dx

End If

If ds1.Parameters.Exists("dy") Then

Dim dy As New GeoCalcNET.LinearValue

dy.Units = data.GetLinearUnit("BMG", "METERS")

dy.InUnits = 135

ds1.Parameters.LinearItem("dy") = dy

End If

If ds1.Parameters.Exists("dz") Then

Dim dz As New GeoCalcNET.LinearValue

dz.Units = data.GetLinearUnit("BMG", "METERS")

dz.InUnits = 172

ds1.Parameters.LinearItem("dz") = dz

End If

 

Dim ds2 As New GeoCalcNET.DatumShift(GeoCalcNET.DatumShift.ClassType.Nadcon)

ds2.SourceDatum = data.GetHorizontalDatum("BMG", "NAD27")

ds2.TargetDatum = data.GetHorizontalDatum("BMG", "WGS84")

ds2.Envelope = data.GetEnvelope("BMG", "NAD27_coordinate_system_envelope")

If ds2.Parameters.Exists("las_name") Then

ds2.Parameters.StringItem("las_name") = "conus.las"

End If

If ds2.Parameters.Exists("los_name") Then

ds2.Parameters.StringItem("los_name") = "conus.los"

End If

If ds2.Parameters.Exists("type") Then

ds2.Parameters.StringItem("type") = "NADCON"

End If

End Sub

 

[C#]

private void GeoCalcNET_DatumShift(GeoCalcNET.DataSourceComponent data)

{

GeoCalcNET.DatumShift ds1 = new GeoCalcNET.DatumShift();

ds1.SourceDatum = data.GetHorizontalDatum("BMG", "NAD27");

ds1.TargetDatum = data.GetHorizontalDatum("BMG", "WGS84");

ds1.Envelope = data.GetEnvelope("BMG", "NAD27_coordinate_system_envelope");

GeoCalcNET.LinearUnit lu = data.GetLinearUnit("BMG", "METERS");

if(ds1.Parameters.Exists("dx"))

{

GeoCalcNET.LinearValue dx = new GeoCalcNET.LinearValue();

dx.Units = lu;

dx.InUnits = 0;

ds1.Parameters.set_LinearItem("dx", dx);

}

if(ds1.Parameters.Exists("dy"))

{

GeoCalcNET.LinearValue dy = new GeoCalcNET.LinearValue();

dy.Units = lu;

dy.InUnits = 0;

ds1.Parameters.set_LinearItem("dy", dy);

}

if(ds1.Parameters.Exists("dz"))

{

GeoCalcNET.LinearValue dz = new GeoCalcNET.LinearValue();

dz.Units = lu;

dz.InUnits = 0;

ds1.Parameters.set_LinearItem("dz", dz);

}

 

GeoCalcNET.DatumShift ds2 = new GeoCalcNET.DatumShift(GeoCalcNET.DatumShift.ClassType.Nadcon);

ds2.SourceDatum = data.GetHorizontalDatum("BMG", "NAD27");

ds2.TargetDatum = data.GetHorizontalDatum("BMG", "WGS84");

ds2.Envelope = data.GetEnvelope("BMG", "NAD27_coordinate_system_envelope");

if(ds2.Parameters.Exists("las_name"))

{

ds2.Parameters.set_StringItem("las_name", "conus.las");

}

if(ds2.Parameters.Exists("los_name"))

{

ds2.Parameters.set_StringItem("los_name", "conus.los");

}

if(ds2.Parameters.Exists("type"))

{

ds2.Parameters.set_StringItem("type", "NADCON");

}

}