Skip to content

Convert between latitude/longitude and the UTM coordinate system.

License

Notifications You must be signed in to change notification settings

wtw-software/UTMConversion

Repository files navigation

UTMConversion

Carthage compatible MIT Licence

Convert between latitude/longitude and the UTM (Universal Transverse Mercator) coordinate systems. The conversion happens between a custom struct UTMCoordinate and CoreLocation's CLLocationCoordinate2D and CLLocation.

Requirements

  • iOS 12.0+ / macOS 10.10+

Installation

Carthage

To integrate UTMConversion into your Xcode project using Carthage, specify it in your Cartfile:

github "wtw-software/UTMConversion" ~> 1.4

CocoaPods

To integrate UTMConversion into you Xcode project using CocoaPods, specify it in you Podfile:

target 'MyApp' do
  pod 'UTMConversion', '~> 1.4'
end

Then run pod install inside your terminal, or from CocoaPods.app.

Usage

Convert to UTM

import CoreLocation
import UTMConversion

let coordinate = CLLocationCoordinate2D(latitude: 63.430493678423012, longitude: 10.394966844991798)
let utmCoordinate = coordinate.utmCoordinate()

let location = CLLocation(latitude: 63.430493678423012, longitude: 10.394966844991798)
let utmCoordinate2 = location.utmCoordinate()

Convert from UTM

import CoreLocation
import UTMConversion

let utmCoordinate = UTMCoordinate(northing: 7034313, easting: 569612, zone: 32, hemisphere: .northern)
let coordinate = utmCoordinate.coordinate()
let location = utmCoordinate.location()

Datum

It is possible to specify your own datum (polar and equitorial radius), the default value is WGS84, which is the latest revision of the WGS standard.

import CoreLocation
import UTMConversion

let utmCoordinate = UTMCoordinate(northing: 7034313, easting: 569612, zone: 32, hemisphere: .northern)
let datum = UTMDatum(equitorialRadius: 6378137, polarRadius: 6356752.3142)
let coordinate = utmCoordinate.coordinate(datum: datum)