Public Sub New()
Public Sub New(ByVal classType As GeoCalcNET.DatumShift.ClassType)
public DatumShift()
public DatumShift(GeoCalcNET.DatumShift.ClassType classType)
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.
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
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");
}
}