UNPKG

kepler.gl

Version:

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

74 lines (70 loc) 11 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 }); } 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,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYXJyb3dEYXRhQ29udGFpbmVyIiwicmVxdWlyZSIsIl9yb3dEYXRhQ29udGFpbmVyIiwiX2luZGV4ZWREYXRhQ29udGFpbmVyIiwib3duS2V5cyIsImUiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJEYXRhRm9ybSIsImV4cG9ydHMiLCJST1dTX0FSUkFZIiwiQ09MU19BUlJBWSIsImRlZmF1bHRPcHRpb25zIiwiaW5wdXREYXRhRm9ybWF0IiwiY3JlYXRlRGF0YUNvbnRhaW5lciIsImRhdGEiLCJvcHRpb25zIiwidW5kZWZpbmVkIiwiUm93RGF0YUNvbnRhaW5lciIsInJvd3MiLCJmaWVsZHMiLCJBcnJvd0RhdGFDb250YWluZXIiLCJjb2xzIiwiRXJyb3IiLCJjcmVhdGVJbmRleGVkRGF0YUNvbnRhaW5lciIsImRhdGFDb250YWluZXIiLCJpbmRpY2VzIiwiSW5kZXhlZERhdGFDb250YWluZXIiLCJnZXRTYW1wbGVEYXRhIiwic2FtcGxlU2l6ZSIsIm51bWJlck9mUm93cyIsIm51bVJvd3MiLCJzYW1wbGVTdGVwIiwiTWF0aCIsIm1heCIsImZsb29yIiwiaSJdLCJzb3VyY2VzIjpbIi4uL3NyYy9kYXRhLWNvbnRhaW5lci11dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQge0Fycm93RGF0YUNvbnRhaW5lcn0gZnJvbSAnLi9hcnJvdy1kYXRhLWNvbnRhaW5lcic7XG5pbXBvcnQge1Jvd0RhdGFDb250YWluZXJ9IGZyb20gJy4vcm93LWRhdGEtY29udGFpbmVyJztcbmltcG9ydCB7SW5kZXhlZERhdGFDb250YWluZXJ9IGZyb20gJy4vaW5kZXhlZC1kYXRhLWNvbnRhaW5lcic7XG5cbmltcG9ydCB7RGF0YUNvbnRhaW5lckludGVyZmFjZX0gZnJvbSAnLi9kYXRhLWNvbnRhaW5lci1pbnRlcmZhY2UnO1xuaW1wb3J0IHtQcm90b0RhdGFzZXRGaWVsZH0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5cbmV4cG9ydCB0eXBlIERhdGFDb250YWluZXJPcHRpb25zID0ge1xuICBpbnB1dERhdGFGb3JtYXQ/OiBzdHJpbmc7IC8vIG9uZSBvZiBEYXRhRm9ybVxuICBmaWVsZHM/OiBQcm90b0RhdGFzZXRGaWVsZFtdO1xufTtcblxuZXhwb3J0IGNvbnN0IERhdGFGb3JtID0ge1xuICBST1dTX0FSUkFZOiAnUk9XU19BUlJBWScsXG4gIENPTFNfQVJSQVk6ICdDT0xTX0FSUkFZJ1xufTtcblxuY29uc3QgZGVmYXVsdE9wdGlvbnM6IERhdGFDb250YWluZXJPcHRpb25zID0ge1xuICBpbnB1dERhdGFGb3JtYXQ6IERhdGFGb3JtLlJPV1NfQVJSQVlcbn07XG5cbi8qKlxuICogQ3JlYXRlcyBhIGRhdGEgY29udGFpbmVyIHdyYXBwZXIgZm9yIHRoZSBkYXRhLlxuICogQHBhcmFtIGRhdGEgRGF0YS5cbiAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnMuXG4gKiBAcmV0dXJucyBBIGRhdGEgY29udGFpbmVyIG9iamVjdCB3aGljaCBpcyBiYXNlZCBvbiBkYXRhIGFuZCBvcHRpb25zLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRGF0YUNvbnRhaW5lcihcbiAgZGF0YTogYW55W10sXG4gIG9wdGlvbnM6IERhdGFDb250YWluZXJPcHRpb25zID0gZGVmYXVsdE9wdGlvbnNcbik6IERhdGFDb250YWluZXJJbnRlcmZhY2Uge1xuICBvcHRpb25zID0gey4uLmRlZmF1bHRPcHRpb25zLCAuLi5vcHRpb25zfTtcblxuICBpZiAob3B0aW9ucy5pbnB1dERhdGFGb3JtYXQgPT09IERhdGFGb3JtLlJPV1NfQVJSQVkpIHtcbiAgICByZXR1cm4gbmV3IFJvd0RhdGFDb250YWluZXIoe3Jvd3M6IGRhdGEsIGZpZWxkczogb3B0aW9ucy5maWVsZHN9KTtcbiAgfSBlbHNlIGlmIChvcHRpb25zLmlucHV0RGF0YUZvcm1hdCA9PT0gRGF0YUZvcm0uQ09MU19BUlJBWSkge1xuICAgIHJldHVybiBuZXcgQXJyb3dEYXRhQ29udGFpbmVyKHtjb2xzOiBkYXRhLCBmaWVsZHM6IG9wdGlvbnMuZmllbGRzfSk7XG4gIH1cblxuICB0aHJvdyBFcnJvcignRmFpbGVkIHRvIGNyZWF0ZSBhIGRhdGEgY29udGFpbmVyOiBub3QgaW1wbGVtZW50ZWQgZm9ybWF0Jyk7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIGRhdGEgY29udGFpbmVyIHdyYXBwZXIgYXJvdW5kIGFub3RoZXIgZGF0YSBjb250YWluZXIuXG4gKiBAcGFyYW0gZGF0YUNvbnRhaW5lciBQYXJlbnQgZGF0YSBjb250YWluZXIuXG4gKiBAcGFyYW0gaW5kaWNlcyBBbiBhcnJheSBvZiByb3cgaW5kaWNlcyBpbiB0aGUgcGFyZW50IGRhdGEgY29udGFpbmVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlSW5kZXhlZERhdGFDb250YWluZXIoXG4gIGRhdGFDb250YWluZXI6IERhdGFDb250YWluZXJJbnRlcmZhY2UsXG4gIGluZGljZXM6IG51bWJlcltdXG4pOiBEYXRhQ29udGFpbmVySW50ZXJmYWNlIHtcbiAgcmV0dXJuIG5ldyBJbmRleGVkRGF0YUNvbnRhaW5lcihkYXRhQ29udGFpbmVyLCBpbmRpY2VzKTtcbn1cblxuLyoqXG4gKiBHZXQgYSBzYW1wbGUgb2Ygcm93cyBmcm9tIGEgZGF0YSBjb250YWluZXIuXG4gKiBAcGFyYW0gZGF0YUNvbnRhaW5lciBEYXRhIGNvbnRhaW5lciB0byBnZXQgc2FtcGxlcyBmcm9tLlxuICogQHBhcmFtIHNhbXBsZVNpemUgTWF4IG51bWJlciBvZiBzYW1wbGVzLlxuICogQHJldHVybnMgQSBkYXRhIGNvbnRhaW5lciB3aGljaCBjb250YWlucyBzYW1wbGVzIGZyb20gdGhlIG9yaWdpbmFsIGRhdGEgY29udGFpbmVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2FtcGxlRGF0YShcbiAgZGF0YUNvbnRhaW5lcjogRGF0YUNvbnRhaW5lckludGVyZmFjZSxcbiAgc2FtcGxlU2l6ZSA9IDUwMFxuKTogRGF0YUNvbnRhaW5lckludGVyZmFjZSB7XG4gIGNvbnN0IG51bWJlck9mUm93cyA9IGRhdGFDb250YWluZXIubnVtUm93cygpO1xuICBjb25zdCBzYW1wbGVTdGVwID0gTWF0aC5tYXgoTWF0aC5mbG9vcihudW1iZXJPZlJvd3MgLyBzYW1wbGVTaXplKSwgMSk7XG5cbiAgY29uc3QgaW5kaWNlczogbnVtYmVyW10gPSBbXTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBudW1iZXJPZlJvd3M7IGkgKz0gc2FtcGxlU3RlcCkge1xuICAgIGluZGljZXMucHVzaChpKTtcbiAgfVxuXG4gIHJldHVybiBjcmVhdGVJbmRleGVkRGF0YUNvbnRhaW5lcihkYXRhQ29udGFpbmVyLCBpbmRpY2VzKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFHQSxJQUFBQSxtQkFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsaUJBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLHFCQUFBLEdBQUFGLE9BQUE7QUFBOEQsU0FBQUcsUUFBQUMsQ0FBQSxFQUFBQyxDQUFBLFFBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxJQUFBLENBQUFKLENBQUEsT0FBQUcsTUFBQSxDQUFBRSxxQkFBQSxRQUFBQyxDQUFBLEdBQUFILE1BQUEsQ0FBQUUscUJBQUEsQ0FBQUwsQ0FBQSxHQUFBQyxDQUFBLEtBQUFLLENBQUEsR0FBQUEsQ0FBQSxDQUFBQyxNQUFBLFdBQUFOLENBQUEsV0FBQUUsTUFBQSxDQUFBSyx3QkFBQSxDQUFBUixDQUFBLEVBQUFDLENBQUEsRUFBQVEsVUFBQSxPQUFBUCxDQUFBLENBQUFRLElBQUEsQ0FBQUMsS0FBQSxDQUFBVCxDQUFBLEVBQUFJLENBQUEsWUFBQUosQ0FBQTtBQUFBLFNBQUFVLGNBQUFaLENBQUEsYUFBQUMsQ0FBQSxNQUFBQSxDQUFBLEdBQUFZLFNBQUEsQ0FBQUMsTUFBQSxFQUFBYixDQUFBLFVBQUFDLENBQUEsV0FBQVcsU0FBQSxDQUFBWixDQUFBLElBQUFZLFNBQUEsQ0FBQVosQ0FBQSxRQUFBQSxDQUFBLE9BQUFGLE9BQUEsQ0FBQUksTUFBQSxDQUFBRCxDQUFBLE9BQUFhLE9BQUEsV0FBQWQsQ0FBQSxRQUFBZSxnQkFBQSxhQUFBaEIsQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsQ0FBQUQsQ0FBQSxTQUFBRSxNQUFBLENBQUFjLHlCQUFBLEdBQUFkLE1BQUEsQ0FBQWUsZ0JBQUEsQ0FBQWxCLENBQUEsRUFBQUcsTUFBQSxDQUFBYyx5QkFBQSxDQUFBZixDQUFBLEtBQUFILE9BQUEsQ0FBQUksTUFBQSxDQUFBRCxDQUFBLEdBQUFhLE9BQUEsV0FBQWQsQ0FBQSxJQUFBRSxNQUFBLENBQUFnQixjQUFBLENBQUFuQixDQUFBLEVBQUFDLENBQUEsRUFBQUUsTUFBQSxDQUFBSyx3QkFBQSxDQUFBTixDQUFBLEVBQUFELENBQUEsaUJBQUFELENBQUEsSUFMOUQ7QUFDQTtBQWNPLElBQU1vQixRQUFRLEdBQUFDLE9BQUEsQ0FBQUQsUUFBQSxHQUFHO0VBQ3RCRSxVQUFVLEVBQUUsWUFBWTtFQUN4QkMsVUFBVSxFQUFFO0FBQ2QsQ0FBQztBQUVELElBQU1DLGNBQW9DLEdBQUc7RUFDM0NDLGVBQWUsRUFBRUwsUUFBUSxDQUFDRTtBQUM1QixDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLFNBQVNJLG1CQUFtQkEsQ0FDakNDLElBQVcsRUFFYTtFQUFBLElBRHhCQyxPQUE2QixHQUFBZixTQUFBLENBQUFDLE1BQUEsUUFBQUQsU0FBQSxRQUFBZ0IsU0FBQSxHQUFBaEIsU0FBQSxNQUFHVyxjQUFjO0VBRTlDSSxPQUFPLEdBQUFoQixhQUFBLENBQUFBLGFBQUEsS0FBT1ksY0FBYyxHQUFLSSxPQUFPLENBQUM7RUFFekMsSUFBSUEsT0FBTyxDQUFDSCxlQUFlLEtBQUtMLFFBQVEsQ0FBQ0UsVUFBVSxFQUFFO0lBQ25ELE9BQU8sSUFBSVEsa0NBQWdCLENBQUM7TUFBQ0MsSUFBSSxFQUFFSixJQUFJO01BQUVLLE1BQU0sRUFBRUosT0FBTyxDQUFDSTtJQUFNLENBQUMsQ0FBQztFQUNuRSxDQUFDLE1BQU0sSUFBSUosT0FBTyxDQUFDSCxlQUFlLEtBQUtMLFFBQVEsQ0FBQ0csVUFBVSxFQUFFO0lBQzFELE9BQU8sSUFBSVUsc0NBQWtCLENBQUM7TUFBQ0MsSUFBSSxFQUFFUCxJQUFJO01BQUVLLE1BQU0sRUFBRUosT0FBTyxDQUFDSTtJQUFNLENBQUMsQ0FBQztFQUNyRTtFQUVBLE1BQU1HLEtBQUssQ0FBQywyREFBMkQsQ0FBQztBQUMxRTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ08sU0FBU0MsMEJBQTBCQSxDQUN4Q0MsYUFBcUMsRUFDckNDLE9BQWlCLEVBQ087RUFDeEIsT0FBTyxJQUFJQywwQ0FBb0IsQ0FBQ0YsYUFBYSxFQUFFQyxPQUFPLENBQUM7QUFDekQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ08sU0FBU0UsYUFBYUEsQ0FDM0JILGFBQXFDLEVBRWI7RUFBQSxJQUR4QkksVUFBVSxHQUFBNUIsU0FBQSxDQUFBQyxNQUFBLFFBQUFELFNBQUEsUUFBQWdCLFNBQUEsR0FBQWhCLFNBQUEsTUFBRyxHQUFHO0VBRWhCLElBQU02QixZQUFZLEdBQUdMLGFBQWEsQ0FBQ00sT0FBTyxDQUFDLENBQUM7RUFDNUMsSUFBTUMsVUFBVSxHQUFHQyxJQUFJLENBQUNDLEdBQUcsQ0FBQ0QsSUFBSSxDQUFDRSxLQUFLLENBQUNMLFlBQVksR0FBR0QsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0VBRXJFLElBQU1ILE9BQWlCLEdBQUcsRUFBRTtFQUM1QixLQUFLLElBQUlVLENBQUMsR0FBRyxDQUFDLEVBQUVBLENBQUMsR0FBR04sWUFBWSxFQUFFTSxDQUFDLElBQUlKLFVBQVUsRUFBRTtJQUNqRE4sT0FBTyxDQUFDNUIsSUFBSSxDQUFDc0MsQ0FBQyxDQUFDO0VBQ2pCO0VBRUEsT0FBT1osMEJBQTBCLENBQUNDLGFBQWEsRUFBRUMsT0FBTyxDQUFDO0FBQzNEIiwiaWdub3JlTGlzdCI6W119