UNPKG

kepler.gl.geoiq

Version:

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

127 lines (107 loc) 13.5 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _arcLayer = _interopRequireDefault(require("../arc-layer/arc-layer")); var _lineLayer = _interopRequireDefault(require("../../deckgl-layers/line-layer/line-layer")); var _lineLayerIcon = _interopRequireDefault(require("./line-layer-icon")); 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; } var LineLayer = /*#__PURE__*/ function (_ArcLayer) { (0, _inherits2["default"])(LineLayer, _ArcLayer); function LineLayer() { (0, _classCallCheck2["default"])(this, LineLayer); return (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(LineLayer).apply(this, arguments)); } (0, _createClass2["default"])(LineLayer, [{ key: "renderLayer", value: function renderLayer(_ref) { var data = _ref.data, idx = _ref.idx, layerInteraction = _ref.layerInteraction, objectHovered = _ref.objectHovered, mapState = _ref.mapState, interactionConfig = _ref.interactionConfig; var brush = interactionConfig.brush; var colorUpdateTriggers = { color: this.config.color, colorField: this.config.colorField, colorRange: this.config.visConfig.colorRange, colorScale: this.config.colorScale, targetColor: this.config.visConfig.targetColor }; var interaction = { // auto highlighting pickable: true, autoHighlight: !brush.enabled, highlightColor: this.config.highlightColor, // brushing brushRadius: brush.config.size * 1000, brushSource: true, brushTarget: true, enableBrushing: brush.enabled }; return [// base layer new _lineLayer["default"](_objectSpread({}, layerInteraction, {}, data, {}, interaction, { getColor: data.getSourceColor, id: this.id, idx: idx, fp64: this.config.visConfig['hi-precision'], opacity: this.config.visConfig.opacity, strokeScale: this.config.visConfig.thickness, // parameters parameters: { depthTest: mapState.dragRotate }, updateTriggers: { getStrokeWidth: { sizeField: this.config.sizeField, sizeRange: this.config.visConfig.sizeRange }, getColor: colorUpdateTriggers, getTargetColor: colorUpdateTriggers } }))]; } }, { key: "type", get: function get() { return 'line'; } }, { key: "layerIcon", get: function get() { return _lineLayerIcon["default"]; } }], [{ key: "findDefaultLayerProps", value: function findDefaultLayerProps(_ref2) { var fieldPairs = _ref2.fieldPairs; if (fieldPairs.length < 2) { return []; } var props = {}; // connect the first two point layer with arc props.columns = { lat0: fieldPairs[0].pair.lat, lng0: fieldPairs[0].pair.lng, lat1: fieldPairs[1].pair.lat, lng1: fieldPairs[1].pair.lng }; props.label = "".concat(fieldPairs[0].defaultName, " -> ").concat(fieldPairs[1].defaultName, " line"); return props; } }]); return LineLayer; }(_arcLayer["default"]); exports["default"] = LineLayer; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sYXllcnMvbGluZS1sYXllci9saW5lLWxheWVyLmpzIl0sIm5hbWVzIjpbIkxpbmVMYXllciIsImRhdGEiLCJpZHgiLCJsYXllckludGVyYWN0aW9uIiwib2JqZWN0SG92ZXJlZCIsIm1hcFN0YXRlIiwiaW50ZXJhY3Rpb25Db25maWciLCJicnVzaCIsImNvbG9yVXBkYXRlVHJpZ2dlcnMiLCJjb2xvciIsImNvbmZpZyIsImNvbG9yRmllbGQiLCJjb2xvclJhbmdlIiwidmlzQ29uZmlnIiwiY29sb3JTY2FsZSIsInRhcmdldENvbG9yIiwiaW50ZXJhY3Rpb24iLCJwaWNrYWJsZSIsImF1dG9IaWdobGlnaHQiLCJlbmFibGVkIiwiaGlnaGxpZ2h0Q29sb3IiLCJicnVzaFJhZGl1cyIsInNpemUiLCJicnVzaFNvdXJjZSIsImJydXNoVGFyZ2V0IiwiZW5hYmxlQnJ1c2hpbmciLCJEZWNrR0xMaW5lTGF5ZXIiLCJnZXRDb2xvciIsImdldFNvdXJjZUNvbG9yIiwiaWQiLCJmcDY0Iiwib3BhY2l0eSIsInN0cm9rZVNjYWxlIiwidGhpY2tuZXNzIiwicGFyYW1ldGVycyIsImRlcHRoVGVzdCIsImRyYWdSb3RhdGUiLCJ1cGRhdGVUcmlnZ2VycyIsImdldFN0cm9rZVdpZHRoIiwic2l6ZUZpZWxkIiwic2l6ZVJhbmdlIiwiZ2V0VGFyZ2V0Q29sb3IiLCJMaW5lTGF5ZXJJY29uIiwiZmllbGRQYWlycyIsImxlbmd0aCIsInByb3BzIiwiY29sdW1ucyIsImxhdDAiLCJwYWlyIiwibGF0IiwibG5nMCIsImxuZyIsImxhdDEiLCJsbmcxIiwibGFiZWwiLCJkZWZhdWx0TmFtZSIsIkFyY0xheWVyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBQ0E7Ozs7OztJQUVxQkEsUzs7Ozs7Ozs7Ozs7O3NDQW9DaEI7QUFBQSxVQU5EQyxJQU1DLFFBTkRBLElBTUM7QUFBQSxVQUxEQyxHQUtDLFFBTERBLEdBS0M7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VUFBVSxDQUFDLENBQUQsQ0FBVixDQUFjSyxJQUFkLENBQW1CQyxHQUhYO0FBSWRJLFFBQUFBLElBQUksRUFBRVYsVUFBVSxDQUFDLENBQUQsQ0FBVixDQUFjSyxJQUFkLENBQW1CRztBQUpYLE9BQWhCO0FBTUFOLE1BQUFBLEtBQUssQ0FBQ1MsS0FBTixhQUFpQlgsVUFBVSxDQUFDLENBQUQsQ0FBVixDQUFjWSxXQUEvQixpQkFDRVosVUFBVSxDQUFDLENBQUQsQ0FBVixDQUFjWSxXQURoQjtBQUlBLGFBQU9WLEtBQVA7QUFDRDs7O0VBM0JvQ1csb0IiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMTkgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgQXJjTGF5ZXIgZnJvbSAnLi4vYXJjLWxheWVyL2FyYy1sYXllcic7XG5pbXBvcnQgRGVja0dMTGluZUxheWVyIGZyb20gJ2RlY2tnbC1sYXllcnMvbGluZS1sYXllci9saW5lLWxheWVyJztcbmltcG9ydCBMaW5lTGF5ZXJJY29uIGZyb20gJy4vbGluZS1sYXllci1pY29uJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTGluZUxheWVyIGV4dGVuZHMgQXJjTGF5ZXIge1xuICBnZXQgdHlwZSgpIHtcbiAgICByZXR1cm4gJ2xpbmUnO1xuICB9XG5cbiAgZ2V0IGxheWVySWNvbigpIHtcbiAgICByZXR1cm4gTGluZUxheWVySWNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmaW5kRGVmYXVsdExheWVyUHJvcHMoe2ZpZWxkUGFpcnN9KSB7XG4gICAgaWYgKGZpZWxkUGFpcnMubGVuZ3RoIDwgMikge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICBjb25zdCBwcm9wcyA9IHt9O1xuXG4gICAgLy8gY29ubmVjdCB0aGUgZmlyc3QgdHdvIHBvaW50IGxheWVyIHdpdGggYXJjXG4gICAgcHJvcHMuY29sdW1ucyA9IHtcbiAgICAgIGxhdDA6IGZpZWxkUGFpcnNbMF0ucGFpci5sYXQsXG4gICAgICBsbmcwOiBmaWVsZFBhaXJzWzBdLnBhaXIubG5nLFxuICAgICAgbGF0MTogZmllbGRQYWlyc1sxXS5wYWlyLmxhdCxcbiAgICAgIGxuZzE6IGZpZWxkUGFpcnNbMV0ucGFpci5sbmdcbiAgICB9O1xuICAgIHByb3BzLmxhYmVsID0gYCR7ZmllbGRQYWlyc1swXS5kZWZhdWx0TmFtZX0gLT4gJHtcbiAgICAgIGZpZWxkUGFpcnNbMV0uZGVmYXVsdE5hbWVcbiAgICAgIH0gbGluZWA7XG5cbiAgICByZXR1cm4gcHJvcHM7XG4gIH1cblxuICByZW5kZXJMYXllcih7XG4gICAgZGF0YSxcbiAgICBpZHgsXG4gICAgbGF5ZXJJbnRlcmFjdGlvbixcbiAgICBvYmplY3RIb3ZlcmVkLFxuICAgIG1hcFN0YXRlLFxuICAgIGludGVyYWN0aW9uQ29uZmlnXG4gIH0pIHtcbiAgICBjb25zdCB7YnJ1c2h9ID0gaW50ZXJhY3Rpb25Db25maWc7XG5cbiAgICBjb25zdCBjb2xvclVwZGF0ZVRyaWdnZXJzID0ge1xuICAgICAgY29sb3I6IHRoaXMuY29uZmlnLmNvbG9yLFxuICAgICAgY29sb3JGaWVsZDogdGhpcy5jb25maWcuY29sb3JGaWVsZCxcbiAgICAgIGNvbG9yUmFuZ2U6IHRoaXMuY29uZmlnLnZpc0NvbmZpZy5jb2xvclJhbmdlLFxuICAgICAgY29sb3JTY2FsZTogdGhpcy5jb25maWcuY29sb3JTY2FsZSxcbiAgICAgIHRhcmdldENvbG9yOiB0aGlzLmNvbmZpZy52aXNDb25maWcudGFyZ2V0Q29sb3JcbiAgICB9O1xuXG4gICAgY29uc3QgaW50ZXJhY3Rpb24gPSB7XG4gICAgICAvLyBhdXRvIGhpZ2hsaWdodGluZ1xuICAgICAgcGlja2FibGU6IHRydWUsXG4gICAgICBhdXRvSGlnaGxpZ2h0OiAhYnJ1c2guZW5hYmxlZCxcbiAgICAgIGhpZ2hsaWdodENvbG9yOiB0aGlzLmNvbmZpZy5oaWdobGlnaHRDb2xvcixcblxuICAgICAgLy8gYnJ1c2hpbmdcbiAgICAgIGJydXNoUmFkaXVzOiBicnVzaC5jb25maWcuc2l6ZSAqIDEwMDAsXG4gICAgICBicnVzaFNvdXJjZTogdHJ1ZSxcbiAgICAgIGJydXNoVGFyZ2V0OiB0cnVlLFxuICAgICAgZW5hYmxlQnJ1c2hpbmc6IGJydXNoLmVuYWJsZWRcbiAgICB9O1xuXG4gICAgcmV0dXJuIFtcbiAgICAgIC8vIGJhc2UgbGF5ZXJcbiAgICAgIG5ldyBEZWNrR0xMaW5lTGF5ZXIoe1xuICAgICAgICAuLi5sYXllckludGVyYWN0aW9uLFxuICAgICAgICAuLi5kYXRhLFxuICAgICAgICAuLi5pbnRlcmFjdGlvbixcbiAgICAgICAgZ2V0Q29sb3I6IGRhdGEuZ2V0U291cmNlQ29sb3IsXG4gICAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgICBpZHgsXG4gICAgICAgIGZwNjQ6IHRoaXMuY29uZmlnLnZpc0NvbmZpZ1snaGktcHJlY2lzaW9uJ10sXG4gICAgICAgIG9wYWNpdHk6IHRoaXMuY29uZmlnLnZpc0NvbmZpZy5vcGFjaXR5LFxuICAgICAgICBzdHJva2VTY2FsZTogdGhpcy5jb25maWcudmlzQ29uZmlnLnRoaWNrbmVzcyxcbiAgICAgICAgLy8gcGFyYW1ldGVyc1xuICAgICAgICBwYXJhbWV0ZXJzOiB7ZGVwdGhUZXN0OiBtYXBTdGF0ZS5kcmFnUm90YXRlfSxcbiAgICAgICAgdXBkYXRlVHJpZ2dlcnM6IHtcbiAgICAgICAgICBnZXRTdHJva2VXaWR0aDoge1xuICAgICAgICAgICAgc2l6ZUZpZWxkOiB0aGlzLmNvbmZpZy5zaXplRmllbGQsXG4gICAgICAgICAgICBzaXplUmFuZ2U6IHRoaXMuY29uZmlnLnZpc0NvbmZpZy5zaXplUmFuZ2VcbiAgICAgICAgICB9LFxuICAgICAgICAgIGdldENvbG9yOiBjb2xvclVwZGF0ZVRyaWdnZXJzLFxuICAgICAgICAgIGdldFRhcmdldENvbG9yOiBjb2xvclVwZGF0ZVRyaWdnZXJzXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgXTtcbiAgfVxufVxuIl19