UNPKG

kepler.gl.geoiq

Version:

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

86 lines (65 loc) 9.42 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 _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _core = require("@deck.gl/core"); var _geoLayers = require("@deck.gl/geo-layers"); var _dBuildingUtils = require("./3d-building-utils"); var _layers = require("@deck.gl/layers"); 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; } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var ThreeDBuildingLayer = exports["default"] = /*#__PURE__*/function (_CompositeLayer) { (0, _inherits2["default"])(ThreeDBuildingLayer, _CompositeLayer); var _super = _createSuper(ThreeDBuildingLayer); function ThreeDBuildingLayer() { (0, _classCallCheck2["default"])(this, ThreeDBuildingLayer); return _super.apply(this, arguments); } (0, _createClass2["default"])(ThreeDBuildingLayer, [{ key: "renderSubLayers", value: // this layer add its subLayers to the redux store, and push sample data function renderSubLayers(props) { return new _layers.SolidPolygonLayer(_objectSpread(_objectSpread({}, props), {}, { parameter: { blendFunc: ['SRC_ALPHA', 'ONE_MINUS_SRC_ALPHA', 'ONE', 'ONE_MINUS_SRC_ALPHA'], blendEquation: ['FUNC_ADD', 'FUNC_ADD'] }, extruded: true, opacity: 1, filled: true, getElevation: function getElevation(feature) { return feature.properties.height || 0; }, getPolygon: function getPolygon(feature) { return feature.coordinates; }, getFillColor: this.props.threeDBuildingColor })); } }, { key: "renderLayers", value: function renderLayers() { var _this = this; return [new _geoLayers.TileLayer({ getTileData: function getTileData(args) { return (0, _dBuildingUtils.getTileData)(_this.props.mapboxApiUrl, _this.props.mapboxApiAccessToken, args); }, minZoom: 13, renderSubLayers: this.renderSubLayers.bind(this), updateTriggers: this.props.updateTriggers })]; } }]); return ThreeDBuildingLayer; }(_core.CompositeLayer); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZWNrZ2wtbGF5ZXJzLzNkLWJ1aWxkaW5nLWxheWVyLzNkLWJ1aWxkaW5nLWxheWVyLmpzIl0sIm5hbWVzIjpbIlRocmVlREJ1aWxkaW5nTGF5ZXIiLCJwcm9wcyIsIlNvbGlkUG9seWdvbkxheWVyIiwicGFyYW1ldGVyIiwiYmxlbmRGdW5jIiwiYmxlbmRFcXVhdGlvbiIsImV4dHJ1ZGVkIiwib3BhY2l0eSIsImZpbGxlZCIsImdldEVsZXZhdGlvbiIsImZlYXR1cmUiLCJwcm9wZXJ0aWVzIiwiaGVpZ2h0IiwiZ2V0UG9seWdvbiIsImNvb3JkaW5hdGVzIiwiZ2V0RmlsbENvbG9yIiwidGhyZWVEQnVpbGRpbmdDb2xvciIsIkRlY2tHTFRpbGVMYXllciIsImdldFRpbGVEYXRhIiwiYXJncyIsIm1hcGJveEFwaVVybCIsIm1hcGJveEFwaUFjY2Vzc1Rva2VuIiwibWluWm9vbSIsInJlbmRlclN1YkxheWVycyIsImJpbmQiLCJ1cGRhdGVUcmlnZ2VycyIsIkNvbXBvc2l0ZUxheWVyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7Ozs7SUFFcUJBLG1COzs7Ozs7Ozs7Ozs7V0FDbkI7QUFFQSw2QkFBZ0JDLEtBQWhCLEVBQXVCO0FBQ3JCLGFBQU8sSUFBSUMseUJBQUosaUNBQ0ZELEtBREU7QUFFTEUsUUFBQUEsU0FBUyxFQUFFO0FBQ1RDLFVBQUFBLFNBQVMsRUFBRSxDQUNULFdBRFMsRUFFVCxxQkFGUyxFQUdULEtBSFMsRUFJVCxxQkFKUyxDQURGO0FBT1RDLFVBQUFBLGFBQWEsRUFBRSxDQUFDLFVBQUQsRUFBYSxVQUFiO0FBUE4sU0FGTjtBQVdMQyxRQUFBQSxRQUFRLEVBQUUsSUFYTDtBQVlMQyxRQUFBQSxPQUFPLEVBQUUsQ0FaSjtBQWFMQyxRQUFBQSxNQUFNLEVBQUUsSUFiSDtBQWNMQyxRQUFBQSxZQUFZLEVBQUUsc0JBQUNDLE9BQUQ7QUFBQSxpQkFBYUEsT0FBTyxDQUFDQyxVQUFSLENBQW1CQyxNQUFuQixJQUE2QixDQUExQztBQUFBLFNBZFQ7QUFlTEMsUUFBQUEsVUFBVSxFQUFFLG9CQUFDSCxPQUFEO0FBQUEsaUJBQWFBLE9BQU8sQ0FBQ0ksV0FBckI7QUFBQSxTQWZQO0FBZ0JMQyxRQUFBQSxZQUFZLEVBQUUsS0FBS2QsS0FBTCxDQUFXZTtBQWhCcEIsU0FBUDtBQWtCRDs7O1dBRUQsd0JBQWU7QUFBQTs7QUFDYixhQUFPLENBQ0wsSUFBSUMsb0JBQUosQ0FBb0I7QUFDbEJDLFFBQUFBLFdBQVcsRUFBRSxxQkFBQ0MsSUFBRDtBQUFBLGlCQUFVLGlDQUFZLEtBQUksQ0FBQ2xCLEtBQUwsQ0FBV21CLFlBQXZCLEVBQXFDLEtBQUksQ0FBQ25CLEtBQUwsQ0FBV29CLG9CQUFoRCxFQUFzRUYsSUFBdEUsQ0FBVjtBQUFBLFNBREs7QUFFbEJHLFFBQUFBLE9BQU8sRUFBRSxFQUZTO0FBR2xCQyxRQUFBQSxlQUFlLEVBQUUsS0FBS0EsZUFBTCxDQUFxQkMsSUFBckIsQ0FBMEIsSUFBMUIsQ0FIQztBQUlsQkMsUUFBQUEsY0FBYyxFQUFFLEtBQUt4QixLQUFMLENBQVd3QjtBQUpULE9BQXBCLENBREssQ0FBUDtBQVFEOzs7RUFqQzhDQyxvQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMyBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCB7Q29tcG9zaXRlTGF5ZXJ9IGZyb20gJ0BkZWNrLmdsL2NvcmUnO1xuaW1wb3J0IHtUaWxlTGF5ZXIgYXMgRGVja0dMVGlsZUxheWVyfSBmcm9tICdAZGVjay5nbC9nZW8tbGF5ZXJzJztcbmltcG9ydCB7Z2V0VGlsZURhdGF9IGZyb20gJy4vM2QtYnVpbGRpbmctdXRpbHMnO1xuaW1wb3J0IHtTb2xpZFBvbHlnb25MYXllcn0gZnJvbSAnQGRlY2suZ2wvbGF5ZXJzJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVGhyZWVEQnVpbGRpbmdMYXllciBleHRlbmRzIENvbXBvc2l0ZUxheWVyIHtcbiAgLy8gdGhpcyBsYXllciBhZGQgaXRzIHN1YkxheWVycyB0byB0aGUgcmVkdXggc3RvcmUsIGFuZCBwdXNoIHNhbXBsZSBkYXRhXG5cbiAgcmVuZGVyU3ViTGF5ZXJzKHByb3BzKSB7XG4gICAgcmV0dXJuIG5ldyBTb2xpZFBvbHlnb25MYXllcih7XG4gICAgICAuLi5wcm9wcyxcbiAgICAgIHBhcmFtZXRlcjoge1xuICAgICAgICBibGVuZEZ1bmM6IFtcbiAgICAgICAgICAnU1JDX0FMUEhBJyxcbiAgICAgICAgICAnT05FX01JTlVTX1NSQ19BTFBIQScsXG4gICAgICAgICAgJ09ORScsXG4gICAgICAgICAgJ09ORV9NSU5VU19TUkNfQUxQSEEnXG4gICAgICAgIF0sXG4gICAgICAgIGJsZW5kRXF1YXRpb246IFsnRlVOQ19BREQnLCAnRlVOQ19BREQnXVxuICAgICAgfSxcbiAgICAgIGV4dHJ1ZGVkOiB0cnVlLFxuICAgICAgb3BhY2l0eTogMSxcbiAgICAgIGZpbGxlZDogdHJ1ZSxcbiAgICAgIGdldEVsZXZhdGlvbjogKGZlYXR1cmUpID0+IGZlYXR1cmUucHJvcGVydGllcy5oZWlnaHQgfHwgMCxcbiAgICAgIGdldFBvbHlnb246IChmZWF0dXJlKSA9PiBmZWF0dXJlLmNvb3JkaW5hdGVzLFxuICAgICAgZ2V0RmlsbENvbG9yOiB0aGlzLnByb3BzLnRocmVlREJ1aWxkaW5nQ29sb3JcbiAgICB9KTtcbiAgfVxuXG4gIHJlbmRlckxheWVycygpIHtcbiAgICByZXR1cm4gW1xuICAgICAgbmV3IERlY2tHTFRpbGVMYXllcih7XG4gICAgICAgIGdldFRpbGVEYXRhOiAoYXJncykgPT4gZ2V0VGlsZURhdGEodGhpcy5wcm9wcy5tYXBib3hBcGlVcmwsIHRoaXMucHJvcHMubWFwYm94QXBpQWNjZXNzVG9rZW4sIGFyZ3MpLFxuICAgICAgICBtaW5ab29tOiAxMyxcbiAgICAgICAgcmVuZGVyU3ViTGF5ZXJzOiB0aGlzLnJlbmRlclN1YkxheWVycy5iaW5kKHRoaXMpLFxuICAgICAgICB1cGRhdGVUcmlnZ2VyczogdGhpcy5wcm9wcy51cGRhdGVUcmlnZ2Vyc1xuICAgICAgfSlcbiAgICBdO1xuICB9XG59XG4iXX0=