kepler.gl.geoiq
Version:
kepler.gl is a webgl based application to visualize large scale location data in the browser
89 lines (77 loc) • 9.53 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.calculateLayerDomain = void 0;
var _defaultSettings = require("../../constants/default-settings");
var _dataScaleUtils = require("../../utils/data-scale-utils");
// Copyright (c) 2023 Uber Technologies, Inc.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
var calculateLayerDomain = exports.calculateLayerDomain = function calculateLayerDomain(data) {
var _dataset = dataset,
allData = _dataset.allData,
filteredIndexForDomain = _dataset.filteredIndexForDomain;
var defaultDomain = [0, 1];
var _visualChannel = visualChannel,
scale = _visualChannel.scale;
var scaleType = 'quantile';
var field = {
format: '',
id: 'population',
name: 'Population',
tableFieldIndex: 1,
type: 'integer'
};
if (!field) {
// if colorField or sizeField were set back to null
return defaultDomain;
}
if (!_defaultSettings.SCALE_TYPES[scaleType]) {
Console.error("scale type ".concat(scaleType, " not supported"));
return defaultDomain;
} // TODO: refactor to add valueAccessor to field
// const fieldIdx = field.tableFieldIndex - 1;
// const isTime = field.type === ALL_FIELD_TYPES.timestamp;
// const valueAccessor = maybeToDate.bind(
// null,
// isTime,
// fieldIdx,
// field.format
// );
var indexValueAccessor = function indexValueAccessor(i) {
return valueAccessor(allData[i]);
};
var sortFunction = getSortingFunction(field.type);
switch (scaleType) {
case _defaultSettings.SCALE_TYPES.ordinal:
case _defaultSettings.SCALE_TYPES.point:
// do not recalculate ordinal domain based on filtered data
// don't need to update ordinal domain every time
return (0, _dataScaleUtils.getOrdinalDomain)(allData, valueAccessor);
case _defaultSettings.SCALE_TYPES.quantile:
return (0, _dataScaleUtils.getQuantileDomain)(filteredIndexForDomain, indexValueAccessor, sortFunction);
case _defaultSettings.SCALE_TYPES.quantize:
case _defaultSettings.SCALE_TYPES.linear:
case _defaultSettings.SCALE_TYPES.sqrt:
default:
return (0, _dataScaleUtils.getLinearDomain)(filteredIndexForDomain, indexValueAccessor);
}
};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sYXllcnMvbXZ0LWdlb2pzb24tbGF5ZXIvbXZ0LWdlb2pzb24tdXRpbHMuanMiXSwibmFtZXMiOlsiY2FsY3VsYXRlTGF5ZXJEb21haW4iLCJkYXRhIiwiZGF0YXNldCIsImFsbERhdGEiLCJmaWx0ZXJlZEluZGV4Rm9yRG9tYWluIiwiZGVmYXVsdERvbWFpbiIsInZpc3VhbENoYW5uZWwiLCJzY2FsZSIsInNjYWxlVHlwZSIsImZpZWxkIiwiZm9ybWF0IiwiaWQiLCJuYW1lIiwidGFibGVGaWVsZEluZGV4IiwidHlwZSIsIlNDQUxFX1RZUEVTIiwiQ29uc29sZSIsImVycm9yIiwiaW5kZXhWYWx1ZUFjY2Vzc29yIiwiaSIsInZhbHVlQWNjZXNzb3IiLCJzb3J0RnVuY3Rpb24iLCJnZXRTb3J0aW5nRnVuY3Rpb24iLCJvcmRpbmFsIiwicG9pbnQiLCJxdWFudGlsZSIsInF1YW50aXplIiwibGluZWFyIiwic3FydCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQW9CQTs7QUFDQTs7QUFyQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFTTyxJQUFNQSxvQkFBb0Isa0NBQUcsU0FBdkJBLG9CQUF1QixDQUFBQyxJQUFJLEVBQUk7QUFDMUMsaUJBQTBDQyxPQUExQztBQUFBLE1BQU9DLE9BQVAsWUFBT0EsT0FBUDtBQUFBLE1BQWdCQyxzQkFBaEIsWUFBZ0JBLHNCQUFoQjtBQUNBLE1BQU1DLGFBQWEsR0FBRyxDQUFDLENBQUQsRUFBSSxDQUFKLENBQXRCO0FBQ0EsdUJBQWdCQyxhQUFoQjtBQUFBLE1BQU9DLEtBQVAsa0JBQU9BLEtBQVA7QUFDQSxNQUFNQyxTQUFTLEdBQUcsVUFBbEI7QUFFQSxNQUFNQyxLQUFLLEdBQUc7QUFDWkMsSUFBQUEsTUFBTSxFQUFFLEVBREk7QUFFWkMsSUFBQUEsRUFBRSxFQUFFLFlBRlE7QUFHWkMsSUFBQUEsSUFBSSxFQUFFLFlBSE07QUFJWkMsSUFBQUEsZUFBZSxFQUFFLENBSkw7QUFLWkMsSUFBQUEsSUFBSSxFQUFFO0FBTE0sR0FBZDs7QUFPQSxNQUFJLENBQUNMLEtBQUwsRUFBWTtBQUNWO0FBQ0EsV0FBT0osYUFBUDtBQUNEOztBQUVELE1BQUksQ0FBQ1UsNkJBQVlQLFNBQVosQ0FBTCxFQUE2QjtBQUMzQlEsSUFBQUEsT0FBTyxDQUFDQyxLQUFSLHNCQUE0QlQsU0FBNUI7QUFDQSxXQUFPSCxhQUFQO0FBQ0QsR0FyQnlDLENBdUIxQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNBLE1BQU1hLGtCQUFrQixHQUFHLFNBQXJCQSxrQkFBcUIsQ0FBQUMsQ0FBQztBQUFBLFdBQUlDLGFBQWEsQ0FBQ2pCLE9BQU8sQ0FBQ2dCLENBQUQsQ0FBUixDQUFqQjtBQUFBLEdBQTVCOztBQUVBLE1BQU1FLFlBQVksR0FBR0Msa0JBQWtCLENBQUNiLEtBQUssQ0FBQ0ssSUFBUCxDQUF2Qzs7QUFFQSxVQUFRTixTQUFSO0FBQ0UsU0FBS08sNkJBQVlRLE9BQWpCO0FBQ0EsU0FBS1IsNkJBQVlTLEtBQWpCO0FBQ0U7QUFDQTtBQUNBLGFBQU8sc0NBQWlCckIsT0FBakIsRUFBMEJpQixhQUExQixDQUFQOztBQUVGLFNBQUtMLDZCQUFZVSxRQUFqQjtBQUNFLGFBQU8sdUNBQ0xyQixzQkFESyxFQUVMYyxrQkFGSyxFQUdMRyxZQUhLLENBQVA7O0FBTUYsU0FBS04sNkJBQVlXLFFBQWpCO0FBQ0EsU0FBS1gsNkJBQVlZLE1BQWpCO0FBQ0EsU0FBS1osNkJBQVlhLElBQWpCO0FBQ0E7QUFDRSxhQUFPLHFDQUFnQnhCLHNCQUFoQixFQUF3Q2Msa0JBQXhDLENBQVA7QUFsQko7QUFvQkQsQ0F4RE0iLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjMgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQge1NDQUxFX1RZUEVTfSBmcm9tICdjb25zdGFudHMvZGVmYXVsdC1zZXR0aW5ncyc7XG5pbXBvcnQge1xuICBnZXRRdWFudGlsZURvbWFpbixcbiAgZ2V0T3JkaW5hbERvbWFpbixcbiAgZ2V0TGluZWFyRG9tYWluXG59IGZyb20gJ3V0aWxzL2RhdGEtc2NhbGUtdXRpbHMnO1xuXG5leHBvcnQgY29uc3QgY2FsY3VsYXRlTGF5ZXJEb21haW4gPSBkYXRhID0+IHtcbiAgY29uc3Qge2FsbERhdGEsIGZpbHRlcmVkSW5kZXhGb3JEb21haW59ID0gZGF0YXNldDtcbiAgY29uc3QgZGVmYXVsdERvbWFpbiA9IFswLCAxXTtcbiAgY29uc3Qge3NjYWxlfSA9IHZpc3VhbENoYW5uZWw7XG4gIGNvbnN0IHNjYWxlVHlwZSA9ICdxdWFudGlsZSc7XG5cbiAgY29uc3QgZmllbGQgPSB7XG4gICAgZm9ybWF0OiAnJyxcbiAgICBpZDogJ3BvcHVsYXRpb24nLFxuICAgIG5hbWU6ICdQb3B1bGF0aW9uJyxcbiAgICB0YWJsZUZpZWxkSW5kZXg6IDEsXG4gICAgdHlwZTogJ2ludGVnZXInXG4gIH07XG4gIGlmICghZmllbGQpIHtcbiAgICAvLyBpZiBjb2xvckZpZWxkIG9yIHNpemVGaWVsZCB3ZXJlIHNldCBiYWNrIHRvIG51bGxcbiAgICByZXR1cm4gZGVmYXVsdERvbWFpbjtcbiAgfVxuXG4gIGlmICghU0NBTEVfVFlQRVNbc2NhbGVUeXBlXSkge1xuICAgIENvbnNvbGUuZXJyb3IoYHNjYWxlIHR5cGUgJHtzY2FsZVR5cGV9IG5vdCBzdXBwb3J0ZWRgKTtcbiAgICByZXR1cm4gZGVmYXVsdERvbWFpbjtcbiAgfVxuXG4gIC8vIFRPRE86IHJlZmFjdG9yIHRvIGFkZCB2YWx1ZUFjY2Vzc29yIHRvIGZpZWxkXG4gIC8vIGNvbnN0IGZpZWxkSWR4ID0gZmllbGQudGFibGVGaWVsZEluZGV4IC0gMTtcbiAgLy8gY29uc3QgaXNUaW1lID0gZmllbGQudHlwZSA9PT0gQUxMX0ZJRUxEX1RZUEVTLnRpbWVzdGFtcDtcbiAgLy8gY29uc3QgdmFsdWVBY2Nlc3NvciA9IG1heWJlVG9EYXRlLmJpbmQoXG4gIC8vICAgbnVsbCxcbiAgLy8gICBpc1RpbWUsXG4gIC8vICAgZmllbGRJZHgsXG4gIC8vICAgZmllbGQuZm9ybWF0XG4gIC8vICk7XG4gIGNvbnN0IGluZGV4VmFsdWVBY2Nlc3NvciA9IGkgPT4gdmFsdWVBY2Nlc3NvcihhbGxEYXRhW2ldKTtcblxuICBjb25zdCBzb3J0RnVuY3Rpb24gPSBnZXRTb3J0aW5nRnVuY3Rpb24oZmllbGQudHlwZSk7XG5cbiAgc3dpdGNoIChzY2FsZVR5cGUpIHtcbiAgICBjYXNlIFNDQUxFX1RZUEVTLm9yZGluYWw6XG4gICAgY2FzZSBTQ0FMRV9UWVBFUy5wb2ludDpcbiAgICAgIC8vIGRvIG5vdCByZWNhbGN1bGF0ZSBvcmRpbmFsIGRvbWFpbiBiYXNlZCBvbiBmaWx0ZXJlZCBkYXRhXG4gICAgICAvLyBkb24ndCBuZWVkIHRvIHVwZGF0ZSBvcmRpbmFsIGRvbWFpbiBldmVyeSB0aW1lXG4gICAgICByZXR1cm4gZ2V0T3JkaW5hbERvbWFpbihhbGxEYXRhLCB2YWx1ZUFjY2Vzc29yKTtcblxuICAgIGNhc2UgU0NBTEVfVFlQRVMucXVhbnRpbGU6XG4gICAgICByZXR1cm4gZ2V0UXVhbnRpbGVEb21haW4oXG4gICAgICAgIGZpbHRlcmVkSW5kZXhGb3JEb21haW4sXG4gICAgICAgIGluZGV4VmFsdWVBY2Nlc3NvcixcbiAgICAgICAgc29ydEZ1bmN0aW9uXG4gICAgICApO1xuXG4gICAgY2FzZSBTQ0FMRV9UWVBFUy5xdWFudGl6ZTpcbiAgICBjYXNlIFNDQUxFX1RZUEVTLmxpbmVhcjpcbiAgICBjYXNlIFNDQUxFX1RZUEVTLnNxcnQ6XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBnZXRMaW5lYXJEb21haW4oZmlsdGVyZWRJbmRleEZvckRvbWFpbiwgaW5kZXhWYWx1ZUFjY2Vzc29yKTtcbiAgfVxufTtcbiJdfQ==