There is a Projection class for UTM83 in the Geometry namespace to go from and to Geodetic (Lon/Lat). See example in VB.NET Dim GeoUTM As New MapSuite.Geometry.GeodeticUTM83(15, Hemisphere.Northern, UTMGeodeticDirection.GeodeticToUTM) Dim Layer As New Layer("...\myshapefile.shp", GeoUTM) If you want to create yourself a Projection class for UTM83 implementing the IProjection interface: Public Class GeodeticUTM83 : Implements IProjection Private mZone As Integer Private mDirection As UTMGeodeticDirection Private mHemisphere As Hemisphere Private IsNorthernHemisphere As Boolean = True Sub New() End Sub Sub New(ByVal Zone As Integer, ByVal Hemisphere As Hemisphere, ByVal Direction As UTMGeodeticDirection) mZone = Zone mHemisphere = Hemisphere If mHemisphere = Hemisphere.Southern Then IsNorthernHemisphere = False mDirection = Direction End Sub Public Property Zone() As Integer Get Return mZone End Get Set(ByVal Value As Integer) mZone = Value End Set End Property Public Property Direction() As UTMGeodeticDirection Get Return mDirection End Get Set(ByVal Value As UTMGeodeticDirection) mDirection = Value End Set End Property Public Property Hemisphere() As Hemisphere Get Return mHemisphere End Get Set(ByVal Value As Hemisphere) mHemisphere = Value If mHemisphere = Hemisphere.Southern Then IsNorthernHemisphere = False End Set End Property Public Function ProjectPoint(ByVal X As Double, ByVal Y As Double) As MapSuite.Geometry.PointR Implements MapSuite.Geometry.IProjection.ProjectPoint Dim UTMProj As New UTMProj Dim Easting, Northing As Double If mDirection = UTMGeodeticDirection.GeodeticToUTM Then UTMProj.ConvertGeodeticZoneToUTM(Y, X, mZone, Easting, Northing, IsNorthernHemisphere) Else UTMProj.ConvertUTMToGeodetic(mZone, IsNorthernHemisphere, X, Y, Northing, Easting) End If Return New PointR(Easting, Northing) End Function End Class |