火星座標系統
是一種國家保密外掛程式,也叫做加密外掛程式或者加偏或者sm模組,其實就是對真實座標系統進行人為的加偏處理,按照特殊的演算法,將真實的座標加密成虛假的座標,而這個加偏並不是線性的加偏,所以各地的偏移情況都會有所不同。而加密後的座標也常被人稱為
火星座標系統
。所有的電子地圖、導航裝置,都需要加入國家保密外掛程式。第一步,地圖公司測繪地圖,測繪完成後,送到國家測繪局,將真實座標的電子地圖,加密成「火星座標」,這樣的地圖才是可以出版和發布的,然後才可以讓gps公司處理。第二步,所有的gps公司,只要需要汽車導航的,需要用到導航電子地圖的,都需要在軟體中加入國家保密演算法,將com口讀出來的真實的座標訊號,加密轉換成國家要求的保密的座標。這樣,gps導航儀和導航電子地圖就可以完全匹配,gps也就可以正常工作了。
#import #import @inte***ce zslocationconverter : nsobject
/** * @brief 世界標準地理座標(wgs-84) 轉換成 中國國測局地理座標(gcj-02)《火星座標》
* * ####只在中國大陸的範圍的座標有效,以外直接返回世界標準座標
* * @param location 世界標準地理座標(wgs-84)
* * @return 中國國測局地理座標(gcj-02)《火星座標》
*/+ (cllocationcoordinate2d)wgs84togcj02:(cllocationcoordinate2d)location;
/** * @brief 中國國測局地理座標(gcj-02) 轉換成 世界標準地理座標(wgs-84)
* * ####此介面有1-2公尺左右的誤差,需要精確定位情景慎用
* * @param location 中國國測局地理座標(gcj-02)
* * @return 世界標準地理座標(wgs-84)
*/+ (cllocationcoordinate2d)gcj02towgs84:(cllocationcoordinate2d)location;
/** *
* @param location 世界標準地理座標(wgs-84)
* */
+ (cllocationcoordinate2d)wgs84tobd09:(cllocationcoordinate2d)location;
/** *
* @param location 中國國測局地理座標(gcj-02)《火星座標》
* */
+ (cllocationcoordinate2d)gcj02tobd09:(cllocationcoordinate2d)location;
/** *
* * @return 中國國測局地理座標(gcj-02)《火星座標》
*/+ (cllocationcoordinate2d)bd09togcj02:(cllocationcoordinate2d)location;
/** *
* ####此介面有1-2公尺左右的誤差,需要精確定位情景慎用
* ** @return 世界標準地理座標(wgs-84)
*/+ (cllocationcoordinate2d)bd09towgs84:(cllocationcoordinate2d)location;
@end
#import "zslocationconverter.h"
#define lat_offset_0(x,y) -100.0 + 2.0 * x + 3.0 * y + 0.2 * y * y + 0.1 * x * y + 0.2 * sqrt(fabs(x))
#define lat_offset_1 (20.0 * sin(6.0 * x * m_pi) + 20.0 * sin(2.0 * x * m_pi)) * 2.0 / 3.0
#define lat_offset_2 (20.0 * sin(y * m_pi) + 40.0 * sin(y / 3.0 * m_pi)) * 2.0 / 3.0
#define lat_offset_3 (160.0 * sin(y / 12.0 * m_pi) + 320 * sin(y * m_pi / 30.0)) * 2.0 / 3.0
#define lon_offset_0(x,y) 300.0 + x + 2.0 * y + 0.1 * x * x + 0.1 * x * y + 0.1 * sqrt(fabs(x))
#define lon_offset_1 (20.0 * sin(6.0 * x * m_pi) + 20.0 * sin(2.0 * x * m_pi)) * 2.0 / 3.0
#define lon_offset_2 (20.0 * sin(x * m_pi) + 40.0 * sin(x / 3.0 * m_pi)) * 2.0 / 3.0
#define lon_offset_3 (150.0 * sin(x / 12.0 * m_pi) + 300.0 * sin(x / 30.0 * m_pi)) * 2.0 / 3.0
#define range_lon_max 137.8347
#define range_lon_min 72.004
#define range_lat_max 55.8271
#define range_lat_min 0.8293
// jza = 6378245.0, 1/f = 298.3
// b = a * (1 - f)
// ee = (a^2 - b^2) / a^2;
#define jza 6378245.0
#define jzee 0.00669342162296594323
@implementation zslocationconverter
+ (double)transformlat:(double)x bdlon:(double)y
+ (double)transformlon:(double)x bdlon:(double)y
+ (bool)outofchina:(double)lat bdlon:(double)lon
+ (cllocationcoordinate2d)gcj02encrypt:(double)gglat bdlon:(double)gglon
double dlat = [self transformlat:(gglon - 105.0)bdlon:(gglat - 35.0)];
double dlon = [self transformlon:(gglon - 105.0) bdlon:(gglat - 35.0)];
double radlat = gglat / 180.0 * m_pi;
double magic = sin(radlat);
magic = 1 - jzee * magic * magic;
double sqrtmagic = sqrt(magic);
dlat = (dlat * 180.0) / ((jza * (1 - jzee)) / (magic * sqrtmagic) * m_pi);
dlon = (dlon * 180.0) / (jza / sqrtmagic * cos(radlat) * m_pi);
mglat = gglat + dlat;
mglon = gglon + dlon;
respoint.latitude = mglat;
respoint.longitude = mglon;
return respoint;
}+ (cllocationcoordinate2d)gcj02decrypt:(double)gjlat gjlon:(double)gjlon
+ (cllocationcoordinate2d)bd09decrypt:(double)bdlat bdlon:(double)bdlon
+(cllocationcoordinate2d)bd09encrypt:(double)gglat bdlon:(double)gglon
+ (cllocationcoordinate2d)wgs84togcj02:(cllocationcoordinate2d)location
+ (cllocationcoordinate2d)gcj02towgs84:(cllocationcoordinate2d)location
+ (cllocationcoordinate2d)wgs84tobd09:(cllocationcoordinate2d)location
+ (cllocationcoordinate2d)gcj02tobd09:(cllocationcoordinate2d)location
+ (cllocationcoordinate2d)bd09togcj02:(cllocationcoordinate2d)location
+ (cllocationcoordinate2d)bd09towgs84:(cllocationcoordinate2d)location
@end
iOS 地球座標 火星座標說明
座標系介紹 首先介紹一下目前的定位座標系統 1 地球座標 代號 gps wgs84 有w就是世界通用的 也就是原始座標體系,這是國際公認的世界標準座標體系 使用 wgs84 座標系統的產品有 蘋果的 cllocationmanager 獲取的座標 2 火星座標 代號 gcj 02 g國家 c測繪 j...
php 火星座標 百度座標轉換 地球座標轉換
型別 說明使用者 wgs84 美國gps 國際通用,如谷歌國外地圖 osm地圖 火星系gcj 02 國測局制定的標準,國內地圖必須至少使用此對位置進行首次加密 bg 09 共有兩個類,coordinate和coordinatetool。coordinate,座標點物件 class coordinat...
座標轉換(WGS84座標系 火星座標系)
coding utf 8 import json import math x pi 3.14159265358979324 3000.0 180.0 pi 3.1415926535897932384626 a 6378245.0 長半軸 ee 0.00669342162296594323 扁率 de...