UTMConversion
在纬度/经度和 UTM (Universal Transverse Mercator) 坐标系统之间进行转换。转换在自定义 struct
UTMCoordinate
和 CoreLocation 的 CLLocationCoordinate2D
和 CLLocation
之间进行。
需求
- iOS 8.0+ / macOS 10.10+ / tvOS 9.0+ / watchOS 2.0+
- Xcode 10+
- Swift 4.2+
安装
Carthage
要使用 Carthage 将 UTMConversion 集成到您的 Xcode 项目中,请在您的 Cartfile
中指定它。
github "wtw-software/UTMConversion" ~> 1.3
CocoaPods
要将UTMConversion集成到您的Xcode项目中,请使用CocoaPods,并在您的Podfile
中指定它。
target 'MyApp' do
pod 'UTMConversion', '~> 1.3'
end
然后,在终端内或从CocoaPods.app中运行pod install
。
使用方法
转换到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()
从UTM转换
import CoreLocation
import UTMConversion
let utmCoordinate = UTMCoordinate(northing: 7034313, easting: 569612, zone: 32, hemisphere: .northern)
let coordinate = utmCoordinate.coordinate()
let location = utmCoordinate.location()
数据
您可以指定自己的数据(极地和赤道半径),默认值为WGS84,这是WGS标准的最新修订版。
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)