UNPKG

kepler.gl.geoiq

Version:

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

82 lines (64 loc) 8.45 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 _core = require("@deck.gl/core"); var _experimentalLayers = require("@deck.gl/experimental-layers"); var _dBuildingUtils = require("./3d-building-utils"); var _layers = require("@deck.gl/layers"); 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 ThreeDBuildingLayer = /*#__PURE__*/ function (_CompositeLayer) { (0, _inherits2["default"])(ThreeDBuildingLayer, _CompositeLayer); function ThreeDBuildingLayer() { (0, _classCallCheck2["default"])(this, ThreeDBuildingLayer); return (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(ThreeDBuildingLayer).apply(this, arguments)); } (0, _createClass2["default"])(ThreeDBuildingLayer, [{ key: "renderSubLayers", // this layer add its subLayers to the redux store, and push sample data value: function renderSubLayers(props) { return new _layers._SolidPolygonLayer(_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, lightSetting: { ambientRatio: 0.2 } })); } }, { key: "renderLayers", value: function renderLayers() { return [new _experimentalLayers.TileLayer({ getTileData: _dBuildingUtils.getTileData, minZoom: 13, renderSubLayers: this.renderSubLayers.bind(this) })]; } }]); return ThreeDBuildingLayer; }(_core.CompositeLayer); exports["default"] = ThreeDBuildingLayer; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZWNrZ2wtbGF5ZXJzLzNkLWJ1aWxkaW5nLWxheWVyLzNkLWJ1aWxkaW5nLWxheWVyLmpzIl0sIm5hbWVzIjpbIlRocmVlREJ1aWxkaW5nTGF5ZXIiLCJwcm9wcyIsIlNvbGlkUG9seWdvbkxheWVyIiwicGFyYW1ldGVyIiwiYmxlbmRGdW5jIiwiYmxlbmRFcXVhdGlvbiIsImV4dHJ1ZGVkIiwib3BhY2l0eSIsImZpbGxlZCIsImdldEVsZXZhdGlvbiIsImZlYXR1cmUiLCJwcm9wZXJ0aWVzIiwiaGVpZ2h0IiwiZ2V0UG9seWdvbiIsImNvb3JkaW5hdGVzIiwiZ2V0RmlsbENvbG9yIiwidGhyZWVEQnVpbGRpbmdDb2xvciIsImxpZ2h0U2V0dGluZyIsImFtYmllbnRSYXRpbyIsIkRlY2tHTFRpbGVMYXllciIsImdldFRpbGVEYXRhIiwibWluWm9vbSIsInJlbmRlclN1YkxheWVycyIsImJpbmQiLCJDb21wb3NpdGVMYXllciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7SUFFcUJBLG1COzs7Ozs7Ozs7Ozs7QUFDbkI7b0NBRWdCQyxLLEVBQU87QUFDckIsYUFBTyxJQUFJQywwQkFBSixtQkFDRkQsS0FERTtBQUVMRSxRQUFBQSxTQUFTLEVBQUU7QUFDVEMsVUFBQUEsU0FBUyxFQUFFLENBQ1QsV0FEUyxFQUVULHFCQUZTLEVBR1QsS0FIUyxFQUlULHFCQUpTLENBREY7QUFPVEMsVUFBQUEsYUFBYSxFQUFFLENBQUMsVUFBRCxFQUFhLFVBQWI7QUFQTixTQUZOO0FBV0xDLFFBQUFBLFFBQVEsRUFBRSxJQVhMO0FBWUxDLFFBQUFBLE9BQU8sRUFBRSxDQVpKO0FBYUxDLFFBQUFBLE1BQU0sRUFBRSxJQWJIO0FBY0xDLFFBQUFBLFlBQVksRUFBRSxzQkFBQ0MsT0FBRDtBQUFBLGlCQUFhQSxPQUFPLENBQUNDLFVBQVIsQ0FBbUJDLE1BQW5CLElBQTZCLENBQTFDO0FBQUEsU0FkVDtBQWVMQyxRQUFBQSxVQUFVLEVBQUUsb0JBQUNILE9BQUQ7QUFBQSxpQkFBYUEsT0FBTyxDQUFDSSxXQUFyQjtBQUFBLFNBZlA7QUFnQkxDLFFBQUFBLFlBQVksRUFBRSxLQUFLZCxLQUFMLENBQVdlLG1CQWhCcEI7QUFpQkxDLFFBQUFBLFlBQVksRUFBRTtBQUNaQyxVQUFBQSxZQUFZLEVBQUU7QUFERjtBQWpCVCxTQUFQO0FBcUJEOzs7bUNBRWM7QUFDYixhQUFPLENBQ0wsSUFBSUMsNkJBQUosQ0FBb0I7QUFDbEJDLFFBQUFBLFdBQVcsRUFBWEEsMkJBRGtCO0FBRWxCQyxRQUFBQSxPQUFPLEVBQUUsRUFGUztBQUdsQkMsUUFBQUEsZUFBZSxFQUFFLEtBQUtBLGVBQUwsQ0FBcUJDLElBQXJCLENBQTBCLElBQTFCO0FBSEMsT0FBcEIsQ0FESyxDQUFQO0FBT0Q7OztFQW5DOENDLG9CIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDE5IFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IHtDb21wb3NpdGVMYXllcn0gZnJvbSAnQGRlY2suZ2wvY29yZSc7XG5pbXBvcnQge1RpbGVMYXllciBhcyBEZWNrR0xUaWxlTGF5ZXJ9IGZyb20gJ0BkZWNrLmdsL2V4cGVyaW1lbnRhbC1sYXllcnMnO1xuaW1wb3J0IHtnZXRUaWxlRGF0YX0gZnJvbSAnLi8zZC1idWlsZGluZy11dGlscyc7XG5pbXBvcnQge19Tb2xpZFBvbHlnb25MYXllciBhcyBTb2xpZFBvbHlnb25MYXllcn0gZnJvbSAnQGRlY2suZ2wvbGF5ZXJzJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVGhyZWVEQnVpbGRpbmdMYXllciBleHRlbmRzIENvbXBvc2l0ZUxheWVyIHtcbiAgLy8gdGhpcyBsYXllciBhZGQgaXRzIHN1YkxheWVycyB0byB0aGUgcmVkdXggc3RvcmUsIGFuZCBwdXNoIHNhbXBsZSBkYXRhXG4gIFxuICByZW5kZXJTdWJMYXllcnMocHJvcHMpIHtcbiAgICByZXR1cm4gbmV3IFNvbGlkUG9seWdvbkxheWVyKHtcbiAgICAgIC4uLnByb3BzLFxuICAgICAgcGFyYW1ldGVyOiB7XG4gICAgICAgIGJsZW5kRnVuYzogW1xuICAgICAgICAgICdTUkNfQUxQSEEnLFxuICAgICAgICAgICdPTkVfTUlOVVNfU1JDX0FMUEhBJyxcbiAgICAgICAgICAnT05FJyxcbiAgICAgICAgICAnT05FX01JTlVTX1NSQ19BTFBIQSdcbiAgICAgICAgXSxcbiAgICAgICAgYmxlbmRFcXVhdGlvbjogWydGVU5DX0FERCcsICdGVU5DX0FERCddXG4gICAgICB9LFxuICAgICAgZXh0cnVkZWQ6IHRydWUsXG4gICAgICBvcGFjaXR5OiAxLFxuICAgICAgZmlsbGVkOiB0cnVlLFxuICAgICAgZ2V0RWxldmF0aW9uOiAoZmVhdHVyZSkgPT4gZmVhdHVyZS5wcm9wZXJ0aWVzLmhlaWdodCB8fCAwLFxuICAgICAgZ2V0UG9seWdvbjogKGZlYXR1cmUpID0+IGZlYXR1cmUuY29vcmRpbmF0ZXMsXG4gICAgICBnZXRGaWxsQ29sb3I6IHRoaXMucHJvcHMudGhyZWVEQnVpbGRpbmdDb2xvcixcbiAgICAgIGxpZ2h0U2V0dGluZzoge1xuICAgICAgICBhbWJpZW50UmF0aW86IDAuMlxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmVuZGVyTGF5ZXJzKCkge1xuICAgIHJldHVybiBbXG4gICAgICBuZXcgRGVja0dMVGlsZUxheWVyKHtcbiAgICAgICAgZ2V0VGlsZURhdGEsXG4gICAgICAgIG1pblpvb206IDEzLFxuICAgICAgICByZW5kZXJTdWJMYXllcnM6IHRoaXMucmVuZGVyU3ViTGF5ZXJzLmJpbmQodGhpcylcbiAgICAgIH0pXG4gICAgXTtcbiAgfVxufVxuIl19