{"ast":null,"code":"import \"core-js/modules/esnext.iterator.map.js\";\n/**\n * @preserve\n * gcoord 1.0.7, geographic coordinate library\n * Copyright (c) 2025 Jiulong Hu \n */\nconst {\n sin: sin$1,\n cos: cos$1,\n sqrt: sqrt$1,\n abs: abs$1,\n PI: PI$1\n} = Math;\nconst a = 6378245;\nconst ee = 0.006693421622965823;\n// roughly check whether coordinates are in China.\nfunction isInChinaBbox(lon, lat) {\n return lon >= 72.004 && lon <= 137.8347 && lat >= 0.8293 && lat <= 55.8271;\n}\nfunction transformLat(x, y) {\n let ret = -100 + 2 * x + 3 * y + 0.2 * y * y + 0.1 * x * y + 0.2 * sqrt$1(abs$1(x));\n ret += (20 * sin$1(6 * x * PI$1) + 20 * sin$1(2 * x * PI$1)) * 2 / 3;\n ret += (20 * sin$1(y * PI$1) + 40 * sin$1(y / 3 * PI$1)) * 2 / 3;\n ret += (160 * sin$1(y / 12 * PI$1) + 320 * sin$1(y * PI$1 / 30)) * 2 / 3;\n return ret;\n}\nfunction transformLon(x, y) {\n let ret = 300 + x + 2 * y + 0.1 * x * x + 0.1 * x * y + 0.1 * sqrt$1(abs$1(x));\n ret += (20 * sin$1(6 * x * PI$1) + 20 * sin$1(2 * x * PI$1)) * 2 / 3;\n ret += (20 * sin$1(x * PI$1) + 40 * sin$1(x / 3 * PI$1)) * 2 / 3;\n ret += (150 * sin$1(x / 12 * PI$1) + 300 * sin$1(x / 30 * PI$1)) * 2 / 3;\n return ret;\n}\nfunction delta(lon, lat) {\n let dLon = transformLon(lon - 105, lat - 35);\n let dLat = transformLat(lon - 105, lat - 35);\n const radLat = lat / 180 * PI$1;\n let magic = sin$1(radLat);\n magic = 1 - ee * magic * magic;\n const sqrtMagic = sqrt$1(magic);\n dLon = dLon * 180 / (a / sqrtMagic * cos$1(radLat) * PI$1);\n dLat = dLat * 180 / (a * (1 - ee) / (magic * sqrtMagic) * PI$1);\n return [dLon, dLat];\n}\nfunction WGS84ToGCJ02(coord) {\n const [lon, lat] = coord;\n if (!isInChinaBbox(lon, lat)) return [lon, lat];\n const d = delta(lon, lat);\n return [lon + d[0], lat + d[1]];\n}\nfunction GCJ02ToWGS84(coord) {\n const [lon, lat] = coord;\n if (!isInChinaBbox(lon, lat)) return [lon, lat];\n let [wgsLon, wgsLat] = [lon, lat];\n let tempPoint = WGS84ToGCJ02([wgsLon, wgsLat]);\n let dx = tempPoint[0] - lon;\n let dy = tempPoint[1] - lat;\n while (abs$1(dx) > 1e-6 || abs$1(dy) > 1e-6) {\n wgsLon -= dx;\n wgsLat -= dy;\n tempPoint = WGS84ToGCJ02([wgsLon, wgsLat]);\n dx = tempPoint[0] - lon;\n dy = tempPoint[1] - lat;\n }\n return [wgsLon, wgsLat];\n}\nconst {\n sin,\n cos,\n atan2,\n sqrt,\n PI\n} = Math;\nconst baiduFactor = PI * 3000.0 / 180.0;\nfunction BD09ToGCJ02(coord) {\n const [lon, lat] = coord;\n const x = lon - 0.0065;\n const y = lat - 0.006;\n const z = sqrt(x * x + y * y) - 0.00002 * sin(y * baiduFactor);\n const theta = atan2(y, x) - 0.000003 * cos(x * baiduFactor);\n const newLon = z * cos(theta);\n const newLat = z * sin(theta);\n return [newLon, newLat];\n}\nfunction GCJ02ToBD09(coord) {\n const [lon, lat] = coord;\n const x = lon;\n const y = lat;\n const z = sqrt(x * x + y * y) + 0.00002 * sin(y * baiduFactor);\n const theta = atan2(y, x) + 0.000003 * cos(x * baiduFactor);\n const newLon = z * cos(theta) + 0.0065;\n const newLat = z * sin(theta) + 0.006;\n return [newLon, newLat];\n}\n\n// https://github.com/Turfjs/turf/blob/master/packages/turf-projection/index.ts\nconst R2D = 180 / Math.PI;\nconst D2R = Math.PI / 180;\nconst A = 6378137.0;\nconst MAXEXTENT = 20037508.342789244;\nfunction EPSG3857ToWGS84(xy) {\n return [xy[0] * R2D / A, (Math.PI * 0.5 - 2.0 * Math.atan(Math.exp(-xy[1] / A))) * R2D];\n}\nfunction WGS84ToEPSG3857(lonLat) {\n // compensate longitudes passing the 180th meridian\n // from https://github.com/proj4js/proj4js/blob/master/lib/common/adjust_lon.js\n const adjusted = Math.abs(lonLat[0]) <= 180 ? lonLat[0] : lonLat[0] - (lonLat[0] < 0 ? -1 : 1) * 360;\n const xy = [A * adjusted * D2R, A * Math.log(Math.tan(Math.PI * 0.25 + 0.5 * lonLat[1] * D2R))];\n // if xy value is beyond maxextent (e.g. poles), return maxextent\n if (xy[0] > MAXEXTENT) xy[0] = MAXEXTENT;\n if (xy[0] < -MAXEXTENT) xy[0] = -MAXEXTENT;\n if (xy[1] > MAXEXTENT) xy[1] = MAXEXTENT;\n if (xy[1] < -MAXEXTENT) xy[1] = -MAXEXTENT;\n return xy;\n}\nconst {\n abs\n} = Math;\nconst MCBAND = [12890594.86, 8362377.87, 5591021, 3481989.83, 1678043.12, 0];\nconst LLBAND = [75, 60, 45, 30, 15, 0];\nconst MC2LL = [[1.410526172116255e-8, 0.00000898305509648872, -1.9939833816331, 200.9824383106796, -187.2403703815547, 91.6087516669843, -23.38765649603339, 2.57121317296198, -0.03801003308653, 17337981.2], [-7.435856389565537e-9, 0.000008983055097726239, -0.78625201886289, 96.32687599759846, -1.85204757529826, -59.36935905485877, 47.40033549296737, -16.50741931063887, 2.28786674699375, 10260144.86], [-3.030883460898826e-8, 0.00000898305509983578, 0.30071316287616, 59.74293618442277, 7.357984074871, -25.38371002664745, 13.45380521110908, -3.29883767235584, 0.32710905363475, 6856817.37], [-1.981981304930552e-8, 0.000008983055099779535, 0.03278182852591, 40.31678527705744, 0.65659298677277, -4.44255534477492, 0.85341911805263, 0.12923347998204, -0.04625736007561, 4482777.06], [3.09191371068437e-9, 0.000008983055096812155, 0.00006995724062, 23.10934304144901, -0.00023663490511, -0.6321817810242, -0.00663494467273, 0.03430082397953, -0.00466043876332, 2555164.4], [2.890871144776878e-9, 0.000008983055095805407, -3.068298e-8, 7.47137025468032, -0.00000353937994, -0.02145144861037, -0.00001234426596, 0.00010322952773, -0.00000323890364, 826088.5]];\nconst LL2MC = [[-0.0015702102444, 111320.7020616939, 1704480524535203, -10338987376042340, 26112667856603880, -35149669176653700, 26595700718403920, -10725012454188240, 1800819912950474, 82.5], [0.0008277824516172526, 111320.7020463578, 647795574.6671607, -4082003173.641316, 10774905663.51142, -15171875531.51559, 12053065338.62167, -5124939663.577472, 913311935.9512032, 67.5], [0.00337398766765, 111320.7020202162, 4481351.045890365, -23393751.19931662, 79682215.47186455, -115964993.2797253, 97236711.15602145, -43661946.33752821, 8477230.501135234, 52.5], [0.00220636496208, 111320.7020209128, 51751.86112841131, 3796837.749470245, 992013.7397791013, -1221952.21711287, 1340652.697009075, -620943.6990984312, 144416.9293806241, 37.5], [-0.0003441963504368392, 111320.7020576856, 278.2353980772752, 2485758.690035394, 6070.750963243378, 54821.18345352118, 9540.606633304236, -2710.55326746645, 1405.483844121726, 22.5], [-0.0003218135878613132, 111320.7020701615, 0.00369383431289, 823725.6402795718, 0.46104986909093, 2351.343141331292, 1.58060784298199, 8.77738589078284, 0.37238884252424, 7.45]];\nfunction transform$1(x, y, factors) {\n const cc = abs(y) / factors[9];\n let xt = factors[0] + factors[1] * abs(x);\n let yt = factors[2] + factors[3] * cc + factors[4] * Math.pow(cc, 2) + factors[5] * Math.pow(cc, 3) + factors[6] * Math.pow(cc, 4) + factors[7] * Math.pow(cc, 5) + factors[8] * Math.pow(cc, 6);\n xt *= x < 0 ? -1 : 1;\n yt *= y < 0 ? -1 : 1;\n return [xt, yt];\n}\nfunction BD09toBD09MC(coord) {\n const [lng, lat] = coord;\n let factors = [];\n for (let i = 0; i < LLBAND.length; i++) {\n if (abs(lat) > LLBAND[i]) {\n factors = LL2MC[i];\n break;\n }\n }\n return transform$1(lng, lat, factors);\n}\nfunction BD09MCtoBD09(coord) {\n const [x, y] = coord;\n let factors = [];\n for (let i = 0; i < MCBAND.length; i++) {\n if (abs(y) >= MCBAND[i]) {\n factors = MC2LL[i];\n break;\n }\n }\n return transform$1(x, y, factors);\n}\nfunction assert(condition, msg) {\n if (!condition) throw new Error(msg);\n}\n/**\n * isArray\n *\n * @param {*} input variable to validate\n * @returns {boolean} true/false\n */\nfunction isArray(input) {\n return !!input && Object.prototype.toString.call(input) === '[object Array]';\n}\n/**\n * isNumber\n *\n * @param {*} num Number to validate\n * @returns {boolean} true/false\n * @example\n * isNumber(123)\n * //=true\n * isNumber('foo')\n * //=false\n */\nfunction isNumber(input) {\n return !isNaN(Number(input)) && input !== null && !isArray(input);\n}\n/**\n * compose\n */\nfunction compose(...funcs) {\n const start = funcs.length - 1;\n /* eslint-disable func-names */\n return function (...args) {\n let i = start;\n let result = funcs[start].apply(null, args);\n while (i--) result = funcs[i].call(null, result);\n return result;\n };\n}\n/**\n * Iterate over coordinates in any GeoJSON object, similar to Array.forEach()\n * https://github.com/Turfjs/turf/blob/master/packages/turf-meta/index.mjs\n *\n * @name coordEach\n * @param {FeatureCollection|Feature|Geometry} geojson any GeoJSON object\n * @param {Function} callback a method that takes (currentCoord, coordIndex, featureIndex, multiFeatureIndex)\n * @param {boolean} [excludeWrapCoord=false] whether or not to include the final coordinate of LinearRings that wraps the ring in its iteration.\n * @returns {void}\n * @example\n * let features = featureCollection([\n * point([26, 37], {\"foo\": \"bar\"}),\n * point([36, 53], {\"hello\": \"world\"})\n * ]);\n *\n * coordEach(features, function (currentCoord, coordIndex, featureIndex, multiFeatureIndex, geometryIndex) {\n * //=currentCoord\n * //=coordIndex\n * //=featureIndex\n * //=multiFeatureIndex\n * //=geometryIndex\n * });\n */\n/* eslint-disable no-param-reassign */\nfunction coordEach(geojson, callback, excludeWrapCoord = false) {\n // Handles null Geometry -- Skips this GeoJSON\n if (geojson === null) return;\n /* eslint-disable-next-line */\n let j;\n let k;\n let l;\n let geometry;\n let coords;\n let stopG;\n let wrapShrink = 0;\n let coordIndex = 0;\n let geometryMaybeCollection;\n let isGeometryCollection;\n const {\n type\n } = geojson;\n const isFeatureCollection = type === 'FeatureCollection';\n const isFeature = type === 'Feature';\n const stop = isFeatureCollection ? geojson.features.length : 1;\n // This logic may look a little weird. The reason why it is that way\n // is because it's trying to be fast. GeoJSON supports multiple kinds\n // of objects at its root: FeatureCollection, Features, Geometries.\n // This function has the responsibility of handling all of them, and that\n // means that some of the `for` loops you see below actually just don't apply\n // to certain inputs. For instance, if you give this just a\n // Point geometry, then both loops are short-circuited and all we do\n // is gradually rename the input until it's called 'geometry'.\n //\n // This also aims to allocate as few resources as possible: just a\n // few numbers and booleans, rather than any temporary arrays as would\n // be required with the normalization approach.\n for (let featureIndex = 0; featureIndex < stop; featureIndex++) {\n geometryMaybeCollection = isFeatureCollection ? geojson.features[featureIndex].geometry : isFeature ? geojson.geometry : geojson;\n isGeometryCollection = geometryMaybeCollection ? geometryMaybeCollection.type === 'GeometryCollection' : false;\n stopG = isGeometryCollection ? geometryMaybeCollection.geometries.length : 1;\n for (let geomIndex = 0; geomIndex < stopG; geomIndex++) {\n let multiFeatureIndex = 0;\n let geometryIndex = 0;\n geometry = isGeometryCollection ? geometryMaybeCollection.geometries[geomIndex] : geometryMaybeCollection;\n // Handles null Geometry -- Skips this geometry\n if (geometry === null) continue;\n const geomType = geometry.type;\n wrapShrink = excludeWrapCoord && (geomType === 'Polygon' || geomType === 'MultiPolygon') ? 1 : 0;\n switch (geomType) {\n case null:\n break;\n case 'Point':\n coords = geometry.coordinates;\n if (callback(coords, coordIndex, featureIndex, multiFeatureIndex, geometryIndex) === false) return false;\n coordIndex++;\n multiFeatureIndex++;\n break;\n case 'LineString':\n case 'MultiPoint':\n coords = geometry.coordinates;\n for (j = 0; j < coords.length; j++) {\n if (callback(coords[j], coordIndex, featureIndex, multiFeatureIndex, geometryIndex) === false) return false;\n coordIndex++;\n if (geomType === 'MultiPoint') multiFeatureIndex++;\n }\n if (geomType === 'LineString') multiFeatureIndex++;\n break;\n case 'Polygon':\n case 'MultiLineString':\n coords = geometry.coordinates;\n for (j = 0; j < coords.length; j++) {\n for (k = 0; k < coords[j].length - wrapShrink; k++) {\n if (callback(coords[j][k], coordIndex, featureIndex, multiFeatureIndex, geometryIndex) === false) return false;\n coordIndex++;\n }\n if (geomType === 'MultiLineString') multiFeatureIndex++;\n if (geomType === 'Polygon') geometryIndex++;\n }\n if (geomType === 'Polygon') multiFeatureIndex++;\n break;\n case 'MultiPolygon':\n coords = geometry.coordinates;\n for (j = 0; j < coords.length; j++) {\n geometryIndex = 0;\n for (k = 0; k < coords[j].length; k++) {\n for (l = 0; l < coords[j][k].length - wrapShrink; l++) {\n if (callback(coords[j][k][l], coordIndex, featureIndex, multiFeatureIndex, geometryIndex) === false) return false;\n coordIndex++;\n }\n geometryIndex++;\n }\n multiFeatureIndex++;\n }\n break;\n case 'GeometryCollection':\n for (j = 0; j < geometry.geometries.length; j++) {\n if (coordEach(geometry.geometries[j], callback, excludeWrapCoord) === false) return false;\n }\n break;\n default:\n throw new Error('Unknown Geometry Type');\n }\n }\n }\n}\nvar CRSTypes;\n(function (CRSTypes) {\n // WGS84\n CRSTypes[\"WGS84\"] = \"WGS84\";\n CRSTypes[\"WGS1984\"] = \"WGS84\";\n CRSTypes[\"EPSG4326\"] = \"WGS84\";\n // GCJ02\n CRSTypes[\"GCJ02\"] = \"GCJ02\";\n CRSTypes[\"AMap\"] = \"GCJ02\";\n // BD09\n CRSTypes[\"BD09\"] = \"BD09\";\n CRSTypes[\"BD09LL\"] = \"BD09\";\n CRSTypes[\"Baidu\"] = \"BD09\";\n CRSTypes[\"BMap\"] = \"BD09\";\n // BD09MC\n CRSTypes[\"BD09MC\"] = \"BD09MC\";\n CRSTypes[\"BD09Meter\"] = \"BD09MC\";\n // EPSG3857\n CRSTypes[\"EPSG3857\"] = \"EPSG3857\";\n CRSTypes[\"EPSG900913\"] = \"EPSG3857\";\n CRSTypes[\"EPSG102100\"] = \"EPSG3857\";\n CRSTypes[\"WebMercator\"] = \"EPSG3857\";\n CRSTypes[\"WM\"] = \"EPSG3857\";\n})(CRSTypes || (CRSTypes = {}));\nconst WGS84 = {\n to: {\n [CRSTypes.GCJ02]: WGS84ToGCJ02,\n [CRSTypes.BD09]: compose(GCJ02ToBD09, WGS84ToGCJ02),\n [CRSTypes.BD09MC]: compose(BD09toBD09MC, GCJ02ToBD09, WGS84ToGCJ02),\n [CRSTypes.EPSG3857]: WGS84ToEPSG3857\n }\n};\nconst GCJ02 = {\n to: {\n [CRSTypes.WGS84]: GCJ02ToWGS84,\n [CRSTypes.BD09]: GCJ02ToBD09,\n [CRSTypes.BD09MC]: compose(BD09toBD09MC, GCJ02ToBD09),\n [CRSTypes.EPSG3857]: compose(WGS84ToEPSG3857, GCJ02ToWGS84)\n }\n};\nconst BD09 = {\n to: {\n [CRSTypes.WGS84]: compose(GCJ02ToWGS84, BD09ToGCJ02),\n [CRSTypes.GCJ02]: BD09ToGCJ02,\n [CRSTypes.EPSG3857]: compose(WGS84ToEPSG3857, GCJ02ToWGS84, BD09ToGCJ02),\n [CRSTypes.BD09MC]: BD09toBD09MC\n }\n};\nconst EPSG3857 = {\n to: {\n [CRSTypes.WGS84]: EPSG3857ToWGS84,\n [CRSTypes.GCJ02]: compose(WGS84ToGCJ02, EPSG3857ToWGS84),\n [CRSTypes.BD09]: compose(GCJ02ToBD09, WGS84ToGCJ02, EPSG3857ToWGS84),\n [CRSTypes.BD09MC]: compose(BD09toBD09MC, GCJ02ToBD09, WGS84ToGCJ02, EPSG3857ToWGS84)\n }\n};\nconst BD09MC = {\n to: {\n [CRSTypes.WGS84]: compose(GCJ02ToWGS84, BD09ToGCJ02, BD09MCtoBD09),\n [CRSTypes.GCJ02]: compose(BD09ToGCJ02, BD09MCtoBD09),\n [CRSTypes.EPSG3857]: compose(WGS84ToEPSG3857, GCJ02ToWGS84, BD09ToGCJ02, BD09MCtoBD09),\n [CRSTypes.BD09]: BD09MCtoBD09\n }\n};\nconst crsMap = {\n WGS84,\n GCJ02,\n BD09,\n EPSG3857,\n BD09MC\n};\nvar crsMap$1 = crsMap;\n\n/**\n * transform\n *\n * @param {geojson|position|string} input\n * @returns {geojson|position} output\n */\n/* eslint-disable no-param-reassign */\nfunction transform(input, crsFrom, crsTo) {\n assert(!!input, 'The args[0] input coordinate is required');\n assert(!!crsFrom, 'The args[1] original coordinate system is required');\n assert(!!crsTo, 'The args[2] target coordinate system is required');\n if (crsFrom === crsTo) return input;\n const from = crsMap$1[crsFrom];\n assert(!!from, `Invalid original coordinate system: ${crsFrom}`);\n const to = from.to[crsTo];\n assert(!!to, `Invalid target coordinate system: ${crsTo}`);\n const type = typeof input;\n assert(type === 'string' || type === 'object', `Invalid input coordinate type: ${type}`);\n if (type === 'string') {\n try {\n input = JSON.parse(input);\n } catch (e) {\n throw new Error(`Invalid input coordinate: ${input}`);\n }\n }\n let isPosition = false;\n if (isArray(input)) {\n assert(input.length >= 2, `Invalid input coordinate: ${input}`);\n assert(isNumber(input[0]) && isNumber(input[1]), `Invalid input coordinate: ${input}`);\n input = input.map(Number);\n isPosition = true;\n }\n const convert = to;\n if (isPosition) return convert(input);\n // GeoJSON类型直接转换输入\n coordEach(input, coord => {\n [coord[0], coord[1]] = convert(coord);\n });\n return input;\n}\nconst exported = Object.assign(Object.assign({}, CRSTypes), {\n // 兼容原来gcoord.WGS84的使用方式\n CRSTypes,\n transform\n});\nexport { exported as default };","map":{"version":3,"names":["sin","sin$1","cos","cos$1","sqrt","sqrt$1","abs","abs$1","PI","PI$1","Math","a","ee","isInChinaBbox","lon","lat","transformLat","x","y","ret","transformLon","delta","dLon","dLat","radLat","magic","sqrtMagic","WGS84ToGCJ02","coord","d","GCJ02ToWGS84","wgsLon","wgsLat","tempPoint","dx","dy","atan2","baiduFactor","BD09ToGCJ02","z","theta","newLon","newLat","GCJ02ToBD09","R2D","D2R","A","MAXEXTENT","EPSG3857ToWGS84","xy","atan","exp","WGS84ToEPSG3857","lonLat","adjusted","log","tan","MCBAND","LLBAND","MC2LL","LL2MC","transform$1","factors","cc","xt","yt","pow","BD09toBD09MC","lng","i","length","BD09MCtoBD09","assert","condition","msg","Error","isArray","input","Object","prototype","toString","call","isNumber","isNaN","Number","compose","funcs","start","args","result","apply","coordEach","geojson","callback","excludeWrapCoord","j","k","l","geometry","coords","stopG","wrapShrink","coordIndex","geometryMaybeCollection","isGeometryCollection","type","isFeatureCollection","isFeature","stop","features","featureIndex","geometries","geomIndex","multiFeatureIndex","geometryIndex","geomType","coordinates","CRSTypes","WGS84","to","GCJ02","BD09","BD09MC","EPSG3857","crsMap","crsMap$1","transform","crsFrom","crsTo","from","JSON","parse","e","isPosition","map","convert","exported","assign","default"],"sources":["/data/jenkins/workspace/badp-bcxin-web-access/node_modules/gcoord/dist/gcoord.esm-bundler.js"],"sourcesContent":["/**\n * @preserve\n * gcoord 1.0.7, geographic coordinate library\n * Copyright (c) 2025 Jiulong Hu \n */\nconst { sin: sin$1, cos: cos$1, sqrt: sqrt$1, abs: abs$1, PI: PI$1 } = Math;\nconst a = 6378245;\nconst ee = 0.006693421622965823;\n// roughly check whether coordinates are in China.\nfunction isInChinaBbox(lon, lat) {\n return lon >= 72.004 && lon <= 137.8347 && lat >= 0.8293 && lat <= 55.8271;\n}\nfunction transformLat(x, y) {\n let ret = -100 + 2 * x + 3 * y + 0.2 * y * y + 0.1 * x * y + 0.2 * sqrt$1(abs$1(x));\n ret += ((20 * sin$1(6 * x * PI$1) + 20 * sin$1(2 * x * PI$1)) * 2) / 3;\n ret += ((20 * sin$1(y * PI$1) + 40 * sin$1((y / 3) * PI$1)) * 2) / 3;\n ret += ((160 * sin$1((y / 12) * PI$1) + 320 * sin$1((y * PI$1) / 30)) * 2) / 3;\n return ret;\n}\nfunction transformLon(x, y) {\n let ret = 300 + x + 2 * y + 0.1 * x * x + 0.1 * x * y + 0.1 * sqrt$1(abs$1(x));\n ret += ((20 * sin$1(6 * x * PI$1) + 20 * sin$1(2 * x * PI$1)) * 2) / 3;\n ret += ((20 * sin$1(x * PI$1) + 40 * sin$1((x / 3) * PI$1)) * 2) / 3;\n ret += ((150 * sin$1((x / 12) * PI$1) + 300 * sin$1((x / 30) * PI$1)) * 2) / 3;\n return ret;\n}\nfunction delta(lon, lat) {\n let dLon = transformLon(lon - 105, lat - 35);\n let dLat = transformLat(lon - 105, lat - 35);\n const radLat = (lat / 180) * PI$1;\n let magic = sin$1(radLat);\n magic = 1 - ee * magic * magic;\n const sqrtMagic = sqrt$1(magic);\n dLon = (dLon * 180) / ((a / sqrtMagic) * cos$1(radLat) * PI$1);\n dLat = (dLat * 180) / (((a * (1 - ee)) / (magic * sqrtMagic)) * PI$1);\n return [dLon, dLat];\n}\nfunction WGS84ToGCJ02(coord) {\n const [lon, lat] = coord;\n if (!isInChinaBbox(lon, lat))\n return [lon, lat];\n const d = delta(lon, lat);\n return [lon + d[0], lat + d[1]];\n}\nfunction GCJ02ToWGS84(coord) {\n const [lon, lat] = coord;\n if (!isInChinaBbox(lon, lat))\n return [lon, lat];\n let [wgsLon, wgsLat] = [lon, lat];\n let tempPoint = WGS84ToGCJ02([wgsLon, wgsLat]);\n let dx = tempPoint[0] - lon;\n let dy = tempPoint[1] - lat;\n while (abs$1(dx) > 1e-6 || abs$1(dy) > 1e-6) {\n wgsLon -= dx;\n wgsLat -= dy;\n tempPoint = WGS84ToGCJ02([wgsLon, wgsLat]);\n dx = tempPoint[0] - lon;\n dy = tempPoint[1] - lat;\n }\n return [wgsLon, wgsLat];\n}\n\nconst { sin, cos, atan2, sqrt, PI } = Math;\nconst baiduFactor = (PI * 3000.0) / 180.0;\nfunction BD09ToGCJ02(coord) {\n const [lon, lat] = coord;\n const x = lon - 0.0065;\n const y = lat - 0.006;\n const z = sqrt(x * x + y * y) - 0.00002 * sin(y * baiduFactor);\n const theta = atan2(y, x) - 0.000003 * cos(x * baiduFactor);\n const newLon = z * cos(theta);\n const newLat = z * sin(theta);\n return [newLon, newLat];\n}\nfunction GCJ02ToBD09(coord) {\n const [lon, lat] = coord;\n const x = lon;\n const y = lat;\n const z = sqrt(x * x + y * y) + 0.00002 * sin(y * baiduFactor);\n const theta = atan2(y, x) + 0.000003 * cos(x * baiduFactor);\n const newLon = z * cos(theta) + 0.0065;\n const newLat = z * sin(theta) + 0.006;\n return [newLon, newLat];\n}\n\n// https://github.com/Turfjs/turf/blob/master/packages/turf-projection/index.ts\nconst R2D = 180 / Math.PI;\nconst D2R = Math.PI / 180;\nconst A = 6378137.0;\nconst MAXEXTENT = 20037508.342789244;\nfunction EPSG3857ToWGS84(xy) {\n return [\n (xy[0] * R2D) / A,\n (Math.PI * 0.5 - 2.0 * Math.atan(Math.exp(-xy[1] / A))) * R2D,\n ];\n}\nfunction WGS84ToEPSG3857(lonLat) {\n // compensate longitudes passing the 180th meridian\n // from https://github.com/proj4js/proj4js/blob/master/lib/common/adjust_lon.js\n const adjusted = Math.abs(lonLat[0]) <= 180\n ? lonLat[0]\n : lonLat[0] - (lonLat[0] < 0 ? -1 : 1) * 360;\n const xy = [\n A * adjusted * D2R,\n A * Math.log(Math.tan(Math.PI * 0.25 + 0.5 * lonLat[1] * D2R)),\n ];\n // if xy value is beyond maxextent (e.g. poles), return maxextent\n if (xy[0] > MAXEXTENT)\n xy[0] = MAXEXTENT;\n if (xy[0] < -MAXEXTENT)\n xy[0] = -MAXEXTENT;\n if (xy[1] > MAXEXTENT)\n xy[1] = MAXEXTENT;\n if (xy[1] < -MAXEXTENT)\n xy[1] = -MAXEXTENT;\n return xy;\n}\n\nconst { abs } = Math;\nconst MCBAND = [12890594.86, 8362377.87, 5591021, 3481989.83, 1678043.12, 0];\nconst LLBAND = [75, 60, 45, 30, 15, 0];\nconst MC2LL = [\n [\n 1.410526172116255e-8, 0.00000898305509648872, -1.9939833816331,\n 200.9824383106796, -187.2403703815547, 91.6087516669843, -23.38765649603339,\n 2.57121317296198, -0.03801003308653, 17337981.2,\n ],\n [\n -7.435856389565537e-9, 0.000008983055097726239, -0.78625201886289,\n 96.32687599759846, -1.85204757529826, -59.36935905485877, 47.40033549296737,\n -16.50741931063887, 2.28786674699375, 10260144.86,\n ],\n [\n -3.030883460898826e-8, 0.00000898305509983578, 0.30071316287616,\n 59.74293618442277, 7.357984074871, -25.38371002664745, 13.45380521110908,\n -3.29883767235584, 0.32710905363475, 6856817.37,\n ],\n [\n -1.981981304930552e-8, 0.000008983055099779535, 0.03278182852591,\n 40.31678527705744, 0.65659298677277, -4.44255534477492, 0.85341911805263,\n 0.12923347998204, -0.04625736007561, 4482777.06,\n ],\n [\n 3.09191371068437e-9, 0.000008983055096812155, 0.00006995724062,\n 23.10934304144901, -0.00023663490511, -0.6321817810242, -0.00663494467273,\n 0.03430082397953, -0.00466043876332, 2555164.4,\n ],\n [\n 2.890871144776878e-9, 0.000008983055095805407, -3.068298e-8,\n 7.47137025468032, -0.00000353937994, -0.02145144861037, -0.00001234426596,\n 0.00010322952773, -0.00000323890364, 826088.5,\n ],\n];\nconst LL2MC = [\n [\n -0.0015702102444, 111320.7020616939, 1704480524535203, -10338987376042340,\n 26112667856603880, -35149669176653700, 26595700718403920,\n -10725012454188240, 1800819912950474, 82.5,\n ],\n [\n 0.0008277824516172526, 111320.7020463578, 647795574.6671607,\n -4082003173.641316, 10774905663.51142, -15171875531.51559,\n 12053065338.62167, -5124939663.577472, 913311935.9512032, 67.5,\n ],\n [\n 0.00337398766765, 111320.7020202162, 4481351.045890365, -23393751.19931662,\n 79682215.47186455, -115964993.2797253, 97236711.15602145,\n -43661946.33752821, 8477230.501135234, 52.5,\n ],\n [\n 0.00220636496208, 111320.7020209128, 51751.86112841131, 3796837.749470245,\n 992013.7397791013, -1221952.21711287, 1340652.697009075, -620943.6990984312,\n 144416.9293806241, 37.5,\n ],\n [\n -0.0003441963504368392, 111320.7020576856, 278.2353980772752,\n 2485758.690035394, 6070.750963243378, 54821.18345352118, 9540.606633304236,\n -2710.55326746645, 1405.483844121726, 22.5,\n ],\n [\n -0.0003218135878613132, 111320.7020701615, 0.00369383431289,\n 823725.6402795718, 0.46104986909093, 2351.343141331292, 1.58060784298199,\n 8.77738589078284, 0.37238884252424, 7.45,\n ],\n];\nfunction transform$1(x, y, factors) {\n const cc = abs(y) / factors[9];\n let xt = factors[0] + factors[1] * abs(x);\n let yt = factors[2] +\n factors[3] * cc +\n factors[4] * Math.pow(cc, 2) +\n factors[5] * Math.pow(cc, 3) +\n factors[6] * Math.pow(cc, 4) +\n factors[7] * Math.pow(cc, 5) +\n factors[8] * Math.pow(cc, 6);\n xt *= x < 0 ? -1 : 1;\n yt *= y < 0 ? -1 : 1;\n return [xt, yt];\n}\nfunction BD09toBD09MC(coord) {\n const [lng, lat] = coord;\n let factors = [];\n for (let i = 0; i < LLBAND.length; i++) {\n if (abs(lat) > LLBAND[i]) {\n factors = LL2MC[i];\n break;\n }\n }\n return transform$1(lng, lat, factors);\n}\nfunction BD09MCtoBD09(coord) {\n const [x, y] = coord;\n let factors = [];\n for (let i = 0; i < MCBAND.length; i++) {\n if (abs(y) >= MCBAND[i]) {\n factors = MC2LL[i];\n break;\n }\n }\n return transform$1(x, y, factors);\n}\n\nfunction assert(condition, msg) {\n if (!condition)\n throw new Error(msg);\n}\n/**\n * isArray\n *\n * @param {*} input variable to validate\n * @returns {boolean} true/false\n */\nfunction isArray(input) {\n return !!input && Object.prototype.toString.call(input) === '[object Array]';\n}\n/**\n * isNumber\n *\n * @param {*} num Number to validate\n * @returns {boolean} true/false\n * @example\n * isNumber(123)\n * //=true\n * isNumber('foo')\n * //=false\n */\nfunction isNumber(input) {\n return !isNaN(Number(input)) && input !== null && !isArray(input);\n}\n/**\n * compose\n */\nfunction compose(...funcs) {\n const start = funcs.length - 1;\n /* eslint-disable func-names */\n return function (...args) {\n let i = start;\n let result = funcs[start].apply(null, args);\n while (i--)\n result = funcs[i].call(null, result);\n return result;\n };\n}\n/**\n * Iterate over coordinates in any GeoJSON object, similar to Array.forEach()\n * https://github.com/Turfjs/turf/blob/master/packages/turf-meta/index.mjs\n *\n * @name coordEach\n * @param {FeatureCollection|Feature|Geometry} geojson any GeoJSON object\n * @param {Function} callback a method that takes (currentCoord, coordIndex, featureIndex, multiFeatureIndex)\n * @param {boolean} [excludeWrapCoord=false] whether or not to include the final coordinate of LinearRings that wraps the ring in its iteration.\n * @returns {void}\n * @example\n * let features = featureCollection([\n * point([26, 37], {\"foo\": \"bar\"}),\n * point([36, 53], {\"hello\": \"world\"})\n * ]);\n *\n * coordEach(features, function (currentCoord, coordIndex, featureIndex, multiFeatureIndex, geometryIndex) {\n * //=currentCoord\n * //=coordIndex\n * //=featureIndex\n * //=multiFeatureIndex\n * //=geometryIndex\n * });\n */\n/* eslint-disable no-param-reassign */\nfunction coordEach(geojson, callback, excludeWrapCoord = false) {\n // Handles null Geometry -- Skips this GeoJSON\n if (geojson === null)\n return;\n /* eslint-disable-next-line */\n let j;\n let k;\n let l;\n let geometry;\n let coords;\n let stopG;\n let wrapShrink = 0;\n let coordIndex = 0;\n let geometryMaybeCollection;\n let isGeometryCollection;\n const { type } = geojson;\n const isFeatureCollection = type === 'FeatureCollection';\n const isFeature = type === 'Feature';\n const stop = isFeatureCollection\n ? geojson.features.length\n : 1;\n // This logic may look a little weird. The reason why it is that way\n // is because it's trying to be fast. GeoJSON supports multiple kinds\n // of objects at its root: FeatureCollection, Features, Geometries.\n // This function has the responsibility of handling all of them, and that\n // means that some of the `for` loops you see below actually just don't apply\n // to certain inputs. For instance, if you give this just a\n // Point geometry, then both loops are short-circuited and all we do\n // is gradually rename the input until it's called 'geometry'.\n //\n // This also aims to allocate as few resources as possible: just a\n // few numbers and booleans, rather than any temporary arrays as would\n // be required with the normalization approach.\n for (let featureIndex = 0; featureIndex < stop; featureIndex++) {\n geometryMaybeCollection = isFeatureCollection\n ? geojson.features[featureIndex].geometry\n : isFeature\n ? geojson.geometry\n : geojson;\n isGeometryCollection = geometryMaybeCollection\n ? geometryMaybeCollection.type === 'GeometryCollection'\n : false;\n stopG = isGeometryCollection\n ? geometryMaybeCollection.geometries.length\n : 1;\n for (let geomIndex = 0; geomIndex < stopG; geomIndex++) {\n let multiFeatureIndex = 0;\n let geometryIndex = 0;\n geometry = isGeometryCollection\n ? geometryMaybeCollection.geometries[geomIndex]\n : geometryMaybeCollection;\n // Handles null Geometry -- Skips this geometry\n if (geometry === null)\n continue;\n const geomType = geometry.type;\n wrapShrink =\n excludeWrapCoord &&\n (geomType === 'Polygon' || geomType === 'MultiPolygon')\n ? 1\n : 0;\n switch (geomType) {\n case null:\n break;\n case 'Point':\n coords = geometry.coordinates;\n if (callback(coords, coordIndex, featureIndex, multiFeatureIndex, geometryIndex) === false)\n return false;\n coordIndex++;\n multiFeatureIndex++;\n break;\n case 'LineString':\n case 'MultiPoint':\n coords = geometry.coordinates;\n for (j = 0; j < coords.length; j++) {\n if (callback(coords[j], coordIndex, featureIndex, multiFeatureIndex, geometryIndex) === false)\n return false;\n coordIndex++;\n if (geomType === 'MultiPoint')\n multiFeatureIndex++;\n }\n if (geomType === 'LineString')\n multiFeatureIndex++;\n break;\n case 'Polygon':\n case 'MultiLineString':\n coords = geometry.coordinates;\n for (j = 0; j < coords.length; j++) {\n for (k = 0; k < coords[j].length - wrapShrink; k++) {\n if (callback(coords[j][k], coordIndex, featureIndex, multiFeatureIndex, geometryIndex) === false)\n return false;\n coordIndex++;\n }\n if (geomType === 'MultiLineString')\n multiFeatureIndex++;\n if (geomType === 'Polygon')\n geometryIndex++;\n }\n if (geomType === 'Polygon')\n multiFeatureIndex++;\n break;\n case 'MultiPolygon':\n coords = geometry.coordinates;\n for (j = 0; j < coords.length; j++) {\n geometryIndex = 0;\n for (k = 0; k < coords[j].length; k++) {\n for (l = 0; l < coords[j][k].length - wrapShrink; l++) {\n if (callback(coords[j][k][l], coordIndex, featureIndex, multiFeatureIndex, geometryIndex) === false)\n return false;\n coordIndex++;\n }\n geometryIndex++;\n }\n multiFeatureIndex++;\n }\n break;\n case 'GeometryCollection':\n for (j = 0; j < geometry.geometries.length; j++) {\n if (coordEach(geometry.geometries[j], callback, excludeWrapCoord) === false)\n return false;\n }\n break;\n default:\n throw new Error('Unknown Geometry Type');\n }\n }\n }\n}\n\nvar CRSTypes;\n(function (CRSTypes) {\n // WGS84\n CRSTypes[\"WGS84\"] = \"WGS84\";\n CRSTypes[\"WGS1984\"] = \"WGS84\";\n CRSTypes[\"EPSG4326\"] = \"WGS84\";\n // GCJ02\n CRSTypes[\"GCJ02\"] = \"GCJ02\";\n CRSTypes[\"AMap\"] = \"GCJ02\";\n // BD09\n CRSTypes[\"BD09\"] = \"BD09\";\n CRSTypes[\"BD09LL\"] = \"BD09\";\n CRSTypes[\"Baidu\"] = \"BD09\";\n CRSTypes[\"BMap\"] = \"BD09\";\n // BD09MC\n CRSTypes[\"BD09MC\"] = \"BD09MC\";\n CRSTypes[\"BD09Meter\"] = \"BD09MC\";\n // EPSG3857\n CRSTypes[\"EPSG3857\"] = \"EPSG3857\";\n CRSTypes[\"EPSG900913\"] = \"EPSG3857\";\n CRSTypes[\"EPSG102100\"] = \"EPSG3857\";\n CRSTypes[\"WebMercator\"] = \"EPSG3857\";\n CRSTypes[\"WM\"] = \"EPSG3857\";\n})(CRSTypes || (CRSTypes = {}));\nconst WGS84 = {\n to: {\n [CRSTypes.GCJ02]: WGS84ToGCJ02,\n [CRSTypes.BD09]: compose(GCJ02ToBD09, WGS84ToGCJ02),\n [CRSTypes.BD09MC]: compose(BD09toBD09MC, GCJ02ToBD09, WGS84ToGCJ02),\n [CRSTypes.EPSG3857]: WGS84ToEPSG3857,\n },\n};\nconst GCJ02 = {\n to: {\n [CRSTypes.WGS84]: GCJ02ToWGS84,\n [CRSTypes.BD09]: GCJ02ToBD09,\n [CRSTypes.BD09MC]: compose(BD09toBD09MC, GCJ02ToBD09),\n [CRSTypes.EPSG3857]: compose(WGS84ToEPSG3857, GCJ02ToWGS84),\n },\n};\nconst BD09 = {\n to: {\n [CRSTypes.WGS84]: compose(GCJ02ToWGS84, BD09ToGCJ02),\n [CRSTypes.GCJ02]: BD09ToGCJ02,\n [CRSTypes.EPSG3857]: compose(WGS84ToEPSG3857, GCJ02ToWGS84, BD09ToGCJ02),\n [CRSTypes.BD09MC]: BD09toBD09MC,\n },\n};\nconst EPSG3857 = {\n to: {\n [CRSTypes.WGS84]: EPSG3857ToWGS84,\n [CRSTypes.GCJ02]: compose(WGS84ToGCJ02, EPSG3857ToWGS84),\n [CRSTypes.BD09]: compose(GCJ02ToBD09, WGS84ToGCJ02, EPSG3857ToWGS84),\n [CRSTypes.BD09MC]: compose(BD09toBD09MC, GCJ02ToBD09, WGS84ToGCJ02, EPSG3857ToWGS84),\n },\n};\nconst BD09MC = {\n to: {\n [CRSTypes.WGS84]: compose(GCJ02ToWGS84, BD09ToGCJ02, BD09MCtoBD09),\n [CRSTypes.GCJ02]: compose(BD09ToGCJ02, BD09MCtoBD09),\n [CRSTypes.EPSG3857]: compose(WGS84ToEPSG3857, GCJ02ToWGS84, BD09ToGCJ02, BD09MCtoBD09),\n [CRSTypes.BD09]: BD09MCtoBD09,\n },\n};\nconst crsMap = {\n WGS84,\n GCJ02,\n BD09,\n EPSG3857,\n BD09MC,\n};\nvar crsMap$1 = crsMap;\n\n/**\n * transform\n *\n * @param {geojson|position|string} input\n * @returns {geojson|position} output\n */\n/* eslint-disable no-param-reassign */\nfunction transform(input, crsFrom, crsTo) {\n assert(!!input, 'The args[0] input coordinate is required');\n assert(!!crsFrom, 'The args[1] original coordinate system is required');\n assert(!!crsTo, 'The args[2] target coordinate system is required');\n if (crsFrom === crsTo)\n return input;\n const from = crsMap$1[crsFrom];\n assert(!!from, `Invalid original coordinate system: ${crsFrom}`);\n const to = from.to[crsTo];\n assert(!!to, `Invalid target coordinate system: ${crsTo}`);\n const type = typeof input;\n assert(type === 'string' || type === 'object', `Invalid input coordinate type: ${type}`);\n if (type === 'string') {\n try {\n input = JSON.parse(input);\n }\n catch (e) {\n throw new Error(`Invalid input coordinate: ${input}`);\n }\n }\n let isPosition = false;\n if (isArray(input)) {\n assert(input.length >= 2, `Invalid input coordinate: ${input}`);\n assert(isNumber(input[0]) && isNumber(input[1]), `Invalid input coordinate: ${input}`);\n input = input.map(Number);\n isPosition = true;\n }\n const convert = to;\n if (isPosition)\n return convert(input);\n // GeoJSON类型直接转换输入\n coordEach(input, (coord) => {\n [coord[0], coord[1]] = convert(coord);\n });\n return input;\n}\n\nconst exported = Object.assign(Object.assign({}, CRSTypes), { // 兼容原来gcoord.WGS84的使用方式\n CRSTypes,\n transform });\n\nexport { exported as default };\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}