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
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 _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