火星座標轉換
新建一個工具類
PS : 不要問我為什麼,網上找的,忘了那篇文章了,忘記儲存連結了.粘上原始碼
.h檔案
#import <Foundation/Foundation.h>
#import <MapKit/MapKit.h>
@interface WGS84TOGCJ02 : NSObject
+ (CLLocationCoordinate2D)transformFromWGSToGCJ:(CLLocationCoordinate2D)wgsLoc;
@end
.m檔案
#import "WGS84TOGCJ02.h"
const double a = 6378245.0;
const double ee = 0.00669342162296594323;
const double pi = 3.14159265358979324;
@implementation WGS84TOGCJ02
+(CLLocationCoordinate2D)transformFromWGSToGCJ:(CLLocationCoordinate2D)wgsLoc
{
CLLocationCoordinate2D adjustLoc;
double adjustLat = [self transformLatWithX:wgsLoc.longitude - 105.0 withY:wgsLoc.latitude - 35.0];
double adjustLon = [self transformLonWithX:wgsLoc.longitude - 105.0 withY:wgsLoc.latitude - 35.0];
double radLat = wgsLoc.latitude / 180.0 * pi;
double magic = sin(radLat);
magic = 1 - ee * magic * magic;
double sqrtMagic = sqrt(magic);
adjustLat = (adjustLat * 180.0) / ((a * (1 - ee)) / (magic * sqrtMagic) * pi);
adjustLon = (adjustLon * 180.0) / (a / sqrtMagic * cos(radLat) * pi);
adjustLoc.latitude = wgsLoc.latitude + adjustLat;
adjustLoc.longitude = wgsLoc.longitude + adjustLon;
return adjustLoc;
}
+(double)transformLatWithX:(double)x withY:(double)y
{
double lat = -100.0 + 2.0 * x + 3.0 * y + 0.2 * y * y + 0.1 * x * y + 0.2 * sqrt(fabs(x));
lat += (20.0 * sin(6.0 * x * pi) + 20.0 *sin(2.0 * x * pi)) * 2.0 / 3.0;
lat += (20.0 * sin(y * pi) + 40.0 * sin(y / 3.0 * pi)) * 2.0 / 3.0;
lat += (160.0 * sin(y / 12.0 * pi) + 320 * sin(y * pi / 30.0)) * 2.0 / 3.0;
return lat;
}
+(double)transformLonWithX:(double)x withY:(double)y
{
double lon = 300.0 + x + 2.0 * y + 0.1 * x * x + 0.1 * x * y + 0.1 * sqrt(fabs(x));
lon += (20.0 * sin(6.0 * x * pi) + 20.0 * sin(2.0 * x * pi)) * 2.0 / 3.0;
lon += (20.0 * sin(x * pi) + 40.0 * sin(x / 3.0 * pi)) * 2.0 / 3.0;
lon += (150.0 * sin(x / 12.0 * pi) + 300.0 * sin(x / 30.0 * pi)) * 2.0 / 3.0;
return lon;
}
@end
相關文章
- 火星座標和正常座標之間的轉換
- iOS地球座標、火星座標和百度座標之間轉換(Swift3.0)iOSSwift
- C++指標轉換C++指標
- Qt - 座標系及轉換QT
- GPS座標轉換為BIM
- ogre世界座標魚螢幕座標相互轉換
- 百度座標轉換API使用API
- 利用齊次座標進行二維座標轉換
- GIS中的座標系定義與轉換 (轉)
- 歐科微“翔雲”衛星星座-低軌衛星通訊星座
- Python pytorch 座標系變換與維度轉換PythonPyTorch
- iOS開發中常見定位座標轉換iOS
- utc時間轉換成標準時間
- 各種座標系互相轉換(WGS84轉換BD-09主要)
- gcoord: 轉換WGS84、GCJ02、BD09座標,轉換百度高德地圖座標系GC地圖
- iOS中地圖經緯度座標轉換iOS地圖
- 安卓開發之星座查詢安卓
- 座標系定義和相互轉換演算法演算法
- MathNet Ray3D座標系下轉換3D
- ArcGIS地圖投影與座標系轉換的方法地圖
- 工程座標轉換方法C#程式碼實現C#
- Go版本的各座標系互相轉換的工具Go
- OpenGL ES on iOS --- 座標系統與矩陣轉換iOS矩陣
- android 標點符號的全形半形轉換Android符號
- 地心地固座標系(ECEF)與站心座標系(ENU)的轉換
- 黑客人數最多的星座是處女座!黑客
- 三維空間座標系變換-旋轉矩陣矩陣
- java 解析SOAP字串指定標籤轉換為實體類Java字串
- 在WMB中整合 WTE 轉換行業標準訊息行業
- ROS TF :使用 TF 設定機器人 釋出座標變換 使用座標變換 將感測器資料轉換為機器人座標系下ROS機器人
- go-carbon 1.3.3 版本釋出,新增獲取星座方法和判斷是否是某個星座方法Go
- 莽撞小子終到遲暮中年 弗朗西斯擇隊目標轉換(轉)
- 三維座標系旋轉——旋轉矩陣到旋轉角之間的換算矩陣
- ArcEngine下投影座標和經緯度座標的相互轉換
- Swift 3 獲取某個日期的星座Swift
- pdf轉換成word,免費轉換
- oracle行列轉換-多行轉換成字串Oracle字串
- 行列轉換,列行轉換統計