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
.
- iOS 8.0+ / macOS 10.10+ / tvOS 9.0+ / watchOS 2.0+
- Xcode 10+
- Swift 4.2+
To integrate UTMConversion into your Xcode project using Carthage, specify it in your Cartfile
:
github "wtw-software/UTMConversion" ~> 1.2
To integrate UTMConversion into you Xcode project using CocoaPods, specify it in you Podfile
:
target 'MyApp' do
pod 'UTMConversion', '~> 1.2'
end
Then run pod install
inside your terminal, or from CocoaPods.app.
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()
import CoreLocation
import UTMConversion
let utmCoordinate = UTMCoordinate(northing: 7034313, easting: 569612, zone: 32, hemisphere: .northern)
let coordinate = utmCoordinate.coordinate()
let location = utmCoordinate.location()
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)