12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- 'use strict';
- var meta = require('@turf/meta');
- var helpers = require('@turf/helpers');
- var clone = require('@turf/clone');
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
- var clone__default = /*#__PURE__*/_interopDefaultLegacy(clone);
- /**
- * Takes input features and flips all of their coordinates from `[x, y]` to `[y, x]`.
- *
- * @name flip
- * @param {GeoJSON} geojson input features
- * @param {Object} [options={}] Optional parameters
- * @param {boolean} [options.mutate=false] allows GeoJSON input to be mutated (significant performance increase if true)
- * @returns {GeoJSON} a feature or set of features of the same type as `input` with flipped coordinates
- * @example
- * var serbia = turf.point([20.566406, 43.421008]);
- *
- * var saudiArabia = turf.flip(serbia);
- *
- * //addToMap
- * var addToMap = [serbia, saudiArabia];
- */
- function flip(geojson, options) {
- // Optional parameters
- options = options || {};
- if (!helpers.isObject(options)) throw new Error("options is invalid");
- var mutate = options.mutate;
- if (!geojson) throw new Error("geojson is required");
- // ensure that we don't modify features in-place and changes to the
- // output do not change the previous feature, including changes to nested
- // properties.
- if (mutate === false || mutate === undefined) geojson = clone__default['default'](geojson);
- meta.coordEach(geojson, function (coord) {
- var x = coord[0];
- var y = coord[1];
- coord[0] = y;
- coord[1] = x;
- });
- return geojson;
- }
- module.exports = flip;
- module.exports.default = flip;
|