kepler.gl
Version:
kepler.gl is a webgl based application to visualize large scale location data in the browser
63 lines (60 loc) • 5.73 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getCentroid = getCentroid;
exports.getHexFields = void 0;
exports.getVertices = getVertices;
Object.defineProperty(exports, "h3GetResolution", {
enumerable: true,
get: function get() {
return _h3Js.h3GetResolution;
}
});
Object.defineProperty(exports, "h3IsValid", {
enumerable: true,
get: function get() {
return _h3Js.h3IsValid;
}
});
exports.idToPolygonGeo = idToPolygonGeo;
exports.isHexField = void 0;
var _h3Js = require("h3-js");
var _constants = require("@kepler.gl/constants");
// SPDX-License-Identifier: MIT
// Copyright contributors to the kepler.gl project
// get vertices should return [lon, lat]
function getVertices(_ref) {
var id = _ref.id;
// always reverse it
return (0, _h3Js.h3ToGeoBoundary)(id, true);
}
// get centroid should return [lon, lat]
function getCentroid(_ref2) {
var id = _ref2.id;
// always reverse it to [lng, lat]
return (0, _h3Js.h3ToGeo)(id).reverse();
}
function idToPolygonGeo(object, properties) {
if (!(object !== null && object !== void 0 && object.id)) {
return null;
}
var vertices = getVertices(object);
return {
type: 'Feature',
geometry: {
coordinates: properties !== null && properties !== void 0 && properties.isClosed ? [vertices] : vertices,
type: properties !== null && properties !== void 0 && properties.isClosed ? 'Polygon' : 'LineString'
},
properties: properties
};
}
var isHexField = exports.isHexField = function isHexField(field, _fieldIdx, _dataContainer) {
return field.type === _constants.ALL_FIELD_TYPES.h3;
};
var getHexFields = exports.getHexFields = function getHexFields(fields, dataContainer) {
return fields.filter(function (f, i) {
return isHexField(f, i, dataContainer);
});
};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaDNKcyIsInJlcXVpcmUiLCJfY29uc3RhbnRzIiwiZ2V0VmVydGljZXMiLCJfcmVmIiwiaWQiLCJoM1RvR2VvQm91bmRhcnkiLCJnZXRDZW50cm9pZCIsIl9yZWYyIiwiaDNUb0dlbyIsInJldmVyc2UiLCJpZFRvUG9seWdvbkdlbyIsIm9iamVjdCIsInByb3BlcnRpZXMiLCJ2ZXJ0aWNlcyIsInR5cGUiLCJnZW9tZXRyeSIsImNvb3JkaW5hdGVzIiwiaXNDbG9zZWQiLCJpc0hleEZpZWxkIiwiZXhwb3J0cyIsImZpZWxkIiwiX2ZpZWxkSWR4IiwiX2RhdGFDb250YWluZXIiLCJBTExfRklFTERfVFlQRVMiLCJoMyIsImdldEhleEZpZWxkcyIsImZpZWxkcyIsImRhdGFDb250YWluZXIiLCJmaWx0ZXIiLCJmIiwiaSJdLCJzb3VyY2VzIjpbIi4uL3NyYy9oMy11dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQge2gzR2V0UmVzb2x1dGlvbiwgSDNJbmRleCwgaDNJc1ZhbGlkLCBoM1RvR2VvLCBoM1RvR2VvQm91bmRhcnl9IGZyb20gJ2gzLWpzJztcbmltcG9ydCB7QUxMX0ZJRUxEX1RZUEVTfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5cbmV4cG9ydCB7aDNHZXRSZXNvbHV0aW9uLCBoM0lzVmFsaWR9O1xuXG5leHBvcnQgdHlwZSBDZW50cm9pZCA9IFtudW1iZXIsIG51bWJlcl07XG5cbi8vIGdldCB2ZXJ0aWNlcyBzaG91bGQgcmV0dXJuIFtsb24sIGxhdF1cbmV4cG9ydCBmdW5jdGlvbiBnZXRWZXJ0aWNlcyh7aWR9OiB7aWQ6IEgzSW5kZXh9KSB7XG4gIC8vIGFsd2F5cyByZXZlcnNlIGl0XG4gIHJldHVybiBoM1RvR2VvQm91bmRhcnkoaWQsIHRydWUpO1xufVxuXG4vLyBnZXQgY2VudHJvaWQgc2hvdWxkIHJldHVybiBbbG9uLCBsYXRdXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2VudHJvaWQoe2lkfToge2lkOiBIM0luZGV4fSk6IENlbnRyb2lkIHtcbiAgLy8gYWx3YXlzIHJldmVyc2UgaXQgdG8gW2xuZywgbGF0XVxuICByZXR1cm4gaDNUb0dlbyhpZCkucmV2ZXJzZSgpIGFzIENlbnRyb2lkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaWRUb1BvbHlnb25HZW8ob2JqZWN0Pzoge2lkOiBIM0luZGV4fSwgcHJvcGVydGllcz86IGFueSkge1xuICBpZiAoIW9iamVjdD8uaWQpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjb25zdCB2ZXJ0aWNlcyA9IGdldFZlcnRpY2VzKG9iamVjdCk7XG5cbiAgcmV0dXJuIHtcbiAgICB0eXBlOiAnRmVhdHVyZScsXG4gICAgZ2VvbWV0cnk6IHtcbiAgICAgIGNvb3JkaW5hdGVzOiBwcm9wZXJ0aWVzPy5pc0Nsb3NlZCA/IFt2ZXJ0aWNlc10gOiB2ZXJ0aWNlcyxcbiAgICAgIHR5cGU6IHByb3BlcnRpZXM/LmlzQ2xvc2VkID8gJ1BvbHlnb24nIDogJ0xpbmVTdHJpbmcnXG4gICAgfSxcbiAgICBwcm9wZXJ0aWVzXG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBpc0hleEZpZWxkID0gKGZpZWxkLCBfZmllbGRJZHgsIF9kYXRhQ29udGFpbmVyKSA9PiB7XG4gIHJldHVybiBmaWVsZC50eXBlID09PSBBTExfRklFTERfVFlQRVMuaDM7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0SGV4RmllbGRzID0gKGZpZWxkcywgZGF0YUNvbnRhaW5lcikgPT5cbiAgZmllbGRzLmZpbHRlcigoZiwgaSkgPT4gaXNIZXhGaWVsZChmLCBpLCBkYXRhQ29udGFpbmVyKSk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHQSxJQUFBQSxLQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxVQUFBLEdBQUFELE9BQUE7QUFKQTtBQUNBOztBQVNBO0FBQ08sU0FBU0UsV0FBV0EsQ0FBQUMsSUFBQSxFQUFzQjtFQUFBLElBQXBCQyxFQUFFLEdBQUFELElBQUEsQ0FBRkMsRUFBRTtFQUM3QjtFQUNBLE9BQU8sSUFBQUMscUJBQWUsRUFBQ0QsRUFBRSxFQUFFLElBQUksQ0FBQztBQUNsQzs7QUFFQTtBQUNPLFNBQVNFLFdBQVdBLENBQUFDLEtBQUEsRUFBZ0M7RUFBQSxJQUE5QkgsRUFBRSxHQUFBRyxLQUFBLENBQUZILEVBQUU7RUFDN0I7RUFDQSxPQUFPLElBQUFJLGFBQU8sRUFBQ0osRUFBRSxDQUFDLENBQUNLLE9BQU8sQ0FBQyxDQUFDO0FBQzlCO0FBRU8sU0FBU0MsY0FBY0EsQ0FBQ0MsTUFBc0IsRUFBRUMsVUFBZ0IsRUFBRTtFQUN2RSxJQUFJLEVBQUNELE1BQU0sYUFBTkEsTUFBTSxlQUFOQSxNQUFNLENBQUVQLEVBQUUsR0FBRTtJQUNmLE9BQU8sSUFBSTtFQUNiO0VBQ0EsSUFBTVMsUUFBUSxHQUFHWCxXQUFXLENBQUNTLE1BQU0sQ0FBQztFQUVwQyxPQUFPO0lBQ0xHLElBQUksRUFBRSxTQUFTO0lBQ2ZDLFFBQVEsRUFBRTtNQUNSQyxXQUFXLEVBQUVKLFVBQVUsYUFBVkEsVUFBVSxlQUFWQSxVQUFVLENBQUVLLFFBQVEsR0FBRyxDQUFDSixRQUFRLENBQUMsR0FBR0EsUUFBUTtNQUN6REMsSUFBSSxFQUFFRixVQUFVLGFBQVZBLFVBQVUsZUFBVkEsVUFBVSxDQUFFSyxRQUFRLEdBQUcsU0FBUyxHQUFHO0lBQzNDLENBQUM7SUFDREwsVUFBVSxFQUFWQTtFQUNGLENBQUM7QUFDSDtBQUVPLElBQU1NLFVBQVUsR0FBQUMsT0FBQSxDQUFBRCxVQUFBLEdBQUcsU0FBYkEsVUFBVUEsQ0FBSUUsS0FBSyxFQUFFQyxTQUFTLEVBQUVDLGNBQWMsRUFBSztFQUM5RCxPQUFPRixLQUFLLENBQUNOLElBQUksS0FBS1MsMEJBQWUsQ0FBQ0MsRUFBRTtBQUMxQyxDQUFDO0FBRU0sSUFBTUMsWUFBWSxHQUFBTixPQUFBLENBQUFNLFlBQUEsR0FBRyxTQUFmQSxZQUFZQSxDQUFJQyxNQUFNLEVBQUVDLGFBQWE7RUFBQSxPQUNoREQsTUFBTSxDQUFDRSxNQUFNLENBQUMsVUFBQ0MsQ0FBQyxFQUFFQyxDQUFDO0lBQUEsT0FBS1osVUFBVSxDQUFDVyxDQUFDLEVBQUVDLENBQUMsRUFBRUgsYUFBYSxDQUFDO0VBQUEsRUFBQztBQUFBIiwiaWdub3JlTGlzdCI6W119
;