{"version":3,"sources":["webpack:///./node_modules/core-js/library/modules/_has.js","webpack:///./node_modules/core-js/library/modules/es6.parse-float.js","webpack:///./node_modules/core-js/library/modules/_parse-float.js","webpack:///./node_modules/core-js/library/modules/_to-primitive.js","webpack:///./node_modules/@turf/area/node_modules/@turf/meta/index.js","webpack:///./node_modules/core-js/library/modules/_dom-create.js","webpack:///./node_modules/core-js/library/modules/_defined.js","webpack:///./node_modules/core-js/library/modules/_fails.js","webpack:///./node_modules/core-js/modules/_redefine.js","webpack:///./node_modules/core-js/modules/_hide.js","webpack:///./node_modules/core-js/library/modules/_hide.js","webpack:///./node_modules/@turf/area/index.js","webpack:///./node_modules/core-js/modules/_property-desc.js","webpack:///./node_modules/@babel/runtime-corejs2/core-js/parse-float.js","webpack:///./node_modules/core-js/library/modules/_export.js","webpack:///./node_modules/core-js/modules/_has.js","webpack:///./node_modules/core-js/library/modules/_ie8-dom-define.js","webpack:///./node_modules/core-js/library/modules/_a-function.js","webpack:///./node_modules/mapbox-gl-vue/dist/Mapbox.js","webpack:///./node_modules/core-js/library/fn/parse-float.js","webpack:///./node_modules/core-js/modules/_core.js","webpack:///./node_modules/core-js/library/modules/_descriptors.js","webpack:///./node_modules/@turf/area/node_modules/@turf/helpers/index.js","webpack:///./node_modules/core-js/library/modules/_string-trim.js","webpack:///./node_modules/core-js/library/modules/_property-desc.js","webpack:///./node_modules/core-js/modules/_uid.js","webpack:///./src/utils/areaConverter.js","webpack:///./node_modules/core-js/library/modules/_ctx.js","webpack:///./node_modules/core-js/library/modules/_object-dp.js","webpack:///./node_modules/core-js/library/modules/_an-object.js","webpack:///./node_modules/core-js/library/modules/_global.js","webpack:///./node_modules/core-js/library/modules/_string-ws.js","webpack:///./node_modules/core-js/library/modules/_is-object.js"],"names":["hasOwnProperty","module","exports","it","key","call","$export","__webpack_require__","$parseFloat","G","F","parseFloat","$trim","trim","Infinity","str","string","String","result","charAt","isObject","S","fn","val","toString","valueOf","TypeError","Object","defineProperty","value","helpers","coordEach","geojson","callback","excludeWrapCoord","j","k","l","geometry","stopG","coords","geometryMaybeCollection","isGeometryCollection","wrapShrink","coordIndex","type","isFeatureCollection","isFeature","stop","features","length","featureIndex","geometries","geomIndex","multiFeatureIndex","geometryIndex","coordinates","geomType","Error","coordReduce","initialValue","previousValue","currentCoord","undefined","propEach","i","properties","propReduce","currentProperties","featureEach","featureReduce","currentFeature","coordAll","coord","push","geomEach","g","featureProperties","featureBBox","featureId","bbox","id","geomReduce","currentGeometry","flattenEach","feature","coordinate","geom","flattenReduce","segmentEach","segmentIndex","previousCoords","previousFeatureIndex","previousMultiIndex","prevGeomIndex","featureIndexCoord","multiPartIndexCoord","currentSegment","lineString","segmentReduce","started","lineEach","lineReduce","currentLine","findSegment","options","findPoint","point","document","is","createElement","exec","e","global","hide","has","SRC","TO_STRING","$toString","Function","TPL","split","inspectSource","O","safe","isFunction","join","prototype","this","dP","createDesc","object","f","meta_1","RADIUS","area","calculateArea","total","polygonArea","Math","abs","ringArea","p1","p2","p3","lowerIndex","middleIndex","upperIndex","coordsLength","rad","sin","num","PI","default","bitmap","enumerable","configurable","writable","core","ctx","PROTOTYPE","name","source","own","out","IS_FORCED","IS_GLOBAL","IS_STATIC","IS_PROTO","P","IS_BIND","B","IS_WRAP","W","expProto","target","C","a","b","c","arguments","apply","virtual","R","U","get","root","factory","modules","installedModules","moduleId","m","d","getter","o","n","__esModule","property","p","s","data","_map","props","accessToken","required","mapOptions","navControl","show","position","geolocateControl","scaleControl","fullscreenControl","mounted","map","mapInit","addControls","registerEvents","methods","mapboxgl","container","Map","$emit","_this","on","_this2","nav","NavigationControl","addControl","geolocate","GeolocateControl","positionError","scale","ScaleControl","fullscreen","FullscreenControl","beforeDestroy","remove","rawScriptExports","compiledTemplate","functionalTemplate","injectStyles","scopeId","moduleIdentifier","esModule","scriptExports","hook","render","staticRenderFns","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","existing","beforeCreate","_injectStyles","h","concat","__webpack_exports__","_vm","_h","$createElement","_c","_self","attrs","_withStripped","esExports","__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_bustCache_Mapbox_vue__","__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_bustCache_Mapbox_vue___default","__WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_d7f5bcc2_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_bustCache_Mapbox_vue__","normalizeComponent","__vue_template_functional__","__vue_styles__","__vue_scopeId__","__vue_module_identifier__","Component","__file","keys","some","substr","console","error","version","__e","feat","polygon","multiPoint","multiLineString","multiPolygon","points","featureCollection","_i","coordinates_1","ring","polygons","lineStrings","fc","geometryCollection","round","precision","multiplier","pow","radiansToLength","radians","units","factor","factors","lengthToRadians","distance","lengthToDegrees","radiansToDegrees","bearingToAzimuth","bearing","angle","degrees","degreesToRadians","convertLength","originalUnit","finalUnit","convertArea","startFactor","areaFactors","finalFactor","isNumber","isNaN","Array","isArray","test","input","constructor","validateBBox","forEach","validateId","indexOf","radians2degrees","degrees2radians","distanceToDegrees","distanceToRadians","radiansToDistance","bearingToAngle","convertDistance","earthRadius","centimeters","centimetres","feet","inches","kilometers","kilometres","meters","metres","miles","millimeters","millimetres","nauticalmiles","yards","unitsFactors","acres","defined","fails","spaces","space","non","ltrim","RegExp","rtrim","exporter","KEY","ALIAS","exp","FORCE","TYPE","replace","px","random","ConvertFromM2To","conversionTableFromM2","acre","sign","si","squarekilometer","squaremetre","squaremile","squareyard","squarefoot","squareinch","hectare","returnVal","areaInM2","unitConvertedTo","areaInConvertedUnit","unit","areaInM2In","areaConverted","toFixed","unitConvertedToSI","aFunction","that","anObject","IE8_DOM_DEFINE","toPrimitive","Attributes","window","self","__g"],"mappings":"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","file":"js/chunk-689c1ab0.d7f7b2fd.js","sourcesContent":["var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var $export = require('./_export');\nvar $parseFloat = require('./_parse-float');\n// 18.2.4 parseFloat(string)\n$export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat });\n","var $parseFloat = require('./_global').parseFloat;\nvar $trim = require('./_string-trim').trim;\n\nmodule.exports = 1 / $parseFloat(require('./_string-ws') + '-0') !== -Infinity ? function parseFloat(str) {\n var string = $trim(String(str), 3);\n var result = $parseFloat(string);\n return result === 0 && string.charAt(0) == '-' ? -0 : result;\n} : $parseFloat;\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar helpers = require('@turf/helpers');\n\n/**\n * Callback for coordEach\n *\n * @callback coordEachCallback\n * @param {Array} currentCoord The current coordinate being processed.\n * @param {number} coordIndex The current index of the coordinate being processed.\n * @param {number} featureIndex The current index of the Feature being processed.\n * @param {number} multiFeatureIndex The current index of the Multi-Feature being processed.\n * @param {number} geometryIndex The current index of the Geometry being processed.\n */\n\n/**\n * Iterate over coordinates in any GeoJSON object, similar to Array.forEach()\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 * var features = turf.featureCollection([\n * turf.point([26, 37], {\"foo\": \"bar\"}),\n * turf.point([36, 53], {\"hello\": \"world\"})\n * ]);\n *\n * turf.coordEach(features, function (currentCoord, coordIndex, featureIndex, multiFeatureIndex, geometryIndex) {\n * //=currentCoord\n * //=coordIndex\n * //=featureIndex\n * //=multiFeatureIndex\n * //=geometryIndex\n * });\n */\nfunction coordEach(geojson, callback, excludeWrapCoord) {\n // Handles null Geometry -- Skips this GeoJSON\n if (geojson === null) return;\n var j, k, l, geometry, stopG, coords,\n geometryMaybeCollection,\n wrapShrink = 0,\n coordIndex = 0,\n isGeometryCollection,\n type = geojson.type,\n isFeatureCollection = type === 'FeatureCollection',\n isFeature = type === 'Feature',\n stop = isFeatureCollection ? geojson.features.length : 1;\n\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 (var featureIndex = 0; featureIndex < stop; featureIndex++) {\n geometryMaybeCollection = (isFeatureCollection ? geojson.features[featureIndex].geometry :\n (isFeature ? geojson.geometry : geojson));\n isGeometryCollection = (geometryMaybeCollection) ? geometryMaybeCollection.type === 'GeometryCollection' : false;\n stopG = isGeometryCollection ? geometryMaybeCollection.geometries.length : 1;\n\n for (var geomIndex = 0; geomIndex < stopG; geomIndex++) {\n var multiFeatureIndex = 0;\n var geometryIndex = 0;\n geometry = isGeometryCollection ?\n geometryMaybeCollection.geometries[geomIndex] : geometryMaybeCollection;\n\n // Handles null Geometry -- Skips this geometry\n if (geometry === null) continue;\n coords = geometry.coordinates;\n var geomType = geometry.type;\n\n wrapShrink = (excludeWrapCoord && (geomType === 'Polygon' || geomType === 'MultiPolygon')) ? 1 : 0;\n\n switch (geomType) {\n case null:\n break;\n case 'Point':\n if (callback(coords, coordIndex, featureIndex, multiFeatureIndex, geometryIndex) === false) return false;\n coordIndex++;\n multiFeatureIndex++;\n break;\n case 'LineString':\n case 'MultiPoint':\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 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 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 break;\n default:\n throw new Error('Unknown Geometry Type');\n }\n }\n }\n}\n\n/**\n * Callback for coordReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @callback coordReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {Array} currentCoord The current coordinate being processed.\n * @param {number} coordIndex The current index of the coordinate being processed.\n * Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n * @param {number} featureIndex The current index of the Feature being processed.\n * @param {number} multiFeatureIndex The current index of the Multi-Feature being processed.\n * @param {number} geometryIndex The current index of the Geometry being processed.\n */\n\n/**\n * Reduce coordinates in any GeoJSON object, similar to Array.reduce()\n *\n * @name coordReduce\n * @param {FeatureCollection|Geometry|Feature} geojson any GeoJSON object\n * @param {Function} callback a method that takes (previousValue, currentCoord, coordIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @param {boolean} [excludeWrapCoord=false] whether or not to include the final coordinate of LinearRings that wraps the ring in its iteration.\n * @returns {*} The value that results from the reduction.\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {\"foo\": \"bar\"}),\n * turf.point([36, 53], {\"hello\": \"world\"})\n * ]);\n *\n * turf.coordReduce(features, function (previousValue, currentCoord, coordIndex, featureIndex, multiFeatureIndex, geometryIndex) {\n * //=previousValue\n * //=currentCoord\n * //=coordIndex\n * //=featureIndex\n * //=multiFeatureIndex\n * //=geometryIndex\n * return currentCoord;\n * });\n */\nfunction coordReduce(geojson, callback, initialValue, excludeWrapCoord) {\n var previousValue = initialValue;\n coordEach(geojson, function (currentCoord, coordIndex, featureIndex, multiFeatureIndex, geometryIndex) {\n if (coordIndex === 0 && initialValue === undefined) previousValue = currentCoord;\n else previousValue = callback(previousValue, currentCoord, coordIndex, featureIndex, multiFeatureIndex, geometryIndex);\n }, excludeWrapCoord);\n return previousValue;\n}\n\n/**\n * Callback for propEach\n *\n * @callback propEachCallback\n * @param {Object} currentProperties The current Properties being processed.\n * @param {number} featureIndex The current index of the Feature being processed.\n */\n\n/**\n * Iterate over properties in any GeoJSON object, similar to Array.forEach()\n *\n * @name propEach\n * @param {FeatureCollection|Feature} geojson any GeoJSON object\n * @param {Function} callback a method that takes (currentProperties, featureIndex)\n * @returns {void}\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.point([36, 53], {hello: 'world'})\n * ]);\n *\n * turf.propEach(features, function (currentProperties, featureIndex) {\n * //=currentProperties\n * //=featureIndex\n * });\n */\nfunction propEach(geojson, callback) {\n var i;\n switch (geojson.type) {\n case 'FeatureCollection':\n for (i = 0; i < geojson.features.length; i++) {\n if (callback(geojson.features[i].properties, i) === false) break;\n }\n break;\n case 'Feature':\n callback(geojson.properties, 0);\n break;\n }\n}\n\n\n/**\n * Callback for propReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @callback propReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {*} currentProperties The current Properties being processed.\n * @param {number} featureIndex The current index of the Feature being processed.\n */\n\n/**\n * Reduce properties in any GeoJSON object into a single value,\n * similar to how Array.reduce works. However, in this case we lazily run\n * the reduction, so an array of all properties is unnecessary.\n *\n * @name propReduce\n * @param {FeatureCollection|Feature} geojson any GeoJSON object\n * @param {Function} callback a method that takes (previousValue, currentProperties, featureIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @returns {*} The value that results from the reduction.\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.point([36, 53], {hello: 'world'})\n * ]);\n *\n * turf.propReduce(features, function (previousValue, currentProperties, featureIndex) {\n * //=previousValue\n * //=currentProperties\n * //=featureIndex\n * return currentProperties\n * });\n */\nfunction propReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n propEach(geojson, function (currentProperties, featureIndex) {\n if (featureIndex === 0 && initialValue === undefined) previousValue = currentProperties;\n else previousValue = callback(previousValue, currentProperties, featureIndex);\n });\n return previousValue;\n}\n\n/**\n * Callback for featureEach\n *\n * @callback featureEachCallback\n * @param {Feature} currentFeature The current Feature being processed.\n * @param {number} featureIndex The current index of the Feature being processed.\n */\n\n/**\n * Iterate over features in any GeoJSON object, similar to\n * Array.forEach.\n *\n * @name featureEach\n * @param {FeatureCollection|Feature|Geometry} geojson any GeoJSON object\n * @param {Function} callback a method that takes (currentFeature, featureIndex)\n * @returns {void}\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.point([36, 53], {hello: 'world'})\n * ]);\n *\n * turf.featureEach(features, function (currentFeature, featureIndex) {\n * //=currentFeature\n * //=featureIndex\n * });\n */\nfunction featureEach(geojson, callback) {\n if (geojson.type === 'Feature') {\n callback(geojson, 0);\n } else if (geojson.type === 'FeatureCollection') {\n for (var i = 0; i < geojson.features.length; i++) {\n if (callback(geojson.features[i], i) === false) break;\n }\n }\n}\n\n/**\n * Callback for featureReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @callback featureReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {Feature} currentFeature The current Feature being processed.\n * @param {number} featureIndex The current index of the Feature being processed.\n */\n\n/**\n * Reduce features in any GeoJSON object, similar to Array.reduce().\n *\n * @name featureReduce\n * @param {FeatureCollection|Feature|Geometry} geojson any GeoJSON object\n * @param {Function} callback a method that takes (previousValue, currentFeature, featureIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @returns {*} The value that results from the reduction.\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {\"foo\": \"bar\"}),\n * turf.point([36, 53], {\"hello\": \"world\"})\n * ]);\n *\n * turf.featureReduce(features, function (previousValue, currentFeature, featureIndex) {\n * //=previousValue\n * //=currentFeature\n * //=featureIndex\n * return currentFeature\n * });\n */\nfunction featureReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n featureEach(geojson, function (currentFeature, featureIndex) {\n if (featureIndex === 0 && initialValue === undefined) previousValue = currentFeature;\n else previousValue = callback(previousValue, currentFeature, featureIndex);\n });\n return previousValue;\n}\n\n/**\n * Get all coordinates from any GeoJSON object.\n *\n * @name coordAll\n * @param {FeatureCollection|Feature|Geometry} geojson any GeoJSON object\n * @returns {Array>} coordinate position array\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.point([36, 53], {hello: 'world'})\n * ]);\n *\n * var coords = turf.coordAll(features);\n * //= [[26, 37], [36, 53]]\n */\nfunction coordAll(geojson) {\n var coords = [];\n coordEach(geojson, function (coord) {\n coords.push(coord);\n });\n return coords;\n}\n\n/**\n * Callback for geomEach\n *\n * @callback geomEachCallback\n * @param {Geometry} currentGeometry The current Geometry being processed.\n * @param {number} featureIndex The current index of the Feature being processed.\n * @param {Object} featureProperties The current Feature Properties being processed.\n * @param {Array} featureBBox The current Feature BBox being processed.\n * @param {number|string} featureId The current Feature Id being processed.\n */\n\n/**\n * Iterate over each geometry in any GeoJSON object, similar to Array.forEach()\n *\n * @name geomEach\n * @param {FeatureCollection|Feature|Geometry} geojson any GeoJSON object\n * @param {Function} callback a method that takes (currentGeometry, featureIndex, featureProperties, featureBBox, featureId)\n * @returns {void}\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.point([36, 53], {hello: 'world'})\n * ]);\n *\n * turf.geomEach(features, function (currentGeometry, featureIndex, featureProperties, featureBBox, featureId) {\n * //=currentGeometry\n * //=featureIndex\n * //=featureProperties\n * //=featureBBox\n * //=featureId\n * });\n */\nfunction geomEach(geojson, callback) {\n var i, j, g, geometry, stopG,\n geometryMaybeCollection,\n isGeometryCollection,\n featureProperties,\n featureBBox,\n featureId,\n featureIndex = 0,\n isFeatureCollection = geojson.type === 'FeatureCollection',\n isFeature = geojson.type === 'Feature',\n stop = isFeatureCollection ? geojson.features.length : 1;\n\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 (i = 0; i < stop; i++) {\n\n geometryMaybeCollection = (isFeatureCollection ? geojson.features[i].geometry :\n (isFeature ? geojson.geometry : geojson));\n featureProperties = (isFeatureCollection ? geojson.features[i].properties :\n (isFeature ? geojson.properties : {}));\n featureBBox = (isFeatureCollection ? geojson.features[i].bbox :\n (isFeature ? geojson.bbox : undefined));\n featureId = (isFeatureCollection ? geojson.features[i].id :\n (isFeature ? geojson.id : undefined));\n isGeometryCollection = (geometryMaybeCollection) ? geometryMaybeCollection.type === 'GeometryCollection' : false;\n stopG = isGeometryCollection ? geometryMaybeCollection.geometries.length : 1;\n\n for (g = 0; g < stopG; g++) {\n geometry = isGeometryCollection ?\n geometryMaybeCollection.geometries[g] : geometryMaybeCollection;\n\n // Handle null Geometry\n if (geometry === null) {\n if (callback(null, featureIndex, featureProperties, featureBBox, featureId) === false) return false;\n continue;\n }\n switch (geometry.type) {\n case 'Point':\n case 'LineString':\n case 'MultiPoint':\n case 'Polygon':\n case 'MultiLineString':\n case 'MultiPolygon': {\n if (callback(geometry, featureIndex, featureProperties, featureBBox, featureId) === false) return false;\n break;\n }\n case 'GeometryCollection': {\n for (j = 0; j < geometry.geometries.length; j++) {\n if (callback(geometry.geometries[j], featureIndex, featureProperties, featureBBox, featureId) === false) return false;\n }\n break;\n }\n default:\n throw new Error('Unknown Geometry Type');\n }\n }\n // Only increase `featureIndex` per each feature\n featureIndex++;\n }\n}\n\n/**\n * Callback for geomReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @callback geomReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {Geometry} currentGeometry The current Geometry being processed.\n * @param {number} featureIndex The current index of the Feature being processed.\n * @param {Object} featureProperties The current Feature Properties being processed.\n * @param {Array} featureBBox The current Feature BBox being processed.\n * @param {number|string} featureId The current Feature Id being processed.\n */\n\n/**\n * Reduce geometry in any GeoJSON object, similar to Array.reduce().\n *\n * @name geomReduce\n * @param {FeatureCollection|Feature|Geometry} geojson any GeoJSON object\n * @param {Function} callback a method that takes (previousValue, currentGeometry, featureIndex, featureProperties, featureBBox, featureId)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @returns {*} The value that results from the reduction.\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.point([36, 53], {hello: 'world'})\n * ]);\n *\n * turf.geomReduce(features, function (previousValue, currentGeometry, featureIndex, featureProperties, featureBBox, featureId) {\n * //=previousValue\n * //=currentGeometry\n * //=featureIndex\n * //=featureProperties\n * //=featureBBox\n * //=featureId\n * return currentGeometry\n * });\n */\nfunction geomReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n geomEach(geojson, function (currentGeometry, featureIndex, featureProperties, featureBBox, featureId) {\n if (featureIndex === 0 && initialValue === undefined) previousValue = currentGeometry;\n else previousValue = callback(previousValue, currentGeometry, featureIndex, featureProperties, featureBBox, featureId);\n });\n return previousValue;\n}\n\n/**\n * Callback for flattenEach\n *\n * @callback flattenEachCallback\n * @param {Feature} currentFeature The current flattened feature being processed.\n * @param {number} featureIndex The current index of the Feature being processed.\n * @param {number} multiFeatureIndex The current index of the Multi-Feature being processed.\n */\n\n/**\n * Iterate over flattened features in any GeoJSON object, similar to\n * Array.forEach.\n *\n * @name flattenEach\n * @param {FeatureCollection|Feature|Geometry} geojson any GeoJSON object\n * @param {Function} callback a method that takes (currentFeature, featureIndex, multiFeatureIndex)\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.multiPoint([[40, 30], [36, 53]], {hello: 'world'})\n * ]);\n *\n * turf.flattenEach(features, function (currentFeature, featureIndex, multiFeatureIndex) {\n * //=currentFeature\n * //=featureIndex\n * //=multiFeatureIndex\n * });\n */\nfunction flattenEach(geojson, callback) {\n geomEach(geojson, function (geometry, featureIndex, properties, bbox, id) {\n // Callback for single geometry\n var type = (geometry === null) ? null : geometry.type;\n switch (type) {\n case null:\n case 'Point':\n case 'LineString':\n case 'Polygon':\n if (callback(helpers.feature(geometry, properties, {bbox: bbox, id: id}), featureIndex, 0) === false) return false;\n return;\n }\n\n var geomType;\n\n // Callback for multi-geometry\n switch (type) {\n case 'MultiPoint':\n geomType = 'Point';\n break;\n case 'MultiLineString':\n geomType = 'LineString';\n break;\n case 'MultiPolygon':\n geomType = 'Polygon';\n break;\n }\n\n for (var multiFeatureIndex = 0; multiFeatureIndex < geometry.coordinates.length; multiFeatureIndex++) {\n var coordinate = geometry.coordinates[multiFeatureIndex];\n var geom = {\n type: geomType,\n coordinates: coordinate\n };\n if (callback(helpers.feature(geom, properties), featureIndex, multiFeatureIndex) === false) return false;\n }\n });\n}\n\n/**\n * Callback for flattenReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @callback flattenReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {Feature} currentFeature The current Feature being processed.\n * @param {number} featureIndex The current index of the Feature being processed.\n * @param {number} multiFeatureIndex The current index of the Multi-Feature being processed.\n */\n\n/**\n * Reduce flattened features in any GeoJSON object, similar to Array.reduce().\n *\n * @name flattenReduce\n * @param {FeatureCollection|Feature|Geometry} geojson any GeoJSON object\n * @param {Function} callback a method that takes (previousValue, currentFeature, featureIndex, multiFeatureIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @returns {*} The value that results from the reduction.\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.multiPoint([[40, 30], [36, 53]], {hello: 'world'})\n * ]);\n *\n * turf.flattenReduce(features, function (previousValue, currentFeature, featureIndex, multiFeatureIndex) {\n * //=previousValue\n * //=currentFeature\n * //=featureIndex\n * //=multiFeatureIndex\n * return currentFeature\n * });\n */\nfunction flattenReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n flattenEach(geojson, function (currentFeature, featureIndex, multiFeatureIndex) {\n if (featureIndex === 0 && multiFeatureIndex === 0 && initialValue === undefined) previousValue = currentFeature;\n else previousValue = callback(previousValue, currentFeature, featureIndex, multiFeatureIndex);\n });\n return previousValue;\n}\n\n/**\n * Callback for segmentEach\n *\n * @callback segmentEachCallback\n * @param {Feature} currentSegment The current Segment being processed.\n * @param {number} featureIndex The current index of the Feature being processed.\n * @param {number} multiFeatureIndex The current index of the Multi-Feature being processed.\n * @param {number} geometryIndex The current index of the Geometry being processed.\n * @param {number} segmentIndex The current index of the Segment being processed.\n * @returns {void}\n */\n\n/**\n * Iterate over 2-vertex line segment in any GeoJSON object, similar to Array.forEach()\n * (Multi)Point geometries do not contain segments therefore they are ignored during this operation.\n *\n * @param {FeatureCollection|Feature|Geometry} geojson any GeoJSON\n * @param {Function} callback a method that takes (currentSegment, featureIndex, multiFeatureIndex, geometryIndex, segmentIndex)\n * @returns {void}\n * @example\n * var polygon = turf.polygon([[[-50, 5], [-40, -10], [-50, -10], [-40, 5], [-50, 5]]]);\n *\n * // Iterate over GeoJSON by 2-vertex segments\n * turf.segmentEach(polygon, function (currentSegment, featureIndex, multiFeatureIndex, geometryIndex, segmentIndex) {\n * //=currentSegment\n * //=featureIndex\n * //=multiFeatureIndex\n * //=geometryIndex\n * //=segmentIndex\n * });\n *\n * // Calculate the total number of segments\n * var total = 0;\n * turf.segmentEach(polygon, function () {\n * total++;\n * });\n */\nfunction segmentEach(geojson, callback) {\n flattenEach(geojson, function (feature, featureIndex, multiFeatureIndex) {\n var segmentIndex = 0;\n\n // Exclude null Geometries\n if (!feature.geometry) return;\n // (Multi)Point geometries do not contain segments therefore they are ignored during this operation.\n var type = feature.geometry.type;\n if (type === 'Point' || type === 'MultiPoint') return;\n\n // Generate 2-vertex line segments\n var previousCoords;\n var previousFeatureIndex = 0;\n var previousMultiIndex = 0;\n var prevGeomIndex = 0;\n if (coordEach(feature, function (currentCoord, coordIndex, featureIndexCoord, multiPartIndexCoord, geometryIndex) {\n // Simulating a meta.coordReduce() since `reduce` operations cannot be stopped by returning `false`\n if (previousCoords === undefined || featureIndex > previousFeatureIndex || multiPartIndexCoord > previousMultiIndex || geometryIndex > prevGeomIndex) {\n previousCoords = currentCoord;\n previousFeatureIndex = featureIndex;\n previousMultiIndex = multiPartIndexCoord;\n prevGeomIndex = geometryIndex;\n segmentIndex = 0;\n return;\n }\n var currentSegment = helpers.lineString([previousCoords, currentCoord], feature.properties);\n if (callback(currentSegment, featureIndex, multiFeatureIndex, geometryIndex, segmentIndex) === false) return false;\n segmentIndex++;\n previousCoords = currentCoord;\n }) === false) return false;\n });\n}\n\n/**\n * Callback for segmentReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @callback segmentReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {Feature} currentSegment The current Segment being processed.\n * @param {number} featureIndex The current index of the Feature being processed.\n * @param {number} multiFeatureIndex The current index of the Multi-Feature being processed.\n * @param {number} geometryIndex The current index of the Geometry being processed.\n * @param {number} segmentIndex The current index of the Segment being processed.\n */\n\n/**\n * Reduce 2-vertex line segment in any GeoJSON object, similar to Array.reduce()\n * (Multi)Point geometries do not contain segments therefore they are ignored during this operation.\n *\n * @param {FeatureCollection|Feature|Geometry} geojson any GeoJSON\n * @param {Function} callback a method that takes (previousValue, currentSegment, currentIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @returns {void}\n * @example\n * var polygon = turf.polygon([[[-50, 5], [-40, -10], [-50, -10], [-40, 5], [-50, 5]]]);\n *\n * // Iterate over GeoJSON by 2-vertex segments\n * turf.segmentReduce(polygon, function (previousSegment, currentSegment, featureIndex, multiFeatureIndex, geometryIndex, segmentIndex) {\n * //= previousSegment\n * //= currentSegment\n * //= featureIndex\n * //= multiFeatureIndex\n * //= geometryIndex\n * //= segmentInex\n * return currentSegment\n * });\n *\n * // Calculate the total number of segments\n * var initialValue = 0\n * var total = turf.segmentReduce(polygon, function (previousValue) {\n * previousValue++;\n * return previousValue;\n * }, initialValue);\n */\nfunction segmentReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n var started = false;\n segmentEach(geojson, function (currentSegment, featureIndex, multiFeatureIndex, geometryIndex, segmentIndex) {\n if (started === false && initialValue === undefined) previousValue = currentSegment;\n else previousValue = callback(previousValue, currentSegment, featureIndex, multiFeatureIndex, geometryIndex, segmentIndex);\n started = true;\n });\n return previousValue;\n}\n\n/**\n * Callback for lineEach\n *\n * @callback lineEachCallback\n * @param {Feature} currentLine The current LineString|LinearRing being processed\n * @param {number} featureIndex The current index of the Feature being processed\n * @param {number} multiFeatureIndex The current index of the Multi-Feature being processed\n * @param {number} geometryIndex The current index of the Geometry being processed\n */\n\n/**\n * Iterate over line or ring coordinates in LineString, Polygon, MultiLineString, MultiPolygon Features or Geometries,\n * similar to Array.forEach.\n *\n * @name lineEach\n * @param {Geometry|Feature} geojson object\n * @param {Function} callback a method that takes (currentLine, featureIndex, multiFeatureIndex, geometryIndex)\n * @example\n * var multiLine = turf.multiLineString([\n * [[26, 37], [35, 45]],\n * [[36, 53], [38, 50], [41, 55]]\n * ]);\n *\n * turf.lineEach(multiLine, function (currentLine, featureIndex, multiFeatureIndex, geometryIndex) {\n * //=currentLine\n * //=featureIndex\n * //=multiFeatureIndex\n * //=geometryIndex\n * });\n */\nfunction lineEach(geojson, callback) {\n // validation\n if (!geojson) throw new Error('geojson is required');\n\n flattenEach(geojson, function (feature, featureIndex, multiFeatureIndex) {\n if (feature.geometry === null) return;\n var type = feature.geometry.type;\n var coords = feature.geometry.coordinates;\n switch (type) {\n case 'LineString':\n if (callback(feature, featureIndex, multiFeatureIndex, 0, 0) === false) return false;\n break;\n case 'Polygon':\n for (var geometryIndex = 0; geometryIndex < coords.length; geometryIndex++) {\n if (callback(helpers.lineString(coords[geometryIndex], feature.properties), featureIndex, multiFeatureIndex, geometryIndex) === false) return false;\n }\n break;\n }\n });\n}\n\n/**\n * Callback for lineReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @callback lineReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {Feature} currentLine The current LineString|LinearRing being processed.\n * @param {number} featureIndex The current index of the Feature being processed\n * @param {number} multiFeatureIndex The current index of the Multi-Feature being processed\n * @param {number} geometryIndex The current index of the Geometry being processed\n */\n\n/**\n * Reduce features in any GeoJSON object, similar to Array.reduce().\n *\n * @name lineReduce\n * @param {Geometry|Feature} geojson object\n * @param {Function} callback a method that takes (previousValue, currentLine, featureIndex, multiFeatureIndex, geometryIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @returns {*} The value that results from the reduction.\n * @example\n * var multiPoly = turf.multiPolygon([\n * turf.polygon([[[12,48],[2,41],[24,38],[12,48]], [[9,44],[13,41],[13,45],[9,44]]]),\n * turf.polygon([[[5, 5], [0, 0], [2, 2], [4, 4], [5, 5]]])\n * ]);\n *\n * turf.lineReduce(multiPoly, function (previousValue, currentLine, featureIndex, multiFeatureIndex, geometryIndex) {\n * //=previousValue\n * //=currentLine\n * //=featureIndex\n * //=multiFeatureIndex\n * //=geometryIndex\n * return currentLine\n * });\n */\nfunction lineReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n lineEach(geojson, function (currentLine, featureIndex, multiFeatureIndex, geometryIndex) {\n if (featureIndex === 0 && initialValue === undefined) previousValue = currentLine;\n else previousValue = callback(previousValue, currentLine, featureIndex, multiFeatureIndex, geometryIndex);\n });\n return previousValue;\n}\n\n/**\n * Finds a particular 2-vertex LineString Segment from a GeoJSON using `@turf/meta` indexes.\n *\n * Negative indexes are permitted.\n * Point & MultiPoint will always return null.\n *\n * @param {FeatureCollection|Feature|Geometry} geojson Any GeoJSON Feature or Geometry\n * @param {Object} [options={}] Optional parameters\n * @param {number} [options.featureIndex=0] Feature Index\n * @param {number} [options.multiFeatureIndex=0] Multi-Feature Index\n * @param {number} [options.geometryIndex=0] Geometry Index\n * @param {number} [options.segmentIndex=0] Segment Index\n * @param {Object} [options.properties={}] Translate Properties to output LineString\n * @param {BBox} [options.bbox={}] Translate BBox to output LineString\n * @param {number|string} [options.id={}] Translate Id to output LineString\n * @returns {Feature} 2-vertex GeoJSON Feature LineString\n * @example\n * var multiLine = turf.multiLineString([\n * [[10, 10], [50, 30], [30, 40]],\n * [[-10, -10], [-50, -30], [-30, -40]]\n * ]);\n *\n * // First Segment (defaults are 0)\n * turf.findSegment(multiLine);\n * // => Feature>\n *\n * // First Segment of 2nd Multi Feature\n * turf.findSegment(multiLine, {multiFeatureIndex: 1});\n * // => Feature>\n *\n * // Last Segment of Last Multi Feature\n * turf.findSegment(multiLine, {multiFeatureIndex: -1, segmentIndex: -1});\n * // => Feature>\n */\nfunction findSegment(geojson, options) {\n // Optional Parameters\n options = options || {};\n if (!helpers.isObject(options)) throw new Error('options is invalid');\n var featureIndex = options.featureIndex || 0;\n var multiFeatureIndex = options.multiFeatureIndex || 0;\n var geometryIndex = options.geometryIndex || 0;\n var segmentIndex = options.segmentIndex || 0;\n\n // Find FeatureIndex\n var properties = options.properties;\n var geometry;\n\n switch (geojson.type) {\n case 'FeatureCollection':\n if (featureIndex < 0) featureIndex = geojson.features.length + featureIndex;\n properties = properties || geojson.features[featureIndex].properties;\n geometry = geojson.features[featureIndex].geometry;\n break;\n case 'Feature':\n properties = properties || geojson.properties;\n geometry = geojson.geometry;\n break;\n case 'Point':\n case 'MultiPoint':\n return null;\n case 'LineString':\n case 'Polygon':\n case 'MultiLineString':\n case 'MultiPolygon':\n geometry = geojson;\n break;\n default:\n throw new Error('geojson is invalid');\n }\n\n // Find SegmentIndex\n if (geometry === null) return null;\n var coords = geometry.coordinates;\n switch (geometry.type) {\n case 'Point':\n case 'MultiPoint':\n return null;\n case 'LineString':\n if (segmentIndex < 0) segmentIndex = coords.length + segmentIndex - 1;\n return helpers.lineString([coords[segmentIndex], coords[segmentIndex + 1]], properties, options);\n case 'Polygon':\n if (geometryIndex < 0) geometryIndex = coords.length + geometryIndex;\n if (segmentIndex < 0) segmentIndex = coords[geometryIndex].length + segmentIndex - 1;\n return helpers.lineString([coords[geometryIndex][segmentIndex], coords[geometryIndex][segmentIndex + 1]], properties, options);\n case 'MultiLineString':\n if (multiFeatureIndex < 0) multiFeatureIndex = coords.length + multiFeatureIndex;\n if (segmentIndex < 0) segmentIndex = coords[multiFeatureIndex].length + segmentIndex - 1;\n return helpers.lineString([coords[multiFeatureIndex][segmentIndex], coords[multiFeatureIndex][segmentIndex + 1]], properties, options);\n case 'MultiPolygon':\n if (multiFeatureIndex < 0) multiFeatureIndex = coords.length + multiFeatureIndex;\n if (geometryIndex < 0) geometryIndex = coords[multiFeatureIndex].length + geometryIndex;\n if (segmentIndex < 0) segmentIndex = coords[multiFeatureIndex][geometryIndex].length - segmentIndex - 1;\n return helpers.lineString([coords[multiFeatureIndex][geometryIndex][segmentIndex], coords[multiFeatureIndex][geometryIndex][segmentIndex + 1]], properties, options);\n }\n throw new Error('geojson is invalid');\n}\n\n/**\n * Finds a particular Point from a GeoJSON using `@turf/meta` indexes.\n *\n * Negative indexes are permitted.\n *\n * @param {FeatureCollection|Feature|Geometry} geojson Any GeoJSON Feature or Geometry\n * @param {Object} [options={}] Optional parameters\n * @param {number} [options.featureIndex=0] Feature Index\n * @param {number} [options.multiFeatureIndex=0] Multi-Feature Index\n * @param {number} [options.geometryIndex=0] Geometry Index\n * @param {number} [options.coordIndex=0] Coord Index\n * @param {Object} [options.properties={}] Translate Properties to output Point\n * @param {BBox} [options.bbox={}] Translate BBox to output Point\n * @param {number|string} [options.id={}] Translate Id to output Point\n * @returns {Feature} 2-vertex GeoJSON Feature Point\n * @example\n * var multiLine = turf.multiLineString([\n * [[10, 10], [50, 30], [30, 40]],\n * [[-10, -10], [-50, -30], [-30, -40]]\n * ]);\n *\n * // First Segment (defaults are 0)\n * turf.findPoint(multiLine);\n * // => Feature>\n *\n * // First Segment of the 2nd Multi-Feature\n * turf.findPoint(multiLine, {multiFeatureIndex: 1});\n * // => Feature>\n *\n * // Last Segment of last Multi-Feature\n * turf.findPoint(multiLine, {multiFeatureIndex: -1, coordIndex: -1});\n * // => Feature>\n */\nfunction findPoint(geojson, options) {\n // Optional Parameters\n options = options || {};\n if (!helpers.isObject(options)) throw new Error('options is invalid');\n var featureIndex = options.featureIndex || 0;\n var multiFeatureIndex = options.multiFeatureIndex || 0;\n var geometryIndex = options.geometryIndex || 0;\n var coordIndex = options.coordIndex || 0;\n\n // Find FeatureIndex\n var properties = options.properties;\n var geometry;\n\n switch (geojson.type) {\n case 'FeatureCollection':\n if (featureIndex < 0) featureIndex = geojson.features.length + featureIndex;\n properties = properties || geojson.features[featureIndex].properties;\n geometry = geojson.features[featureIndex].geometry;\n break;\n case 'Feature':\n properties = properties || geojson.properties;\n geometry = geojson.geometry;\n break;\n case 'Point':\n case 'MultiPoint':\n return null;\n case 'LineString':\n case 'Polygon':\n case 'MultiLineString':\n case 'MultiPolygon':\n geometry = geojson;\n break;\n default:\n throw new Error('geojson is invalid');\n }\n\n // Find Coord Index\n if (geometry === null) return null;\n var coords = geometry.coordinates;\n switch (geometry.type) {\n case 'Point':\n return helpers.point(coords, properties, options);\n case 'MultiPoint':\n if (multiFeatureIndex < 0) multiFeatureIndex = coords.length + multiFeatureIndex;\n return helpers.point(coords[multiFeatureIndex], properties, options);\n case 'LineString':\n if (coordIndex < 0) coordIndex = coords.length + coordIndex;\n return helpers.point(coords[coordIndex], properties, options);\n case 'Polygon':\n if (geometryIndex < 0) geometryIndex = coords.length + geometryIndex;\n if (coordIndex < 0) coordIndex = coords[geometryIndex].length + coordIndex;\n return helpers.point(coords[geometryIndex][coordIndex], properties, options);\n case 'MultiLineString':\n if (multiFeatureIndex < 0) multiFeatureIndex = coords.length + multiFeatureIndex;\n if (coordIndex < 0) coordIndex = coords[multiFeatureIndex].length + coordIndex;\n return helpers.point(coords[multiFeatureIndex][coordIndex], properties, options);\n case 'MultiPolygon':\n if (multiFeatureIndex < 0) multiFeatureIndex = coords.length + multiFeatureIndex;\n if (geometryIndex < 0) geometryIndex = coords[multiFeatureIndex].length + geometryIndex;\n if (coordIndex < 0) coordIndex = coords[multiFeatureIndex][geometryIndex].length - coordIndex;\n return helpers.point(coords[multiFeatureIndex][geometryIndex][coordIndex], properties, options);\n }\n throw new Error('geojson is invalid');\n}\n\nexports.coordEach = coordEach;\nexports.coordReduce = coordReduce;\nexports.propEach = propEach;\nexports.propReduce = propReduce;\nexports.featureEach = featureEach;\nexports.featureReduce = featureReduce;\nexports.coordAll = coordAll;\nexports.geomEach = geomEach;\nexports.geomReduce = geomReduce;\nexports.flattenEach = flattenEach;\nexports.flattenReduce = flattenReduce;\nexports.segmentEach = segmentEach;\nexports.segmentReduce = segmentReduce;\nexports.lineEach = lineEach;\nexports.lineReduce = lineReduce;\nexports.findSegment = findSegment;\nexports.findPoint = findPoint;\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar TO_STRING = 'toString';\nvar $toString = Function[TO_STRING];\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar meta_1 = require(\"@turf/meta\");\n// Note: change RADIUS => earthRadius\nvar RADIUS = 6378137;\n/**\n * Takes one or more features and returns their area in square meters.\n *\n * @name area\n * @param {GeoJSON} geojson input GeoJSON feature(s)\n * @returns {number} area in square meters\n * @example\n * var polygon = turf.polygon([[[125, -15], [113, -22], [154, -27], [144, -15], [125, -15]]]);\n *\n * var area = turf.area(polygon);\n *\n * //addToMap\n * var addToMap = [polygon]\n * polygon.properties.area = area\n */\nfunction area(geojson) {\n return meta_1.geomReduce(geojson, function (value, geom) {\n return value + calculateArea(geom);\n }, 0);\n}\nexports.default = area;\n/**\n * Calculate Area\n *\n * @private\n * @param {Geometry} geom GeoJSON Geometries\n * @returns {number} area\n */\nfunction calculateArea(geom) {\n var total = 0;\n var i;\n switch (geom.type) {\n case \"Polygon\":\n return polygonArea(geom.coordinates);\n case \"MultiPolygon\":\n for (i = 0; i < geom.coordinates.length; i++) {\n total += polygonArea(geom.coordinates[i]);\n }\n return total;\n case \"Point\":\n case \"MultiPoint\":\n case \"LineString\":\n case \"MultiLineString\":\n return 0;\n }\n return 0;\n}\nfunction polygonArea(coords) {\n var total = 0;\n if (coords && coords.length > 0) {\n total += Math.abs(ringArea(coords[0]));\n for (var i = 1; i < coords.length; i++) {\n total -= Math.abs(ringArea(coords[i]));\n }\n }\n return total;\n}\n/**\n * @private\n * Calculate the approximate area of the polygon were it projected onto the earth.\n * Note that this area will be positive if ring is oriented clockwise, otherwise it will be negative.\n *\n * Reference:\n * Robert. G. Chamberlain and William H. Duquette, \"Some Algorithms for Polygons on a Sphere\",\n * JPL Publication 07-03, Jet Propulsion\n * Laboratory, Pasadena, CA, June 2007 http://trs-new.jpl.nasa.gov/dspace/handle/2014/40409\n *\n * @param {Array>} coords Ring Coordinates\n * @returns {number} The approximate signed geodesic area of the polygon in square meters.\n */\nfunction ringArea(coords) {\n var p1;\n var p2;\n var p3;\n var lowerIndex;\n var middleIndex;\n var upperIndex;\n var i;\n var total = 0;\n var coordsLength = coords.length;\n if (coordsLength > 2) {\n for (i = 0; i < coordsLength; i++) {\n if (i === coordsLength - 2) {\n lowerIndex = coordsLength - 2;\n middleIndex = coordsLength - 1;\n upperIndex = 0;\n }\n else if (i === coordsLength - 1) {\n lowerIndex = coordsLength - 1;\n middleIndex = 0;\n upperIndex = 1;\n }\n else {\n lowerIndex = i;\n middleIndex = i + 1;\n upperIndex = i + 2;\n }\n p1 = coords[lowerIndex];\n p2 = coords[middleIndex];\n p3 = coords[upperIndex];\n total += (rad(p3[0]) - rad(p1[0])) * Math.sin(rad(p2[1]));\n }\n total = total * RADIUS * RADIUS / 2;\n }\n return total;\n}\nfunction rad(num) {\n return num * Math.PI / 180;\n}\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","module.exports = require(\"core-js/library/fn/parse-float\");","var global = require('./_global');\nvar core = require('./_core');\nvar ctx = require('./_ctx');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var IS_WRAP = type & $export.W;\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE];\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n var key, own, out;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if (own && has(exports, key)) continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function (C) {\n var F = function (a, b, c) {\n if (this instanceof C) {\n switch (arguments.length) {\n case 0: return new C();\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if (IS_PROTO) {\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"mapbox-gl-vue\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"mapbox-gl-vue\"] = factory();\n\telse\n\t\troot[\"mapbox-gl-vue\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 3);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n//\n//\n//\n//\n\nexports.default = {\n\tdata: function data() {\n\t\treturn {\n\t\t\t_map: null\n\t\t};\n\t},\n\n\tprops: {\n\t\taccessToken: {\n\t\t\ttype: String,\n\t\t\trequired: true\n\t\t},\n\t\tmapOptions: {\n\t\t\ttype: Object,\n\t\t\trequired: true\n\t\t},\n\t\tnavControl: {\n\t\t\ttype: Object,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn {\n\t\t\t\t\tshow: true,\n\t\t\t\t\tposition: 'top-right'\n\t\t\t\t};\n\t\t\t}\n\t\t},\n\t\tgeolocateControl: {\n\t\t\ttype: Object,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn {\n\t\t\t\t\tshow: false,\n\t\t\t\t\tposition: 'top-left',\n\t\t\t\t\toptions: {}\n\t\t\t\t};\n\t\t\t}\n\t\t},\n\t\tscaleControl: {\n\t\t\ttype: Object,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn {\n\t\t\t\t\tshow: false,\n\t\t\t\t\tposition: 'top-left',\n\t\t\t\t\toptions: {}\n\t\t\t\t};\n\t\t\t}\n\t\t},\n\t\tfullscreenControl: {\n\t\t\ttype: Object,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn {\n\t\t\t\t\tshow: false,\n\t\t\t\t\tposition: 'top-right'\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t},\n\tmounted: function mounted() {\n\t\t//Initialze Map\n\t\tvar map = this.mapInit();\n\n\t\t//Save map object to data\n\t\tthis._map = map;\n\n\t\t//Add Controls to map\n\t\tthis.addControls(map);\n\n\t\t//Register Map Events\n\t\tthis.registerEvents(map);\n\t},\n\n\tmethods: {\n\t\tmapInit: function mapInit() {\n\t\t\t//Mapbox GL access token\n\t\t\tmapboxgl.accessToken = this.accessToken;\n\n\t\t\t//Add container to options object\n\t\t\tif (!this.mapOptions.hasOwnProperty('container')) {\n\t\t\t\tthis.mapOptions.container = 'map';\n\t\t\t}\n\n\t\t\t//New Mapbox Instance\n\t\t\tvar map = new mapboxgl.Map(this.mapOptions);\n\n\t\t\t//Emit init event passing map object\n\t\t\tthis.$emit('map-init', map);\n\n\t\t\treturn map;\n\t\t},\n\t\tregisterEvents: function registerEvents(map) {\n\t\t\tvar _this = this;\n\n\t\t\t//Map Loaded\n\t\t\tmap.on('load', function () {\n\t\t\t\t_this.$emit('map-load', map);\n\t\t\t});\n\n\t\t\t//Map Mouse Move\n\t\t\tmap.on('mousemove', function (e) {\n\t\t\t\t_this.$emit('map-mousemove', map, e);\n\t\t\t});\n\n\t\t\t//Map Clicked\n\t\t\tmap.on('click', function (e) {\n\t\t\t\t_this.$emit('map-click', map, e);\n\t\t\t});\n\n\t\t\t//Map Context Menu\n\t\t\tmap.on('contextmenu', function (e) {\n\t\t\t\t_this.$emit('map-contextmenu', map, e);\n\t\t\t});\n\n\t\t\t//Map Resized\n\t\t\tmap.on('resize', function () {\n\t\t\t\t_this.$emit('map-resize', map);\n\t\t\t});\n\n\t\t\t//Map Webgl Context Lost \n\t\t\tmap.on('webglcontextlost', function (e) {\n\t\t\t\t_this.$emit('map-webglcontextlost', map, e);\n\t\t\t});\n\n\t\t\t//Map Webgl Context Restored\n\t\t\tmap.on('webglcontextrestored', function (e) {\n\t\t\t\t_this.$emit('map-webglcontextrestored', map, e);\n\t\t\t});\n\n\t\t\t//Map Removed\n\t\t\tmap.on('remove', function () {\n\t\t\t\t_this.$emit('map-remove', map);\n\t\t\t});\n\n\t\t\t//Map Source Data Loading\n\t\t\tmap.on('sourcedataloading', function (e) {\n\t\t\t\t_this.$emit('map-sourcedataloading', map, e);\n\t\t\t});\n\n\t\t\t//Map Touch Start\n\t\t\tmap.on('touchstart', function (e) {\n\t\t\t\t_this.$emit('map-touchstart', map, e);\n\t\t\t});\n\n\t\t\t//Map Move Start\n\t\t\tmap.on('movestart', function (e) {\n\t\t\t\t_this.$emit('map-movestart', map, e);\n\t\t\t});\n\n\t\t\t//Map Move\n\t\t\tmap.on('move', function (e) {\n\t\t\t\t_this.$emit('map-move', map, e);\n\t\t\t});\n\n\t\t\t//Map Move End\n\t\t\tmap.on('moveend', function (e) {\n\t\t\t\t_this.$emit('map-moveend', map, e);\n\t\t\t});\n\n\t\t\t//Map Error\n\t\t\tmap.on('error', function (e) {\n\t\t\t\t_this.$emit('map-error', map, e);\n\t\t\t});\n\n\t\t\t//Map Data\n\t\t\tmap.on('data', function (e) {\n\t\t\t\t_this.$emit('map-data', map, e);\n\t\t\t});\n\n\t\t\t//Map Style Data\n\t\t\tmap.on('styledata', function (e) {\n\t\t\t\t_this.$emit('map-styledata', map, e);\n\t\t\t});\n\n\t\t\t//Map Mouse Up\n\t\t\tmap.on('mouseup', function (e) {\n\t\t\t\t_this.$emit('map-mouseup', map, e);\n\t\t\t});\n\n\t\t\t//Map Touch Cancel\n\t\t\tmap.on('touchcancel', function (e) {\n\t\t\t\t_this.$emit('map-touchcancel', map, e);\n\t\t\t});\n\n\t\t\t//Map Source Data\n\t\t\tmap.on('sourcedata', function (e) {\n\t\t\t\t_this.$emit('map-sourcedata', map, e);\n\t\t\t});\n\n\t\t\t//Map Data Loading\n\t\t\tmap.on('dataloading', function (e) {\n\t\t\t\t_this.$emit('map-dataloading', map, e);\n\t\t\t});\n\n\t\t\t//Map Style Data Loading\n\t\t\tmap.on('styledataloading', function (e) {\n\t\t\t\t_this.$emit('map-styledataloading', map, e);\n\t\t\t});\n\n\t\t\t//Map Double Click\n\t\t\tmap.on('dblclick', function (e) {\n\t\t\t\t_this.$emit('map-dblclick', map, e);\n\t\t\t});\n\n\t\t\t//Map Render\n\t\t\tmap.on('render', function () {\n\t\t\t\t_this.$emit('map-render', map);\n\t\t\t});\n\n\t\t\t//Map Mouse Out\n\t\t\tmap.on('mouseout', function (e) {\n\t\t\t\t_this.$emit('map-mouseout', map, e);\n\t\t\t});\n\n\t\t\t//Map Mouse Down\n\t\t\tmap.on('mousedown', function (e) {\n\t\t\t\t_this.$emit('map-mousedown', map, e);\n\t\t\t});\n\n\t\t\t//Map Mouse Over\n\t\t\tmap.on('mouseover', function (e) {\n\t\t\t\t_this.$emit('map-mouseover', map, e);\n\t\t\t});\n\n\t\t\t//Map Touch End\n\t\t\tmap.on('touchend', function (e) {\n\t\t\t\t_this.$emit('map-touchend', map, e);\n\t\t\t});\n\n\t\t\t//Map Touch Move\n\t\t\tmap.on('touchmove', function (e) {\n\t\t\t\t_this.$emit('map-touchmove', map, e);\n\t\t\t});\n\n\t\t\t//Map Zoom Start\n\t\t\tmap.on('zoomstart', function (e) {\n\t\t\t\t_this.$emit('map-zoomstart', map, e);\n\t\t\t});\n\n\t\t\t//Map Zoom End\n\t\t\tmap.on('zoomend', function (e) {\n\t\t\t\t_this.$emit('map-zoomend', map, e);\n\t\t\t});\n\n\t\t\t//Map Zoom\n\t\t\tmap.on('zoom', function (e) {\n\t\t\t\t_this.$emit('map-zoom', map, e);\n\t\t\t});\n\n\t\t\t//Map Box Zoom Cancel\n\t\t\tmap.on('boxzoomcancel', function (e) {\n\t\t\t\t_this.$emit('map-boxzoomcancel', map, e);\n\t\t\t});\n\n\t\t\t//Map Box Zoom End\n\t\t\tmap.on('boxzoomend', function (e) {\n\t\t\t\t_this.$emit('map-boxzoomend', map, e);\n\t\t\t});\n\n\t\t\t//Map Box Zoom Start\n\t\t\tmap.on('boxzoomstart', function (e) {\n\t\t\t\t_this.$emit('map-boxzoomstart', map, e);\n\t\t\t});\n\n\t\t\t//Map Rotate Start\n\t\t\tmap.on('rotatestart', function (e) {\n\t\t\t\t_this.$emit('map-rotatestart', map, e);\n\t\t\t});\n\n\t\t\t//Map Rotate\n\t\t\tmap.on('rotate', function (e) {\n\t\t\t\t_this.$emit('map-rotate', map, e);\n\t\t\t});\n\n\t\t\t//Map Rotate End\n\t\t\tmap.on('rotateend', function (e) {\n\t\t\t\t_this.$emit('map-rotateend', map, e);\n\t\t\t});\n\n\t\t\t//Map Drag End\n\t\t\tmap.on('dragend', function (e) {\n\t\t\t\t_this.$emit('map-dragend', map, e);\n\t\t\t});\n\n\t\t\t//Map Drag\n\t\t\tmap.on('drag', function (e) {\n\t\t\t\t_this.$emit('map-drag', map, e);\n\t\t\t});\n\n\t\t\t//Map Drag\n\t\t\tmap.on('dragstart', function (e) {\n\t\t\t\t_this.$emit('map-dragstart', map, e);\n\t\t\t});\n\n\t\t\t//Map Pitch\n\t\t\tmap.on('pitch', function (e) {\n\t\t\t\t_this.$emit('map-pitch', map, e);\n\t\t\t});\n\n\t\t\t//Map Pitch Start\n\t\t\tmap.on('pitchstart', function (e) {\n\t\t\t\t_this.$emit('map-pitchstart', map, e);\n\t\t\t});\n\n\t\t\t//Map Pitch End\n\t\t\tmap.on('pitchend', function (e) {\n\t\t\t\t_this.$emit('map-pitchend', map, e);\n\t\t\t});\n\t\t},\n\t\taddControls: function addControls(map) {\n\t\t\tvar _this2 = this;\n\n\t\t\t//Nav Control\n\t\t\tif (this.navControl.show) {\n\t\t\t\tvar nav = new mapboxgl.NavigationControl();\n\t\t\t\tmap.addControl(nav, this.navControl.position);\n\t\t\t}\n\n\t\t\t//Geolocation Control\n\t\t\tif (this.geolocateControl.show) {\n\t\t\t\tvar geolocate = new mapboxgl.GeolocateControl(this.geolocateControl.options);\n\t\t\t\tmap.addControl(geolocate, this.geolocateControl.position);\n\n\t\t\t\tgeolocate.on('geolocate', function (position) {\n\t\t\t\t\t_this2.$emit('geolocate-geolocate', geolocate, position);\n\t\t\t\t});\n\n\t\t\t\tgeolocate.on('trackuserlocationstart', function () {\n\t\t\t\t\t_this2.$emit('geolocate-trackuserlocationstart', geolocate);\n\t\t\t\t});\n\n\t\t\t\tgeolocate.on('trackuserlocationend', function () {\n\t\t\t\t\t_this2.$emit('geolocate-trackuserlocationend', geolocate);\n\t\t\t\t});\n\n\t\t\t\tgeolocate.on('error', function (positionError) {\n\t\t\t\t\t_this2.$emit('geolocate-error', geolocate, positionError);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t//Scale Control\n\t\t\tif (this.scaleControl.show) {\n\t\t\t\tvar scale = new mapboxgl.ScaleControl(this.scaleControl.options);\n\t\t\t\tmap.addControl(scale, this.scaleControl.position);\n\t\t\t}\n\n\t\t\t//Fullscreen Control\n\t\t\tif (this.fullscreenControl.show) {\n\t\t\t\tvar fullscreen = new mapboxgl.FullscreenControl();\n\t\t\t\tmap.addControl(fullscreen, this.fullscreenControl.position);\n\t\t\t}\n\t\t}\n\t},\n\tbeforeDestroy: function beforeDestroy() {\n\t\tthis._map.remove();\n\t}\n};\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file.\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nmodule.exports = function normalizeComponent (\n rawScriptExports,\n compiledTemplate,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */\n) {\n var esModule\n var scriptExports = rawScriptExports = rawScriptExports || {}\n\n // ES6 modules interop\n var type = typeof rawScriptExports.default\n if (type === 'object' || type === 'function') {\n esModule = rawScriptExports\n scriptExports = rawScriptExports.default\n }\n\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (compiledTemplate) {\n options.render = compiledTemplate.render\n options.staticRenderFns = compiledTemplate.staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = injectStyles\n }\n\n if (hook) {\n var functional = options.functional\n var existing = functional\n ? options.render\n : options.beforeCreate\n\n if (!functional) {\n // inject component registration as beforeCreate hook\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n } else {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return existing(h, context)\n }\n }\n }\n\n return {\n esModule: esModule,\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", {\n attrs: {\n id: _vm.mapOptions.hasOwnProperty(\"container\")\n ? _vm.mapOptions.container\n : \"map\"\n }\n })\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-hot-reload-api\") .rerender(\"data-v-d7f5bcc2\", esExports)\n }\n}\n\n/***/ }),\n/* 3 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_bustCache_Mapbox_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_bustCache_Mapbox_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_bustCache_Mapbox_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_d7f5bcc2_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_bustCache_Mapbox_vue__ = __webpack_require__(2);\nvar disposed = false\nvar normalizeComponent = __webpack_require__(1)\n/* script */\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_bustCache_Mapbox_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_d7f5bcc2_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_bustCache_Mapbox_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"src/components/Mapbox.vue\"\nif (Component.esModule && Object.keys(Component.esModule).some(function (key) { return key !== \"default\" && key.substr(0, 2) !== \"__\"})) { console.error(\"named exports are not supported in *.vue files.\")}\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-d7f5bcc2\", Component.options)\n } else {\n hotAPI.reload(\"data-v-d7f5bcc2\", Component.options)\n' + ' }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ })\n/******/ ]);\n});","require('../modules/es6.parse-float');\nmodule.exports = require('../modules/_core').parseFloat;\n","var core = module.exports = { version: '2.6.2' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * @module helpers\n */\n/**\n * Earth Radius used with the Harvesine formula and approximates using a spherical (non-ellipsoid) Earth.\n *\n * @memberof helpers\n * @type {number}\n */\nexports.earthRadius = 6371008.8;\n/**\n * Unit of measurement factors using a spherical (non-ellipsoid) earth radius.\n *\n * @memberof helpers\n * @type {Object}\n */\nexports.factors = {\n centimeters: exports.earthRadius * 100,\n centimetres: exports.earthRadius * 100,\n degrees: exports.earthRadius / 111325,\n feet: exports.earthRadius * 3.28084,\n inches: exports.earthRadius * 39.370,\n kilometers: exports.earthRadius / 1000,\n kilometres: exports.earthRadius / 1000,\n meters: exports.earthRadius,\n metres: exports.earthRadius,\n miles: exports.earthRadius / 1609.344,\n millimeters: exports.earthRadius * 1000,\n millimetres: exports.earthRadius * 1000,\n nauticalmiles: exports.earthRadius / 1852,\n radians: 1,\n yards: exports.earthRadius / 1.0936,\n};\n/**\n * Units of measurement factors based on 1 meter.\n *\n * @memberof helpers\n * @type {Object}\n */\nexports.unitsFactors = {\n centimeters: 100,\n centimetres: 100,\n degrees: 1 / 111325,\n feet: 3.28084,\n inches: 39.370,\n kilometers: 1 / 1000,\n kilometres: 1 / 1000,\n meters: 1,\n metres: 1,\n miles: 1 / 1609.344,\n millimeters: 1000,\n millimetres: 1000,\n nauticalmiles: 1 / 1852,\n radians: 1 / exports.earthRadius,\n yards: 1 / 1.0936,\n};\n/**\n * Area of measurement factors based on 1 square meter.\n *\n * @memberof helpers\n * @type {Object}\n */\nexports.areaFactors = {\n acres: 0.000247105,\n centimeters: 10000,\n centimetres: 10000,\n feet: 10.763910417,\n inches: 1550.003100006,\n kilometers: 0.000001,\n kilometres: 0.000001,\n meters: 1,\n metres: 1,\n miles: 3.86e-7,\n millimeters: 1000000,\n millimetres: 1000000,\n yards: 1.195990046,\n};\n/**\n * Wraps a GeoJSON {@link Geometry} in a GeoJSON {@link Feature}.\n *\n * @name feature\n * @param {Geometry} geometry input geometry\n * @param {Object} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {Array} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {string|number} [options.id] Identifier associated with the Feature\n * @returns {Feature} a GeoJSON Feature\n * @example\n * var geometry = {\n * \"type\": \"Point\",\n * \"coordinates\": [110, 50]\n * };\n *\n * var feature = turf.feature(geometry);\n *\n * //=feature\n */\nfunction feature(geom, properties, options) {\n if (options === void 0) { options = {}; }\n var feat = { type: \"Feature\" };\n if (options.id === 0 || options.id) {\n feat.id = options.id;\n }\n if (options.bbox) {\n feat.bbox = options.bbox;\n }\n feat.properties = properties || {};\n feat.geometry = geom;\n return feat;\n}\nexports.feature = feature;\n/**\n * Creates a GeoJSON {@link Geometry} from a Geometry string type & coordinates.\n * For GeometryCollection type use `helpers.geometryCollection`\n *\n * @name geometry\n * @param {string} type Geometry Type\n * @param {Array} coordinates Coordinates\n * @param {Object} [options={}] Optional Parameters\n * @returns {Geometry} a GeoJSON Geometry\n * @example\n * var type = \"Point\";\n * var coordinates = [110, 50];\n * var geometry = turf.geometry(type, coordinates);\n * // => geometry\n */\nfunction geometry(type, coordinates, options) {\n if (options === void 0) { options = {}; }\n switch (type) {\n case \"Point\": return point(coordinates).geometry;\n case \"LineString\": return lineString(coordinates).geometry;\n case \"Polygon\": return polygon(coordinates).geometry;\n case \"MultiPoint\": return multiPoint(coordinates).geometry;\n case \"MultiLineString\": return multiLineString(coordinates).geometry;\n case \"MultiPolygon\": return multiPolygon(coordinates).geometry;\n default: throw new Error(type + \" is invalid\");\n }\n}\nexports.geometry = geometry;\n/**\n * Creates a {@link Point} {@link Feature} from a Position.\n *\n * @name point\n * @param {Array} coordinates longitude, latitude position (each in decimal degrees)\n * @param {Object} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {Array} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {string|number} [options.id] Identifier associated with the Feature\n * @returns {Feature} a Point feature\n * @example\n * var point = turf.point([-75.343, 39.984]);\n *\n * //=point\n */\nfunction point(coordinates, properties, options) {\n if (options === void 0) { options = {}; }\n var geom = {\n type: \"Point\",\n coordinates: coordinates,\n };\n return feature(geom, properties, options);\n}\nexports.point = point;\n/**\n * Creates a {@link Point} {@link FeatureCollection} from an Array of Point coordinates.\n *\n * @name points\n * @param {Array>} coordinates an array of Points\n * @param {Object} [properties={}] Translate these properties to each Feature\n * @param {Object} [options={}] Optional Parameters\n * @param {Array} [options.bbox] Bounding Box Array [west, south, east, north]\n * associated with the FeatureCollection\n * @param {string|number} [options.id] Identifier associated with the FeatureCollection\n * @returns {FeatureCollection} Point Feature\n * @example\n * var points = turf.points([\n * [-75, 39],\n * [-80, 45],\n * [-78, 50]\n * ]);\n *\n * //=points\n */\nfunction points(coordinates, properties, options) {\n if (options === void 0) { options = {}; }\n return featureCollection(coordinates.map(function (coords) {\n return point(coords, properties);\n }), options);\n}\nexports.points = points;\n/**\n * Creates a {@link Polygon} {@link Feature} from an Array of LinearRings.\n *\n * @name polygon\n * @param {Array>>} coordinates an array of LinearRings\n * @param {Object} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {Array} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {string|number} [options.id] Identifier associated with the Feature\n * @returns {Feature} Polygon Feature\n * @example\n * var polygon = turf.polygon([[[-5, 52], [-4, 56], [-2, 51], [-7, 54], [-5, 52]]], { name: 'poly1' });\n *\n * //=polygon\n */\nfunction polygon(coordinates, properties, options) {\n if (options === void 0) { options = {}; }\n for (var _i = 0, coordinates_1 = coordinates; _i < coordinates_1.length; _i++) {\n var ring = coordinates_1[_i];\n if (ring.length < 4) {\n throw new Error(\"Each LinearRing of a Polygon must have 4 or more Positions.\");\n }\n for (var j = 0; j < ring[ring.length - 1].length; j++) {\n // Check if first point of Polygon contains two numbers\n if (ring[ring.length - 1][j] !== ring[0][j]) {\n throw new Error(\"First and last Position are not equivalent.\");\n }\n }\n }\n var geom = {\n type: \"Polygon\",\n coordinates: coordinates,\n };\n return feature(geom, properties, options);\n}\nexports.polygon = polygon;\n/**\n * Creates a {@link Polygon} {@link FeatureCollection} from an Array of Polygon coordinates.\n *\n * @name polygons\n * @param {Array>>>} coordinates an array of Polygon coordinates\n * @param {Object} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {Array} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {string|number} [options.id] Identifier associated with the FeatureCollection\n * @returns {FeatureCollection} Polygon FeatureCollection\n * @example\n * var polygons = turf.polygons([\n * [[[-5, 52], [-4, 56], [-2, 51], [-7, 54], [-5, 52]]],\n * [[[-15, 42], [-14, 46], [-12, 41], [-17, 44], [-15, 42]]],\n * ]);\n *\n * //=polygons\n */\nfunction polygons(coordinates, properties, options) {\n if (options === void 0) { options = {}; }\n return featureCollection(coordinates.map(function (coords) {\n return polygon(coords, properties);\n }), options);\n}\nexports.polygons = polygons;\n/**\n * Creates a {@link LineString} {@link Feature} from an Array of Positions.\n *\n * @name lineString\n * @param {Array>} coordinates an array of Positions\n * @param {Object} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {Array} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {string|number} [options.id] Identifier associated with the Feature\n * @returns {Feature} LineString Feature\n * @example\n * var linestring1 = turf.lineString([[-24, 63], [-23, 60], [-25, 65], [-20, 69]], {name: 'line 1'});\n * var linestring2 = turf.lineString([[-14, 43], [-13, 40], [-15, 45], [-10, 49]], {name: 'line 2'});\n *\n * //=linestring1\n * //=linestring2\n */\nfunction lineString(coordinates, properties, options) {\n if (options === void 0) { options = {}; }\n if (coordinates.length < 2) {\n throw new Error(\"coordinates must be an array of two or more positions\");\n }\n var geom = {\n type: \"LineString\",\n coordinates: coordinates,\n };\n return feature(geom, properties, options);\n}\nexports.lineString = lineString;\n/**\n * Creates a {@link LineString} {@link FeatureCollection} from an Array of LineString coordinates.\n *\n * @name lineStrings\n * @param {Array>>} coordinates an array of LinearRings\n * @param {Object} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {Array} [options.bbox] Bounding Box Array [west, south, east, north]\n * associated with the FeatureCollection\n * @param {string|number} [options.id] Identifier associated with the FeatureCollection\n * @returns {FeatureCollection} LineString FeatureCollection\n * @example\n * var linestrings = turf.lineStrings([\n * [[-24, 63], [-23, 60], [-25, 65], [-20, 69]],\n * [[-14, 43], [-13, 40], [-15, 45], [-10, 49]]\n * ]);\n *\n * //=linestrings\n */\nfunction lineStrings(coordinates, properties, options) {\n if (options === void 0) { options = {}; }\n return featureCollection(coordinates.map(function (coords) {\n return lineString(coords, properties);\n }), options);\n}\nexports.lineStrings = lineStrings;\n/**\n * Takes one or more {@link Feature|Features} and creates a {@link FeatureCollection}.\n *\n * @name featureCollection\n * @param {Feature[]} features input features\n * @param {Object} [options={}] Optional Parameters\n * @param {Array} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {string|number} [options.id] Identifier associated with the Feature\n * @returns {FeatureCollection} FeatureCollection of Features\n * @example\n * var locationA = turf.point([-75.343, 39.984], {name: 'Location A'});\n * var locationB = turf.point([-75.833, 39.284], {name: 'Location B'});\n * var locationC = turf.point([-75.534, 39.123], {name: 'Location C'});\n *\n * var collection = turf.featureCollection([\n * locationA,\n * locationB,\n * locationC\n * ]);\n *\n * //=collection\n */\nfunction featureCollection(features, options) {\n if (options === void 0) { options = {}; }\n var fc = { type: \"FeatureCollection\" };\n if (options.id) {\n fc.id = options.id;\n }\n if (options.bbox) {\n fc.bbox = options.bbox;\n }\n fc.features = features;\n return fc;\n}\nexports.featureCollection = featureCollection;\n/**\n * Creates a {@link Feature} based on a\n * coordinate array. Properties can be added optionally.\n *\n * @name multiLineString\n * @param {Array>>} coordinates an array of LineStrings\n * @param {Object} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {Array} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {string|number} [options.id] Identifier associated with the Feature\n * @returns {Feature} a MultiLineString feature\n * @throws {Error} if no coordinates are passed\n * @example\n * var multiLine = turf.multiLineString([[[0,0],[10,10]]]);\n *\n * //=multiLine\n */\nfunction multiLineString(coordinates, properties, options) {\n if (options === void 0) { options = {}; }\n var geom = {\n type: \"MultiLineString\",\n coordinates: coordinates,\n };\n return feature(geom, properties, options);\n}\nexports.multiLineString = multiLineString;\n/**\n * Creates a {@link Feature} based on a\n * coordinate array. Properties can be added optionally.\n *\n * @name multiPoint\n * @param {Array>} coordinates an array of Positions\n * @param {Object} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {Array} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {string|number} [options.id] Identifier associated with the Feature\n * @returns {Feature} a MultiPoint feature\n * @throws {Error} if no coordinates are passed\n * @example\n * var multiPt = turf.multiPoint([[0,0],[10,10]]);\n *\n * //=multiPt\n */\nfunction multiPoint(coordinates, properties, options) {\n if (options === void 0) { options = {}; }\n var geom = {\n type: \"MultiPoint\",\n coordinates: coordinates,\n };\n return feature(geom, properties, options);\n}\nexports.multiPoint = multiPoint;\n/**\n * Creates a {@link Feature} based on a\n * coordinate array. Properties can be added optionally.\n *\n * @name multiPolygon\n * @param {Array>>>} coordinates an array of Polygons\n * @param {Object} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {Array} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {string|number} [options.id] Identifier associated with the Feature\n * @returns {Feature} a multipolygon feature\n * @throws {Error} if no coordinates are passed\n * @example\n * var multiPoly = turf.multiPolygon([[[[0,0],[0,10],[10,10],[10,0],[0,0]]]]);\n *\n * //=multiPoly\n *\n */\nfunction multiPolygon(coordinates, properties, options) {\n if (options === void 0) { options = {}; }\n var geom = {\n type: \"MultiPolygon\",\n coordinates: coordinates,\n };\n return feature(geom, properties, options);\n}\nexports.multiPolygon = multiPolygon;\n/**\n * Creates a {@link Feature} based on a\n * coordinate array. Properties can be added optionally.\n *\n * @name geometryCollection\n * @param {Array} geometries an array of GeoJSON Geometries\n * @param {Object} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {Array} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {string|number} [options.id] Identifier associated with the Feature\n * @returns {Feature} a GeoJSON GeometryCollection Feature\n * @example\n * var pt = turf.geometry(\"Point\", [100, 0]);\n * var line = turf.geometry(\"LineString\", [[101, 0], [102, 1]]);\n * var collection = turf.geometryCollection([pt, line]);\n *\n * // => collection\n */\nfunction geometryCollection(geometries, properties, options) {\n if (options === void 0) { options = {}; }\n var geom = {\n type: \"GeometryCollection\",\n geometries: geometries,\n };\n return feature(geom, properties, options);\n}\nexports.geometryCollection = geometryCollection;\n/**\n * Round number to precision\n *\n * @param {number} num Number\n * @param {number} [precision=0] Precision\n * @returns {number} rounded number\n * @example\n * turf.round(120.4321)\n * //=120\n *\n * turf.round(120.4321, 2)\n * //=120.43\n */\nfunction round(num, precision) {\n if (precision === void 0) { precision = 0; }\n if (precision && !(precision >= 0)) {\n throw new Error(\"precision must be a positive number\");\n }\n var multiplier = Math.pow(10, precision || 0);\n return Math.round(num * multiplier) / multiplier;\n}\nexports.round = round;\n/**\n * Convert a distance measurement (assuming a spherical Earth) from radians to a more friendly unit.\n * Valid units: miles, nauticalmiles, inches, yards, meters, metres, kilometers, centimeters, feet\n *\n * @name radiansToLength\n * @param {number} radians in radians across the sphere\n * @param {string} [units=\"kilometers\"] can be degrees, radians, miles, or kilometers inches, yards, metres,\n * meters, kilometres, kilometers.\n * @returns {number} distance\n */\nfunction radiansToLength(radians, units) {\n if (units === void 0) { units = \"kilometers\"; }\n var factor = exports.factors[units];\n if (!factor) {\n throw new Error(units + \" units is invalid\");\n }\n return radians * factor;\n}\nexports.radiansToLength = radiansToLength;\n/**\n * Convert a distance measurement (assuming a spherical Earth) from a real-world unit into radians\n * Valid units: miles, nauticalmiles, inches, yards, meters, metres, kilometers, centimeters, feet\n *\n * @name lengthToRadians\n * @param {number} distance in real units\n * @param {string} [units=\"kilometers\"] can be degrees, radians, miles, or kilometers inches, yards, metres,\n * meters, kilometres, kilometers.\n * @returns {number} radians\n */\nfunction lengthToRadians(distance, units) {\n if (units === void 0) { units = \"kilometers\"; }\n var factor = exports.factors[units];\n if (!factor) {\n throw new Error(units + \" units is invalid\");\n }\n return distance / factor;\n}\nexports.lengthToRadians = lengthToRadians;\n/**\n * Convert a distance measurement (assuming a spherical Earth) from a real-world unit into degrees\n * Valid units: miles, nauticalmiles, inches, yards, meters, metres, centimeters, kilometres, feet\n *\n * @name lengthToDegrees\n * @param {number} distance in real units\n * @param {string} [units=\"kilometers\"] can be degrees, radians, miles, or kilometers inches, yards, metres,\n * meters, kilometres, kilometers.\n * @returns {number} degrees\n */\nfunction lengthToDegrees(distance, units) {\n return radiansToDegrees(lengthToRadians(distance, units));\n}\nexports.lengthToDegrees = lengthToDegrees;\n/**\n * Converts any bearing angle from the north line direction (positive clockwise)\n * and returns an angle between 0-360 degrees (positive clockwise), 0 being the north line\n *\n * @name bearingToAzimuth\n * @param {number} bearing angle, between -180 and +180 degrees\n * @returns {number} angle between 0 and 360 degrees\n */\nfunction bearingToAzimuth(bearing) {\n var angle = bearing % 360;\n if (angle < 0) {\n angle += 360;\n }\n return angle;\n}\nexports.bearingToAzimuth = bearingToAzimuth;\n/**\n * Converts an angle in radians to degrees\n *\n * @name radiansToDegrees\n * @param {number} radians angle in radians\n * @returns {number} degrees between 0 and 360 degrees\n */\nfunction radiansToDegrees(radians) {\n var degrees = radians % (2 * Math.PI);\n return degrees * 180 / Math.PI;\n}\nexports.radiansToDegrees = radiansToDegrees;\n/**\n * Converts an angle in degrees to radians\n *\n * @name degreesToRadians\n * @param {number} degrees angle between 0 and 360 degrees\n * @returns {number} angle in radians\n */\nfunction degreesToRadians(degrees) {\n var radians = degrees % 360;\n return radians * Math.PI / 180;\n}\nexports.degreesToRadians = degreesToRadians;\n/**\n * Converts a length to the requested unit.\n * Valid units: miles, nauticalmiles, inches, yards, meters, metres, kilometers, centimeters, feet\n *\n * @param {number} length to be converted\n * @param {Units} [originalUnit=\"kilometers\"] of the length\n * @param {Units} [finalUnit=\"kilometers\"] returned unit\n * @returns {number} the converted length\n */\nfunction convertLength(length, originalUnit, finalUnit) {\n if (originalUnit === void 0) { originalUnit = \"kilometers\"; }\n if (finalUnit === void 0) { finalUnit = \"kilometers\"; }\n if (!(length >= 0)) {\n throw new Error(\"length must be a positive number\");\n }\n return radiansToLength(lengthToRadians(length, originalUnit), finalUnit);\n}\nexports.convertLength = convertLength;\n/**\n * Converts a area to the requested unit.\n * Valid units: kilometers, kilometres, meters, metres, centimetres, millimeters, acres, miles, yards, feet, inches\n * @param {number} area to be converted\n * @param {Units} [originalUnit=\"meters\"] of the distance\n * @param {Units} [finalUnit=\"kilometers\"] returned unit\n * @returns {number} the converted distance\n */\nfunction convertArea(area, originalUnit, finalUnit) {\n if (originalUnit === void 0) { originalUnit = \"meters\"; }\n if (finalUnit === void 0) { finalUnit = \"kilometers\"; }\n if (!(area >= 0)) {\n throw new Error(\"area must be a positive number\");\n }\n var startFactor = exports.areaFactors[originalUnit];\n if (!startFactor) {\n throw new Error(\"invalid original units\");\n }\n var finalFactor = exports.areaFactors[finalUnit];\n if (!finalFactor) {\n throw new Error(\"invalid final units\");\n }\n return (area / startFactor) * finalFactor;\n}\nexports.convertArea = convertArea;\n/**\n * isNumber\n *\n * @param {*} num Number to validate\n * @returns {boolean} true/false\n * @example\n * turf.isNumber(123)\n * //=true\n * turf.isNumber('foo')\n * //=false\n */\nfunction isNumber(num) {\n return !isNaN(num) && num !== null && !Array.isArray(num) && !/^\\s*$/.test(num);\n}\nexports.isNumber = isNumber;\n/**\n * isObject\n *\n * @param {*} input variable to validate\n * @returns {boolean} true/false\n * @example\n * turf.isObject({elevation: 10})\n * //=true\n * turf.isObject('foo')\n * //=false\n */\nfunction isObject(input) {\n return (!!input) && (input.constructor === Object);\n}\nexports.isObject = isObject;\n/**\n * Validate BBox\n *\n * @private\n * @param {Array} bbox BBox to validate\n * @returns {void}\n * @throws Error if BBox is not valid\n * @example\n * validateBBox([-180, -40, 110, 50])\n * //=OK\n * validateBBox([-180, -40])\n * //=Error\n * validateBBox('Foo')\n * //=Error\n * validateBBox(5)\n * //=Error\n * validateBBox(null)\n * //=Error\n * validateBBox(undefined)\n * //=Error\n */\nfunction validateBBox(bbox) {\n if (!bbox) {\n throw new Error(\"bbox is required\");\n }\n if (!Array.isArray(bbox)) {\n throw new Error(\"bbox must be an Array\");\n }\n if (bbox.length !== 4 && bbox.length !== 6) {\n throw new Error(\"bbox must be an Array of 4 or 6 numbers\");\n }\n bbox.forEach(function (num) {\n if (!isNumber(num)) {\n throw new Error(\"bbox must only contain numbers\");\n }\n });\n}\nexports.validateBBox = validateBBox;\n/**\n * Validate Id\n *\n * @private\n * @param {string|number} id Id to validate\n * @returns {void}\n * @throws Error if Id is not valid\n * @example\n * validateId([-180, -40, 110, 50])\n * //=Error\n * validateId([-180, -40])\n * //=Error\n * validateId('Foo')\n * //=OK\n * validateId(5)\n * //=OK\n * validateId(null)\n * //=Error\n * validateId(undefined)\n * //=Error\n */\nfunction validateId(id) {\n if (!id) {\n throw new Error(\"id is required\");\n }\n if ([\"string\", \"number\"].indexOf(typeof id) === -1) {\n throw new Error(\"id must be a number or a string\");\n }\n}\nexports.validateId = validateId;\n// Deprecated methods\nfunction radians2degrees() {\n throw new Error(\"method has been renamed to `radiansToDegrees`\");\n}\nexports.radians2degrees = radians2degrees;\nfunction degrees2radians() {\n throw new Error(\"method has been renamed to `degreesToRadians`\");\n}\nexports.degrees2radians = degrees2radians;\nfunction distanceToDegrees() {\n throw new Error(\"method has been renamed to `lengthToDegrees`\");\n}\nexports.distanceToDegrees = distanceToDegrees;\nfunction distanceToRadians() {\n throw new Error(\"method has been renamed to `lengthToRadians`\");\n}\nexports.distanceToRadians = distanceToRadians;\nfunction radiansToDistance() {\n throw new Error(\"method has been renamed to `radiansToLength`\");\n}\nexports.radiansToDistance = radiansToDistance;\nfunction bearingToAngle() {\n throw new Error(\"method has been renamed to `bearingToAzimuth`\");\n}\nexports.bearingToAngle = bearingToAngle;\nfunction convertDistance() {\n throw new Error(\"method has been renamed to `convertLength`\");\n}\nexports.convertDistance = convertDistance;\n","var $export = require('./_export');\nvar defined = require('./_defined');\nvar fails = require('./_fails');\nvar spaces = require('./_string-ws');\nvar space = '[' + spaces + ']';\nvar non = '\\u200b\\u0085';\nvar ltrim = RegExp('^' + space + space + '*');\nvar rtrim = RegExp(space + space + '*$');\n\nvar exporter = function (KEY, exec, ALIAS) {\n var exp = {};\n var FORCE = fails(function () {\n return !!spaces[KEY]() || non[KEY]() != non;\n });\n var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n if (ALIAS) exp[ALIAS] = fn;\n $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function (string, TYPE) {\n string = String(defined(string));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n};\n\nmodule.exports = exporter;\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","let conversionTableFromM2 = {\n acre: {\n value: 4046.856,\n sign: \"/\",\n si: \"Acres\"\n },\n squarekilometer: {\n value: 1000000,\n sign: \"/\",\n si: \"Square Kilometres\"\n },\n squaremetre: {\n value: 1,\n sign: \"*\",\n si: \"Square Metres\"\n },\n squaremile: {\n value: 2590000,\n sign: \"/\",\n si: \"Square Miles\"\n },\n squareyard: {\n value: 1.196,\n sign: \"*\",\n si: \"Square Yards\"\n },\n squarefoot: {\n value: 10.764,\n sign: \"*\",\n si: \"Square Feet\"\n },\n squareinch: {\n value: 1550.003,\n sign: \"*\",\n si: \"Square Inches\"\n },\n hectare: {\n value: 10000,\n sign: \"/\",\n si: \"Hectares\"\n }\n};\n\nlet returnVal = {\n areaInM2: 0.0,\n unitConvertedTo: \"\",\n areaInConvertedUnit: \"\"\n};\n\nexport function ConvertFromM2To(unit, areaInM2In) {\n try {\n if (!unit) {\n return returnVal;\n }\n if (!areaInM2In || areaInM2In < 1) {\n return returnVal;\n }\n\n var areaConverted = 0.0;\n\n if (conversionTableFromM2[unit].sign == \"*\") {\n // eslint-disable-next-line\n areaConverted = areaInM2In * conversionTableFromM2[unit].value;\n areaConverted = areaConverted.toFixed(2);\n // eslint-disable-next-line\n areaConverted = areaConverted;\n }\n if (conversionTableFromM2[unit].sign == \"/\") {\n // eslint-disable-next-line\n areaConverted = areaInM2In / conversionTableFromM2[unit].value;\n areaConverted = areaConverted.toFixed(2);\n // eslint-disable-next-line\n areaConverted = areaConverted;\n }\n return {\n areaInM2: areaInM2In,\n unitConvertedTo: unit,\n unitConvertedToSI: conversionTableFromM2[unit].si,\n areaInConvertedUnit: areaConverted\n };\n } catch (e) {\n return 0;\n }\n}\n\nexport const areaConvFunctions = {\n ConvertFromM2To\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n"],"sourceRoot":""}