日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

不同地图坐标系的坐标转换

發布時間:2025/4/16 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 不同地图坐标系的坐标转换 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目前主要有哪些坐標系:

大地坐標系統(WGS-84):用來表述地球上點的位置的一種地區坐標系統,主要用于國外地圖。

火星坐標系(GCJ-02):對真實坐標系統進行人為的加偏處理,如大多數國內地圖:高德地圖、騰訊地圖。

百度坐標系(BD-09):對火星坐標系再次進行加密,如:百度地圖。

?

坐標轉換

一、WGS-84轉GCJ-02

// WGS-84轉GCJ-02 transformlat: function (lng, lat) {let PI = 3.1415926535897932384626;let ret = -100.0 + 2.0 * lng + 3.0 * lat + 0.2 * lat * lat + 0.1 * lng * lat + 0.2 * Math.sqrt(Math.abs(lng));ret += (20.0 * Math.sin(6.0 * lng * PI) + 20.0 * Math.sin(2.0 * lng * PI)) * 2.0 / 3.0;ret += (20.0 * Math.sin(lat * PI) + 40.0 * Math.sin(lat / 3.0 * PI)) * 2.0 / 3.0;ret += (160.0 * Math.sin(lat / 12.0 * PI) + 320 * Math.sin(lat * PI / 30.0)) * 2.0 / 3.0;return ret},transformlng: function (lng, lat) {let PI = 3.1415926535897932384626;let ret = 300.0 + lng + 2.0 * lat + 0.1 * lng * lng + 0.1 * lng * lat + 0.1 * Math.sqrt(Math.abs(lng));ret += (20.0 * Math.sin(6.0 * lng * PI) + 20.0 * Math.sin(2.0 * lng * PI)) * 2.0 / 3.0;ret += (20.0 * Math.sin(lng * PI) + 40.0 * Math.sin(lng / 3.0 * PI)) * 2.0 / 3.0;ret += (150.0 * Math.sin(lng / 12.0 * PI) + 300.0 * Math.sin(lng / 30.0 * PI)) * 2.0 / 3.0;return ret},wgsToGcj: function (lng, lat) {let PI = 3.1415926535897932384626;let a = 6378245.0;let ee = 0.00669342162296594323;let dlat = this.transformlat(lng - 105.0, lat - 35.0);let dlng = this.transformlng(lng - 105.0, lat - 35.0);let radlat = lat / 180.0 * PI;let magic = Math.sin(radlat);magic = 1 - ee * magic * magic;let sqrtmagic = Math.sqrt(magic);dlat = (dlat * 180.0) / ((a * (1 - ee)) / (magic * sqrtmagic) * PI);dlng = (dlng * 180.0) / (a / sqrtmagic * Math.cos(radlat) * PI);let mglat = lat + dlat;let mglng = lng + dlng;return {longitude: mglng,latitude: mglat}},

二、GCJ-02轉WGS-84

// GCJ-02轉WGS-84 transformlat: function (lng, lat) {let PI = 3.1415926535897932384626;let ret = -100.0 + 2.0 * lng + 3.0 * lat + 0.2 * lat * lat + 0.1 * lng * lat + 0.2 * Math.sqrt(Math.abs(lng));ret += (20.0 * Math.sin(6.0 * lng * PI) + 20.0 * Math.sin(2.0 * lng * PI)) * 2.0 / 3.0;ret += (20.0 * Math.sin(lat * PI) + 40.0 * Math.sin(lat / 3.0 * PI)) * 2.0 / 3.0;ret += (160.0 * Math.sin(lat / 12.0 * PI) + 320 * Math.sin(lat * PI / 30.0)) * 2.0 / 3.0;return ret},transformlng: function (lng, lat) {let PI = 3.1415926535897932384626;let ret = 300.0 + lng + 2.0 * lat + 0.1 * lng * lng + 0.1 * lng * lat + 0.1 * Math.sqrt(Math.abs(lng));ret += (20.0 * Math.sin(6.0 * lng * PI) + 20.0 * Math.sin(2.0 * lng * PI)) * 2.0 / 3.0;ret += (20.0 * Math.sin(lng * PI) + 40.0 * Math.sin(lng / 3.0 * PI)) * 2.0 / 3.0;ret += (150.0 * Math.sin(lng / 12.0 * PI) + 300.0 * Math.sin(lng / 30.0 * PI)) * 2.0 / 3.0;return ret},gcjToWgs: function (lng, lat) {let PI = 3.1415926535897932384626;let a = 6378245.0;let ee = 0.00669342162296594323;let dlat = transformlat(lng - 105.0, lat - 35.0);let dlng = transformlng(lng - 105.0, lat - 35.0);let radlat = lat / 180.0 * PI;let magic = Math.sin(radlat);magic = 1 - ee * magic * magic;let sqrtmagic = Math.sqrt(magic);dlat = (dlat * 180.0) / ((a * (1 - ee)) / (magic * sqrtmagic) * PI);dlng = (dlng * 180.0) / (a / sqrtmagic * Math.cos(radlat) * PI);let mglat = lat + dlat;let mglng = lng + dlng;return {longitude: lng * 2 - mglng,latitude: lat * 2 - mglat}},

