UNPKG

kepler.gl

Version:

kepler.gl is a webgl based application to visualize large scale location data in the browser

75 lines (71 loc) 11.2 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.DataForm = void 0; exports.createDataContainer = createDataContainer; exports.createIndexedDataContainer = createIndexedDataContainer; exports.getSampleData = getSampleData; var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _arrowDataContainer = require("./arrow-data-container"); var _rowDataContainer = require("./row-data-container"); var _indexedDataContainer = require("./indexed-data-container"); function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } // SPDX-License-Identifier: MIT // Copyright contributors to the kepler.gl project var DataForm = exports.DataForm = { ROWS_ARRAY: 'ROWS_ARRAY', COLS_ARRAY: 'COLS_ARRAY' }; var defaultOptions = { inputDataFormat: DataForm.ROWS_ARRAY }; /** * Creates a data container wrapper for the data. * @param data Data. * @param options Options. * @returns A data container object which is based on data and options. */ function createDataContainer(data) { var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultOptions; options = _objectSpread(_objectSpread({}, defaultOptions), options); if (options.inputDataFormat === DataForm.ROWS_ARRAY) { return new _rowDataContainer.RowDataContainer({ rows: data, fields: options.fields }); } else if (options.inputDataFormat === DataForm.COLS_ARRAY) { return new _arrowDataContainer.ArrowDataContainer({ cols: data, fields: options.fields, arrowTable: options.arrowTable }); } throw Error('Failed to create a data container: not implemented format'); } /** * Creates a data container wrapper around another data container. * @param dataContainer Parent data container. * @param indices An array of row indices in the parent data container. */ function createIndexedDataContainer(dataContainer, indices) { return new _indexedDataContainer.IndexedDataContainer(dataContainer, indices); } /** * Get a sample of rows from a data container. * @param dataContainer Data container to get samples from. * @param sampleSize Max number of samples. * @returns A data container which contains samples from the original data container. */ function getSampleData(dataContainer) { var sampleSize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 500; var numberOfRows = dataContainer.numRows(); var sampleStep = Math.max(Math.floor(numberOfRows / sampleSize), 1); var indices = []; for (var i = 0; i < numberOfRows; i += sampleStep) { indices.push(i); } return createIndexedDataContainer(dataContainer, indices); } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYXJyb3dEYXRhQ29udGFpbmVyIiwicmVxdWlyZSIsIl9yb3dEYXRhQ29udGFpbmVyIiwiX2luZGV4ZWREYXRhQ29udGFpbmVyIiwib3duS2V5cyIsImUiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJEYXRhRm9ybSIsImV4cG9ydHMiLCJST1dTX0FSUkFZIiwiQ09MU19BUlJBWSIsImRlZmF1bHRPcHRpb25zIiwiaW5wdXREYXRhRm9ybWF0IiwiY3JlYXRlRGF0YUNvbnRhaW5lciIsImRhdGEiLCJvcHRpb25zIiwidW5kZWZpbmVkIiwiUm93RGF0YUNvbnRhaW5lciIsInJvd3MiLCJmaWVsZHMiLCJBcnJvd0RhdGFDb250YWluZXIiLCJjb2xzIiwiYXJyb3dUYWJsZSIsIkVycm9yIiwiY3JlYXRlSW5kZXhlZERhdGFDb250YWluZXIiLCJkYXRhQ29udGFpbmVyIiwiaW5kaWNlcyIsIkluZGV4ZWREYXRhQ29udGFpbmVyIiwiZ2V0U2FtcGxlRGF0YSIsInNhbXBsZVNpemUiLCJudW1iZXJPZlJvd3MiLCJudW1Sb3dzIiwic2FtcGxlU3RlcCIsIk1hdGgiLCJtYXgiLCJmbG9vciIsImkiXSwic291cmNlcyI6WyIuLi9zcmMvZGF0YS1jb250YWluZXItdXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHtBcnJvd0RhdGFDb250YWluZXJ9IGZyb20gJy4vYXJyb3ctZGF0YS1jb250YWluZXInO1xuaW1wb3J0IHtSb3dEYXRhQ29udGFpbmVyfSBmcm9tICcuL3Jvdy1kYXRhLWNvbnRhaW5lcic7XG5pbXBvcnQge0luZGV4ZWREYXRhQ29udGFpbmVyfSBmcm9tICcuL2luZGV4ZWQtZGF0YS1jb250YWluZXInO1xuXG5pbXBvcnQge0RhdGFDb250YWluZXJJbnRlcmZhY2V9IGZyb20gJy4vZGF0YS1jb250YWluZXItaW50ZXJmYWNlJztcbmltcG9ydCB7UHJvdG9EYXRhc2V0RmllbGR9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0ICogYXMgYXJyb3cgZnJvbSAnYXBhY2hlLWFycm93JztcblxuZXhwb3J0IHR5cGUgRGF0YUNvbnRhaW5lck9wdGlvbnMgPSB7XG4gIGlucHV0RGF0YUZvcm1hdD86IHN0cmluZzsgLy8gb25lIG9mIERhdGFGb3JtXG4gIGZpZWxkcz86IFByb3RvRGF0YXNldEZpZWxkW107XG4gIGFycm93VGFibGU/OiBhcnJvdy5UYWJsZTtcbn07XG5cbmV4cG9ydCBjb25zdCBEYXRhRm9ybSA9IHtcbiAgUk9XU19BUlJBWTogJ1JPV1NfQVJSQVknLFxuICBDT0xTX0FSUkFZOiAnQ09MU19BUlJBWSdcbn07XG5cbmNvbnN0IGRlZmF1bHRPcHRpb25zOiBEYXRhQ29udGFpbmVyT3B0aW9ucyA9IHtcbiAgaW5wdXREYXRhRm9ybWF0OiBEYXRhRm9ybS5ST1dTX0FSUkFZXG59O1xuXG4vKipcbiAqIENyZWF0ZXMgYSBkYXRhIGNvbnRhaW5lciB3cmFwcGVyIGZvciB0aGUgZGF0YS5cbiAqIEBwYXJhbSBkYXRhIERhdGEuXG4gKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zLlxuICogQHJldHVybnMgQSBkYXRhIGNvbnRhaW5lciBvYmplY3Qgd2hpY2ggaXMgYmFzZWQgb24gZGF0YSBhbmQgb3B0aW9ucy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZURhdGFDb250YWluZXIoXG4gIGRhdGE6IGFueVtdLFxuICBvcHRpb25zOiBEYXRhQ29udGFpbmVyT3B0aW9ucyA9IGRlZmF1bHRPcHRpb25zXG4pOiBEYXRhQ29udGFpbmVySW50ZXJmYWNlIHtcbiAgb3B0aW9ucyA9IHsuLi5kZWZhdWx0T3B0aW9ucywgLi4ub3B0aW9uc307XG5cbiAgaWYgKG9wdGlvbnMuaW5wdXREYXRhRm9ybWF0ID09PSBEYXRhRm9ybS5ST1dTX0FSUkFZKSB7XG4gICAgcmV0dXJuIG5ldyBSb3dEYXRhQ29udGFpbmVyKHtyb3dzOiBkYXRhLCBmaWVsZHM6IG9wdGlvbnMuZmllbGRzfSk7XG4gIH0gZWxzZSBpZiAob3B0aW9ucy5pbnB1dERhdGFGb3JtYXQgPT09IERhdGFGb3JtLkNPTFNfQVJSQVkpIHtcbiAgICByZXR1cm4gbmV3IEFycm93RGF0YUNvbnRhaW5lcih7XG4gICAgICBjb2xzOiBkYXRhLFxuICAgICAgZmllbGRzOiBvcHRpb25zLmZpZWxkcyxcbiAgICAgIGFycm93VGFibGU6IG9wdGlvbnMuYXJyb3dUYWJsZVxuICAgIH0pO1xuICB9XG5cbiAgdGhyb3cgRXJyb3IoJ0ZhaWxlZCB0byBjcmVhdGUgYSBkYXRhIGNvbnRhaW5lcjogbm90IGltcGxlbWVudGVkIGZvcm1hdCcpO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBkYXRhIGNvbnRhaW5lciB3cmFwcGVyIGFyb3VuZCBhbm90aGVyIGRhdGEgY29udGFpbmVyLlxuICogQHBhcmFtIGRhdGFDb250YWluZXIgUGFyZW50IGRhdGEgY29udGFpbmVyLlxuICogQHBhcmFtIGluZGljZXMgQW4gYXJyYXkgb2Ygcm93IGluZGljZXMgaW4gdGhlIHBhcmVudCBkYXRhIGNvbnRhaW5lci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUluZGV4ZWREYXRhQ29udGFpbmVyKFxuICBkYXRhQ29udGFpbmVyOiBEYXRhQ29udGFpbmVySW50ZXJmYWNlLFxuICBpbmRpY2VzOiBudW1iZXJbXVxuKTogRGF0YUNvbnRhaW5lckludGVyZmFjZSB7XG4gIHJldHVybiBuZXcgSW5kZXhlZERhdGFDb250YWluZXIoZGF0YUNvbnRhaW5lciwgaW5kaWNlcyk7XG59XG5cbi8qKlxuICogR2V0IGEgc2FtcGxlIG9mIHJvd3MgZnJvbSBhIGRhdGEgY29udGFpbmVyLlxuICogQHBhcmFtIGRhdGFDb250YWluZXIgRGF0YSBjb250YWluZXIgdG8gZ2V0IHNhbXBsZXMgZnJvbS5cbiAqIEBwYXJhbSBzYW1wbGVTaXplIE1heCBudW1iZXIgb2Ygc2FtcGxlcy5cbiAqIEByZXR1cm5zIEEgZGF0YSBjb250YWluZXIgd2hpY2ggY29udGFpbnMgc2FtcGxlcyBmcm9tIHRoZSBvcmlnaW5hbCBkYXRhIGNvbnRhaW5lci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFNhbXBsZURhdGEoXG4gIGRhdGFDb250YWluZXI6IERhdGFDb250YWluZXJJbnRlcmZhY2UsXG4gIHNhbXBsZVNpemUgPSA1MDBcbik6IERhdGFDb250YWluZXJJbnRlcmZhY2Uge1xuICBjb25zdCBudW1iZXJPZlJvd3MgPSBkYXRhQ29udGFpbmVyLm51bVJvd3MoKTtcbiAgY29uc3Qgc2FtcGxlU3RlcCA9IE1hdGgubWF4KE1hdGguZmxvb3IobnVtYmVyT2ZSb3dzIC8gc2FtcGxlU2l6ZSksIDEpO1xuXG4gIGNvbnN0IGluZGljZXM6IG51bWJlcltdID0gW107XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbnVtYmVyT2ZSb3dzOyBpICs9IHNhbXBsZVN0ZXApIHtcbiAgICBpbmRpY2VzLnB1c2goaSk7XG4gIH1cblxuICByZXR1cm4gY3JlYXRlSW5kZXhlZERhdGFDb250YWluZXIoZGF0YUNvbnRhaW5lciwgaW5kaWNlcyk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBR0EsSUFBQUEsbUJBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxxQkFBQSxHQUFBRixPQUFBO0FBQThELFNBQUFHLFFBQUFDLENBQUEsRUFBQUMsQ0FBQSxRQUFBQyxDQUFB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