vue-cesium
Version:
Vue 3.x components for CesiumJS.
90 lines (88 loc) • 3.31 kB
JavaScript
"use strict";
const x_PI = Math.PI * 3e3 / 180;
const PI = Math.PI;
const a = 6378245;
const ee = 0.006693421622965943;
const bd09togcj02 = function bd09togcj022(bd_lng, bd_lat) {
var bd_lng = +bd_lng;
var bd_lat = +bd_lat;
const x = bd_lng - 65e-4;
const y = bd_lat - 6e-3;
const z = Math.sqrt(x * x + y * y) - 2e-5 * Math.sin(y * x_PI);
const theta = Math.atan2(y, x) - 3e-6 * Math.cos(x * x_PI);
const gg_lng = z * Math.cos(theta);
const gg_lat = z * Math.sin(theta);
return [gg_lng, gg_lat];
};
const gcj02tobd09 = function gcj02tobd092(lng, lat) {
var lat = +lat;
var lng = +lng;
const z = Math.sqrt(lng * lng + lat * lat) + 2e-5 * Math.sin(lat * x_PI);
const theta = Math.atan2(lat, lng) + 3e-6 * Math.cos(lng * x_PI);
const bd_lng = z * Math.cos(theta) + 65e-4;
const bd_lat = z * Math.sin(theta) + 6e-3;
return [bd_lng, bd_lat];
};
const wgs84togcj02 = function wgs84togcj022(lng, lat) {
var lat = +lat;
var lng = +lng;
if (out_of_china(lng, lat)) {
return [lng, lat];
} else {
let dlat = transformlat(lng - 105, lat - 35);
let dlng = transformlng(lng - 105, lat - 35);
const radlat = lat / 180 * PI;
let magic = Math.sin(radlat);
magic = 1 - ee * magic * magic;
const sqrtmagic = Math.sqrt(magic);
dlat = dlat * 180 / (a * (1 - ee) / (magic * sqrtmagic) * PI);
dlng = dlng * 180 / (a / sqrtmagic * Math.cos(radlat) * PI);
const mglat = lat + dlat;
const mglng = lng + dlng;
return [mglng, mglat];
}
};
const gcj02towgs84 = function gcj02towgs842(lng, lat) {
var lat = +lat;
var lng = +lng;
if (out_of_china(lng, lat)) {
return [lng, lat];
} else {
let dlat = transformlat(lng - 105, lat - 35);
let dlng = transformlng(lng - 105, lat - 35);
const radlat = lat / 180 * PI;
let magic = Math.sin(radlat);
magic = 1 - ee * magic * magic;
const sqrtmagic = Math.sqrt(magic);
dlat = dlat * 180 / (a * (1 - ee) / (magic * sqrtmagic) * PI);
dlng = dlng * 180 / (a / sqrtmagic * Math.cos(radlat) * PI);
const mglat = lat + dlat;
const mglng = lng + dlng;
return [lng * 2 - mglng, lat * 2 - mglat];
}
};
var transformlat = function transformlat2(lng, lat) {
var lat = +lat;
var lng = +lng;
let ret = -100 + 2 * lng + 3 * lat + 0.2 * lat * lat + 0.1 * lng * lat + 0.2 * Math.sqrt(Math.abs(lng));
ret += (20 * Math.sin(6 * lng * PI) + 20 * Math.sin(2 * lng * PI)) * 2 / 3;
ret += (20 * Math.sin(lat * PI) + 40 * Math.sin(lat / 3 * PI)) * 2 / 3;
ret += (160 * Math.sin(lat / 12 * PI) + 320 * Math.sin(lat * PI / 30)) * 2 / 3;
return ret;
};
var transformlng = function transformlng2(lng, lat) {
var lat = +lat;
var lng = +lng;
let ret = 300 + lng + 2 * lat + 0.1 * lng * lng + 0.1 * lng * lat + 0.1 * Math.sqrt(Math.abs(lng));
ret += (20 * Math.sin(6 * lng * PI) + 20 * Math.sin(2 * lng * PI)) * 2 / 3;
ret += (20 * Math.sin(lng * PI) + 40 * Math.sin(lng / 3 * PI)) * 2 / 3;
ret += (150 * Math.sin(lng / 12 * PI) + 300 * Math.sin(lng / 30 * PI)) * 2 / 3;
return ret;
};
var out_of_china = function out_of_china2(lng, lat) {
var lat = +lat;
var lng = +lng;
return !(lng > 73.66 && lng < 135.05 && lat > 3.86 && lat < 53.55);
};
export { bd09togcj02, gcj02tobd09, gcj02towgs84, wgs84togcj02 };
//# sourceMappingURL=coordtransform.mjs.map