kepler.gl
Version:
kepler.gl is a webgl based application to visualize large scale location data in the browser
44 lines (41 loc) • 6.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.pointToPolygonGeo = pointToPolygonGeo;
var _core = require("@deck.gl/core");
// SPDX-License-Identifier: MIT
// Copyright contributors to the kepler.gl project
/**
* top left of the grid to a square polygon for the hover layer
* and current latitude
* @param object
* @param cellSize
* @param coverage
* @param properties
* @param mapState
* @param coordinate - fallback position from picking info (deck.gl 9 no longer provides object.position)
* @returns - geojson feature
*/
// TODO: TEST
function pointToPolygonGeo(_ref) {
var object = _ref.object,
cellSize = _ref.cellSize,
coverage = _ref.coverage,
properties = _ref.properties,
mapState = _ref.mapState,
coordinate = _ref.coordinate;
var position = object.position || coordinate;
var viewport = new _core.WebMercatorViewport(mapState);
if (!position) {
return null;
}
return {
geometry: {
coordinates: [viewport.addMetersToLngLat(position, [cellSize * (0.5 - coverage / 2), cellSize * (0.5 - coverage / 2)]), viewport.addMetersToLngLat(position, [cellSize * (0.5 + coverage / 2), cellSize * (0.5 - coverage / 2)]), viewport.addMetersToLngLat(position, [cellSize * (0.5 + coverage / 2), cellSize * (0.5 + coverage / 2)]), viewport.addMetersToLngLat(position, [cellSize * (0.5 - coverage / 2), cellSize * (0.5 + coverage / 2)]), viewport.addMetersToLngLat(position, [cellSize * (0.5 - coverage / 2), cellSize * (0.5 - coverage / 2)])],
type: 'LineString'
},
properties: properties
};
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29yZSIsInJlcXVpcmUiLCJwb2ludFRvUG9seWdvbkdlbyIsIl9yZWYiLCJvYmplY3QiLCJjZWxsU2l6ZSIsImNvdmVyYWdlIiwicHJvcGVydGllcyIsIm1hcFN0YXRlIiwiY29vcmRpbmF0ZSIsInBvc2l0aW9uIiwidmlld3BvcnQiLCJXZWJNZXJjYXRvclZpZXdwb3J0IiwiZ2VvbWV0cnkiLCJjb29yZGluYXRlcyIsImFkZE1ldGVyc1RvTG5nTGF0IiwidHlwZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ncmlkLWxheWVyL2dyaWQtdXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHtXZWJNZXJjYXRvclZpZXdwb3J0fSBmcm9tICdAZGVjay5nbC9jb3JlJztcbmltcG9ydCB7TWFwU3RhdGV9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuXG4vKipcbiAqIHRvcCBsZWZ0IG9mIHRoZSBncmlkIHRvIGEgc3F1YXJlIHBvbHlnb24gZm9yIHRoZSBob3ZlciBsYXllclxuICogYW5kIGN1cnJlbnQgbGF0aXR1ZGVcbiAqIEBwYXJhbSBvYmplY3RcbiAqIEBwYXJhbSBjZWxsU2l6ZVxuICogQHBhcmFtIGNvdmVyYWdlXG4gKiBAcGFyYW0gcHJvcGVydGllc1xuICogQHBhcmFtIG1hcFN0YXRlXG4gKiBAcGFyYW0gY29vcmRpbmF0ZSAtIGZhbGxiYWNrIHBvc2l0aW9uIGZyb20gcGlja2luZyBpbmZvIChkZWNrLmdsIDkgbm8gbG9uZ2VyIHByb3ZpZGVzIG9iamVjdC5wb3NpdGlvbilcbiAqIEByZXR1cm5zIC0gZ2VvanNvbiBmZWF0dXJlXG4gKi9cblxuLy8gVE9ETzogVEVTVFxuZXhwb3J0IGZ1bmN0aW9uIHBvaW50VG9Qb2x5Z29uR2VvKHtcbiAgb2JqZWN0LFxuICBjZWxsU2l6ZSxcbiAgY292ZXJhZ2UsXG4gIHByb3BlcnRpZXMsXG4gIG1hcFN0YXRlLFxuICBjb29yZGluYXRlXG59OiB7XG4gIG9iamVjdDogYW55O1xuICBjZWxsU2l6ZTogbnVtYmVyO1xuICBjb3ZlcmFnZTogbnVtYmVyO1xuICBwcm9wZXJ0aWVzPzogYW55O1xuICBtYXBTdGF0ZTogTWFwU3RhdGU7XG4gIGNvb3JkaW5hdGU/OiBudW1iZXJbXTtcbn0pIHtcbiAgY29uc3QgcG9zaXRpb24gPSBvYmplY3QucG9zaXRpb24gfHwgY29vcmRpbmF0ZTtcbiAgY29uc3Qgdmlld3BvcnQgPSBuZXcgV2ViTWVyY2F0b3JWaWV3cG9ydChtYXBTdGF0ZSk7XG5cbiAgaWYgKCFwb3NpdGlvbikge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBnZW9tZXRyeToge1xuICAgICAgY29vcmRpbmF0ZXM6IFtcbiAgICAgICAgdmlld3BvcnQuYWRkTWV0ZXJzVG9MbmdMYXQocG9zaXRpb24sIFtcbiAgICAgICAgICBjZWxsU2l6ZSAqICgwLjUgLSBjb3ZlcmFnZSAvIDIpLFxuICAgICAgICAgIGNlbGxTaXplICogKDAuNSAtIGNvdmVyYWdlIC8gMilcbiAgICAgICAgXSksXG4gICAgICAgIHZpZXdwb3J0LmFkZE1ldGVyc1RvTG5nTGF0KHBvc2l0aW9uLCBbXG4gICAgICAgICAgY2VsbFNpemUgKiAoMC41ICsgY292ZXJhZ2UgLyAyKSxcbiAgICAgICAgICBjZWxsU2l6ZSAqICgwLjUgLSBjb3ZlcmFnZSAvIDIpXG4gICAgICAgIF0pLFxuICAgICAgICB2aWV3cG9ydC5hZGRNZXRlcnNUb0xuZ0xhdChwb3NpdGlvbiwgW1xuICAgICAgICAgIGNlbGxTaXplICogKDAuNSArIGNvdmVyYWdlIC8gMiksXG4gICAgICAgICAgY2VsbFNpemUgKiAoMC41ICsgY292ZXJhZ2UgLyAyKVxuICAgICAgICBdKSxcbiAgICAgICAgdmlld3BvcnQuYWRkTWV0ZXJzVG9MbmdMYXQocG9zaXRpb24sIFtcbiAgICAgICAgICBjZWxsU2l6ZSAqICgwLjUgLSBjb3ZlcmFnZSAvIDIpLFxuICAgICAgICAgIGNlbGxTaXplICogKDAuNSArIGNvdmVyYWdlIC8gMilcbiAgICAgICAgXSksXG4gICAgICAgIHZpZXdwb3J0LmFkZE1ldGVyc1RvTG5nTGF0KHBvc2l0aW9uLCBbXG4gICAgICAgICAgY2VsbFNpemUgKiAoMC41IC0gY292ZXJhZ2UgLyAyKSxcbiAgICAgICAgICBjZWxsU2l6ZSAqICgwLjUgLSBjb3ZlcmFnZSAvIDIpXG4gICAgICAgIF0pXG4gICAgICBdLFxuICAgICAgdHlwZTogJ0xpbmVTdHJpbmcnXG4gICAgfSxcbiAgICBwcm9wZXJ0aWVzXG4gIH07XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUdBLElBQUFBLEtBQUEsR0FBQUMsT0FBQTtBQUhBO0FBQ0E7O0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNPLFNBQVNDLGlCQUFpQkEsQ0FBQUMsSUFBQSxFQWM5QjtFQUFBLElBYkRDLE1BQU0sR0FBQUQsSUFBQSxDQUFOQyxNQUFNO0lBQ05DLFFBQVEsR0FBQUYsSUFBQSxDQUFSRSxRQUFRO0lBQ1JDLFFBQVEsR0FBQUgsSUFBQSxDQUFSRyxRQUFRO0lBQ1JDLFVBQVUsR0FBQUosSUFBQSxDQUFWSSxVQUFVO0lBQ1ZDLFFBQVEsR0FBQUwsSUFBQSxDQUFSSyxRQUFRO0lBQ1JDLFVBQVUsR0FBQU4sSUFBQSxDQUFWTSxVQUFVO0VBU1YsSUFBTUMsUUFBUSxHQUFHTixNQUFNLENBQUNNLFFBQVEsSUFBSUQsVUFBVTtFQUM5QyxJQUFNRSxRQUFRLEdBQUcsSUFBSUMseUJBQW1CLENBQUNKLFFBQVEsQ0FBQztFQUVsRCxJQUFJLENBQUNFLFFBQVEsRUFBRTtJQUNiLE9BQU8sSUFBSTtFQUNiO0VBRUEsT0FBTztJQUNMRyxRQUFRLEVBQUU7TUFDUkMsV0FBVyxFQUFFLENBQ1hILFFBQVEsQ0FBQ0ksaUJBQWlCLENBQUNMLFFBQVEsRUFBRSxDQUNuQ0wsUUFBUSxJQUFJLEdBQUcsR0FBR0MsUUFBUSxHQUFHLENBQUMsQ0FBQyxFQUMvQkQsUUFBUSxJQUFJLEdBQUcsR0FBR0MsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUNoQyxDQUFDLEVBQ0ZLLFFBQVEsQ0FBQ0ksaUJBQWlCLENBQUNMLFFBQVEsRUFBRSxDQUNuQ0wsUUFBUSxJQUFJLEdBQUcsR0FBR0MsUUFBUSxHQUFHLENBQUMsQ0FBQyxFQUMvQkQsUUFBUSxJQUFJLEdBQUcsR0FBR0MsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUNoQyxDQUFDLEVBQ0ZLLFFBQVEsQ0FBQ0ksaUJBQWlCLENBQUNMLFFBQVEsRUFBRSxDQUNuQ0wsUUFBUSxJQUFJLEdBQUcsR0FBR0MsUUFBUSxHQUFHLENBQUMsQ0FBQyxFQUMvQkQsUUFBUSxJQUFJLEdBQUcsR0FBR0MsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUNoQyxDQUFDLEVBQ0ZLLFFBQVEsQ0FBQ0ksaUJBQWlCLENBQUNMLFFBQVEsRUFBRSxDQUNuQ0wsUUFBUSxJQUFJLEdBQUcsR0FBR0MsUUFBUSxHQUFHLENBQUMsQ0FBQyxFQUMvQkQsUUFBUSxJQUFJLEdBQUcsR0FBR0MsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUNoQyxDQUFDLEVBQ0ZLLFFBQVEsQ0FBQ0ksaUJBQWlCLENBQUNMLFFBQVEsRUFBRSxDQUNuQ0wsUUFBUSxJQUFJLEdBQUcsR0FBR0MsUUFBUSxHQUFHLENBQUMsQ0FBQyxFQUMvQkQsUUFBUSxJQUFJLEdBQUcsR0FBR0MsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUNoQyxDQUFDLENBQ0g7TUFDRFUsSUFBSSxFQUFFO0lBQ1IsQ0FBQztJQUNEVCxVQUFVLEVBQVZBO0VBQ0YsQ0FBQztBQUNIIiwiaWdub3JlTGlzdCI6W119