vue-cesium
Version:
Vue 3.x components for CesiumJS.
1 lines • 10.1 kB
Source Map (JSON)
{"version":3,"file":"coordtransform.mjs","sources":["../../../../packages/utils/coordtransform.ts"],"sourcesContent":["/* eslint-disable */\n/**\n * Created by Wandergis on 2015/7/8. coordtransform.js@2.1.2\n * 提供了百度坐标(BD-09)、国测局坐标(火星坐标,GCJ-02)、和 WGS-84 坐标系之间的转换\n * https://github.com/wandergis/coordtransform\n */\n// 定义一些常量\nconst x_PI = (Math.PI * 3000.0) / 180.0\nconst PI = Math.PI\nconst a = 6378245.0\nconst ee = 0.00669342162296594323\n/**\n * 百度坐标系 (BD-09) 与 火星坐标系 (GCJ-02) 的转换\n * 即 百度 转 谷歌、高德\n * @param bd_lng\n * @param bd_lat\n * @returns {*[]}\n */\nconst bd09togcj02 = function bd09togcj02(bd_lng: number, bd_lat: number) {\n var bd_lng = +bd_lng\n var bd_lat = +bd_lat\n const x = bd_lng - 0.0065\n const y = bd_lat - 0.006\n const z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * x_PI)\n const theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * x_PI)\n const gg_lng = z * Math.cos(theta)\n const gg_lat = z * Math.sin(theta)\n return [gg_lng, gg_lat]\n}\n\n/**\n * 火星坐标系 (GCJ-02) 与百度坐标系 (BD-09) 的转换\n * 即 谷歌、高德 转 百度\n * @param lng\n * @param lat\n * @returns {*[]}\n */\nconst gcj02tobd09 = function gcj02tobd09(lng: number, lat: number) {\n var lat = +lat\n var lng = +lng\n const z = Math.sqrt(lng * lng + lat * lat) + 0.00002 * Math.sin(lat * x_PI)\n const theta = Math.atan2(lat, lng) + 0.000003 * Math.cos(lng * x_PI)\n const bd_lng = z * Math.cos(theta) + 0.0065\n const bd_lat = z * Math.sin(theta) + 0.006\n return [bd_lng, bd_lat]\n}\n\n/**\n * WGS-84 转 GCJ-02\n * @param lng\n * @param lat\n * @returns {*[]}\n */\nconst wgs84togcj02 = function wgs84togcj02(lng: number, lat: number) {\n var lat = +lat\n var lng = +lng\n if (out_of_china(lng, lat)) {\n return [lng, lat]\n } else {\n let dlat = transformlat(lng - 105.0, lat - 35.0)\n let dlng = transformlng(lng - 105.0, lat - 35.0)\n const radlat = (lat / 180.0) * PI\n let magic = Math.sin(radlat)\n magic = 1 - ee * magic * magic\n const sqrtmagic = Math.sqrt(magic)\n dlat = (dlat * 180.0) / (((a * (1 - ee)) / (magic * sqrtmagic)) * PI)\n dlng = (dlng * 180.0) / ((a / sqrtmagic) * Math.cos(radlat) * PI)\n const mglat = lat + dlat\n const mglng = lng + dlng\n return [mglng, mglat]\n }\n}\n\n/**\n * GCJ-02 转换为 WGS-84\n * @param lng\n * @param lat\n * @returns {*[]}\n */\nconst gcj02towgs84 = function gcj02towgs84(lng: number, lat: number) {\n var lat = +lat\n var lng = +lng\n if (out_of_china(lng, lat)) {\n return [lng, lat]\n } else {\n let dlat = transformlat(lng - 105.0, lat - 35.0)\n let dlng = transformlng(lng - 105.0, lat - 35.0)\n const radlat = (lat / 180.0) * PI\n let magic = Math.sin(radlat)\n magic = 1 - ee * magic * magic\n const sqrtmagic = Math.sqrt(magic)\n dlat = (dlat * 180.0) / (((a * (1 - ee)) / (magic * sqrtmagic)) * PI)\n dlng = (dlng * 180.0) / ((a / sqrtmagic) * Math.cos(radlat) * PI)\n const mglat = lat + dlat\n const mglng = lng + dlng\n return [lng * 2 - mglng, lat * 2 - mglat]\n }\n}\n\nvar transformlat = function transformlat(lng: number, lat: number) {\n var lat = +lat\n var lng = +lng\n 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))\n ret += ((20.0 * Math.sin(6.0 * lng * PI) + 20.0 * Math.sin(2.0 * lng * PI)) * 2.0) / 3.0\n ret += ((20.0 * Math.sin(lat * PI) + 40.0 * Math.sin((lat / 3.0) * PI)) * 2.0) / 3.0\n ret += ((160.0 * Math.sin((lat / 12.0) * PI) + 320 * Math.sin((lat * PI) / 30.0)) * 2.0) / 3.0\n return ret\n}\n\nvar transformlng = function transformlng(lng: number, lat: number) {\n var lat = +lat\n var lng = +lng\n let ret = 300.0 + lng + 2.0 * lat + 0.1 * lng * lng + 0.1 * lng * lat + 0.1 * Math.sqrt(Math.abs(lng))\n ret += ((20.0 * Math.sin(6.0 * lng * PI) + 20.0 * Math.sin(2.0 * lng * PI)) * 2.0) / 3.0\n ret += ((20.0 * Math.sin(lng * PI) + 40.0 * Math.sin((lng / 3.0) * PI)) * 2.0) / 3.0\n ret += ((150.0 * Math.sin((lng / 12.0) * PI) + 300.0 * Math.sin((lng / 30.0) * PI)) * 2.0) / 3.0\n return ret\n}\n\n/**\n * 判断是否在国内,不在国内则不做偏移\n * @param lng\n * @param lat\n * @returns {boolean}\n */\nvar out_of_china = function out_of_china(lng: number, lat: number) {\n var lat = +lat\n var lng = +lng\n // 纬度 3.86~53.55, 经度 73.66~135.05\n return !(lng > 73.66 && lng < 135.05 && lat > 3.86 && lat < 53.55)\n}\n\nexport { bd09togcj02, gcj02tobd09, wgs84togcj02, gcj02towgs84 }\n"],"names":["bd09togcj02","gcj02tobd09","wgs84togcj02","gcj02towgs84","transformlat","transformlng","out_of_china"],"mappings":"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"}