三、GCJ-02轉BD-09

//火星轉百度坐標 function bd_encrypt(lng, lat) {var X_PI = Math.PI * 3000.0 / 180.0;var x = lng, y = lat;var z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * X_PI);var theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * X_PI);var bd_lon = z * Math.cos(theta) + 0.0065;var bd_lat = z * Math.sin(theta) + 0.006;return {longitude: bd_lon,latitude: bd_lat }; }

四、BD-09轉GCJ-02

//百度轉火星坐標 function bd_decrypt(lng, lat) {var X_PI = Math.PI * 3000.0 / 180.0;var x = lng- 0.0065;var y = lat- 0.006;var z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * X_PI);var theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * X_PI);var gg_lon = z * Math.cos(theta);var gg_lat = z * Math.sin(theta);return {longitude: gg_lon,latitude: gg_lat} }

在國外則不做偏移處理

// 判斷是否在國內,在國外則不做偏移 function out_of_china(lng, lat) {return (lng < 72.004 || lng > 137.8347) || ((lat < 0.8293 || lat > 55.8271) || false); }

完!

?

總結

以上是生活随笔為你收集整理的不同地图坐标系的坐标转换的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 中文亚洲av片不卡在线观看 | 国产在线精品成人欧美 | 波多野结衣在线电影 | 五月天久久综合 | 久久精品免费观看 | 久久精品亚洲 | 亚洲成人高清 | 亚洲 小说区 图片区 都市 | 亚洲少妇激情 | www..com国产 | 黄色应用在线观看 | 久久大胆人体 | 精品视频第一页 | 91禁蘑菇在线看 | 国产精品15p| 一级片视频播放 | 大又大粗又爽又黄少妇毛片 | 欧美日韩国产不卡 | 精品久久网 | 夜夜爱夜夜操 | 中文字幕一区二区三区四区欧美 | 熟女国产精品一区二区三 | 亚洲区小说区图片区qvod | 2019中文字幕在线观看 | 国产乱码精品一区二区三区忘忧草 | 一本色道久久综合亚洲精品图片 | 91操人视频 | 偷偷操网站| 精品国产乱码久久久久久1区二区 | 天天操妹子 | 水果视频污 | 日本欧美国产在线 | av一二区 | 特大黑人巨交吊性xxxx视频 | a在线视频 | 国产精品久久久久久久免费观看 | 成人自拍在线 | 一本大道东京热无码 | 欧美大片高清 | www.久久艹 | 粉嫩av一区二区三区 | 精品亚洲成人 | 黄色三级免费观看 | 粗大的内捧猛烈进出 | 色妞综合 | 亚洲一区中文字幕在线观看 | 久草福利资源在线观看 | 一级在线视频 | 欧美日性视频 | 国产福利视频一区二区 | 午夜婷婷色 | 日本视频www色 | 久久精品国产亚洲AV高清综合 | 国产精品夜色一区二区三区 | 综合久久网 | 一区二区三区日韩精品 | 怡红院av久久久久久久 | xxx日本少妇| 日本黄色免费看 | 自拍偷拍三级 | 93久久精品日日躁夜夜躁欧美 | 国产亚洲成人精品 | av黄页| 国产在线青青草 | 伦理片中文字幕 | 另类视频在线观看+1080p | 国产极品久久久 | 色综合天天 | 欧美日韩xxxx | 中文字字幕码一二三区 | 色综合天天综合综合国产 | av一级在线 | 九色影院 | 一区二区三区四区五区六区 | 精品一区二区三区久久久 | 黄色成人av | 中国免费看的片 | 一区二区三区视频在线免费观看 | 精品视频一区二区三区四区五区 | 91精品人妻一区二区三区蜜桃2 | 99爱视频在线观看 | 欧美首页 | 性高潮影院 | 日韩1024| 国产porn| 国产精品无码一区二区三区免费 | 亚洲字幕成人中文在线观看 | 国产黄a三级三级三级 | 国内久久精品视频 | 国产一伦一伦一伦 | 中文字幕第10页 | 中文字幕一区二区久久人妻网站 | 91在线免费网站 | 亚洲成人网在线播放 | 综合色伊人 | 中文字幕91视频 | 国产精品88久久久久久妇女 | 在线观看免费高清 | 国产一区亚洲一区 |