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
JavaScript
;
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=