UNPKG

kepler.gl

Version:

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

69 lines (51 loc) 8.49 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.createDataContainer = createDataContainer; exports.createIndexedDataContainer = createIndexedDataContainer; exports.getSampleData = getSampleData; exports.DataForm = void 0; var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _rowDataContainer = require("./row-data-container"); var _indexedDataContainer = require("./indexed-data-container"); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } /** @type {import('./data-container-utils').DataForm} */ var DataForm = { ROWS_ARRAY: 'ROWS_ARRAY' }; /** @type {import('./data-container-utils').DataContainerOptions} */ exports.DataForm = DataForm; var defaultOptions = { inputDataFormat: DataForm.ROWS_ARRAY }; /** @type {typeof import('./data-container-utils').createDataContainer} */ 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 }); } throw Error('Failed to create a data container: not implemented format'); } /** @type {typeof import('./data-container-utils').createIndexedDataContainer} */ function createIndexedDataContainer(dataContainer, indices) { return new _indexedDataContainer.IndexedDataContainer(dataContainer, indices); } /** @type {typeof import('./data-container-utils').getSampleData} */ 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy90YWJsZS11dGlscy9kYXRhLWNvbnRhaW5lci11dGlscy5qcyJdLCJuYW1lcyI6WyJEYXRhRm9ybSIsIlJPV1NfQVJSQVkiLCJkZWZhdWx0T3B0aW9ucyIsImlucHV0RGF0YUZvcm1hdCIsImNyZWF0ZURhdGFDb250YWluZXIiLCJkYXRhIiwib3B0aW9ucyIsIlJvd0RhdGFDb250YWluZXIiLCJyb3dzIiwiZmllbGRzIiwiRXJyb3IiLCJjcmVhdGVJbmRleGVkRGF0YUNvbnRhaW5lciIsImRhdGFDb250YWluZXIiLCJpbmRpY2VzIiwiSW5kZXhlZERhdGFDb250YWluZXIiLCJnZXRTYW1wbGVEYXRhIiwic2FtcGxlU2l6ZSIsIm51bWJlck9mUm93cyIsIm51bVJvd3MiLCJzYW1wbGVTdGVwIiwiTWF0aCIsIm1heCIsImZsb29yIiwiaSIsInB1c2giXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOzs7Ozs7QUFFQTtBQUNPLElBQU1BLFFBQVEsR0FBRztBQUN0QkMsRUFBQUEsVUFBVSxFQUFFO0FBRFUsQ0FBakI7QUFJUDs7O0FBQ0EsSUFBTUMsY0FBYyxHQUFHO0FBQ3JCQyxFQUFBQSxlQUFlLEVBQUVILFFBQVEsQ0FBQ0M7QUFETCxDQUF2QjtBQUlBOztBQUNPLFNBQVNHLG1CQUFULENBQTZCQyxJQUE3QixFQUE2RDtBQUFBLE1BQTFCQyxPQUEwQix1RUFBaEJKLGNBQWdCO0FBQ2xFSSxFQUFBQSxPQUFPLG1DQUFPSixjQUFQLEdBQTBCSSxPQUExQixDQUFQOztBQUVBLE1BQUlBLE9BQU8sQ0FBQ0gsZUFBUixLQUE0QkgsUUFBUSxDQUFDQyxVQUF6QyxFQUFxRDtBQUNuRCxXQUFPLElBQUlNLGtDQUFKLENBQXFCO0FBQUNDLE1BQUFBLElBQUksRUFBRUgsSUFBUDtBQUFhSSxNQUFBQSxNQUFNLEVBQUVILE9BQU8sQ0FBQ0c7QUFBN0IsS0FBckIsQ0FBUDtBQUNEOztBQUVELFFBQU1DLEtBQUssQ0FBQywyREFBRCxDQUFYO0FBQ0Q7QUFFRDs7O0FBQ08sU0FBU0MsMEJBQVQsQ0FBb0NDLGFBQXBDLEVBQW1EQyxPQUFuRCxFQUE0RDtBQUNqRSxTQUFPLElBQUlDLDBDQUFKLENBQXlCRixhQUF6QixFQUF3Q0MsT0FBeEMsQ0FBUDtBQUNEO0FBRUQ7OztBQUNPLFNBQVNFLGFBQVQsQ0FBdUJILGFBQXZCLEVBQXdEO0FBQUEsTUFBbEJJLFVBQWtCLHVFQUFMLEdBQUs7QUFDN0QsTUFBTUMsWUFBWSxHQUFHTCxhQUFhLENBQUNNLE9BQWQsRUFBckI7QUFDQSxNQUFNQyxVQUFVLEdBQUdDLElBQUksQ0FBQ0MsR0FBTCxDQUFTRCxJQUFJLENBQUNFLEtBQUwsQ0FBV0wsWUFBWSxHQUFHRCxVQUExQixDQUFULEVBQWdELENBQWhELENBQW5CO0FBRUEsTUFBTUgsT0FBTyxHQUFHLEVBQWhCOztBQUNBLE9BQUssSUFBSVUsQ0FBQyxHQUFHLENBQWIsRUFBZ0JBLENBQUMsR0FBR04sWUFBcEIsRUFBa0NNLENBQUMsSUFBSUosVUFBdkMsRUFBbUQ7QUFDakROLElBQUFBLE9BQU8sQ0FBQ1csSUFBUixDQUFhRCxDQUFiO0FBQ0Q7O0FBRUQsU0FBT1osMEJBQTBCLENBQUNDLGFBQUQsRUFBZ0JDLE9BQWhCLENBQWpDO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjEgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQge1Jvd0RhdGFDb250YWluZXJ9IGZyb20gJy4vcm93LWRhdGEtY29udGFpbmVyJztcbmltcG9ydCB7SW5kZXhlZERhdGFDb250YWluZXJ9IGZyb20gJy4vaW5kZXhlZC1kYXRhLWNvbnRhaW5lcic7XG5cbi8qKiBAdHlwZSB7aW1wb3J0KCcuL2RhdGEtY29udGFpbmVyLXV0aWxzJykuRGF0YUZvcm19ICovXG5leHBvcnQgY29uc3QgRGF0YUZvcm0gPSB7XG4gIFJPV1NfQVJSQVk6ICdST1dTX0FSUkFZJ1xufTtcblxuLyoqIEB0eXBlIHtpbXBvcnQoJy4vZGF0YS1jb250YWluZXItdXRpbHMnKS5EYXRhQ29udGFpbmVyT3B0aW9uc30gKi9cbmNvbnN0IGRlZmF1bHRPcHRpb25zID0ge1xuICBpbnB1dERhdGFGb3JtYXQ6IERhdGFGb3JtLlJPV1NfQVJSQVlcbn07XG5cbi8qKiBAdHlwZSB7dHlwZW9mIGltcG9ydCgnLi9kYXRhLWNvbnRhaW5lci11dGlscycpLmNyZWF0ZURhdGFDb250YWluZXJ9ICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRGF0YUNvbnRhaW5lcihkYXRhLCBvcHRpb25zID0gZGVmYXVsdE9wdGlvbnMpIHtcbiAgb3B0aW9ucyA9IHsuLi5kZWZhdWx0T3B0aW9ucywgLi4ub3B0aW9uc307XG5cbiAgaWYgKG9wdGlvbnMuaW5wdXREYXRhRm9ybWF0ID09PSBEYXRhRm9ybS5ST1dTX0FSUkFZKSB7XG4gICAgcmV0dXJuIG5ldyBSb3dEYXRhQ29udGFpbmVyKHtyb3dzOiBkYXRhLCBmaWVsZHM6IG9wdGlvbnMuZmllbGRzfSk7XG4gIH1cblxuICB0aHJvdyBFcnJvcignRmFpbGVkIHRvIGNyZWF0ZSBhIGRhdGEgY29udGFpbmVyOiBub3QgaW1wbGVtZW50ZWQgZm9ybWF0Jyk7XG59XG5cbi8qKiBAdHlwZSB7dHlwZW9mIGltcG9ydCgnLi9kYXRhLWNvbnRhaW5lci11dGlscycpLmNyZWF0ZUluZGV4ZWREYXRhQ29udGFpbmVyfSAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUluZGV4ZWREYXRhQ29udGFpbmVyKGRhdGFDb250YWluZXIsIGluZGljZXMpIHtcbiAgcmV0dXJuIG5ldyBJbmRleGVkRGF0YUNvbnRhaW5lcihkYXRhQ29udGFpbmVyLCBpbmRpY2VzKTtcbn1cblxuLyoqIEB0eXBlIHt0eXBlb2YgaW1wb3J0KCcuL2RhdGEtY29udGFpbmVyLXV0aWxzJykuZ2V0U2FtcGxlRGF0YX0gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTYW1wbGVEYXRhKGRhdGFDb250YWluZXIsIHNhbXBsZVNpemUgPSA1MDApIHtcbiAgY29uc3QgbnVtYmVyT2ZSb3dzID0gZGF0YUNvbnRhaW5lci5udW1Sb3dzKCk7XG4gIGNvbnN0IHNhbXBsZVN0ZXAgPSBNYXRoLm1heChNYXRoLmZsb29yKG51bWJlck9mUm93cyAvIHNhbXBsZVNpemUpLCAxKTtcblxuICBjb25zdCBpbmRpY2VzID0gW107XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbnVtYmVyT2ZSb3dzOyBpICs9IHNhbXBsZVN0ZXApIHtcbiAgICBpbmRpY2VzLnB1c2goaSk7XG4gIH1cblxuICByZXR1cm4gY3JlYXRlSW5kZXhlZERhdGFDb250YWluZXIoZGF0YUNvbnRhaW5lciwgaW5kaWNlcyk7XG59XG4iXX0=