UNPKG

kepler.gl

Version:

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

34 lines (31 loc) 3.62 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.getS2Center = getS2Center; exports.validS2Token = validS2Token; var _long = _interopRequireDefault(require("long")); var _s2Geometry = require("s2-geometry"); // SPDX-License-Identifier: MIT // Copyright contributors to the kepler.gl project var MAXIMUM_TOKEN_LENGTH = 16; /** * Retrieve S2 geometry center * @param s2Token string | number * @return {*[]} */ function getS2Center(s2Token) { var paddedToken = s2Token.toString().padEnd(MAXIMUM_TOKEN_LENGTH, '0'); var s2Id = _long["default"].fromString(paddedToken, MAXIMUM_TOKEN_LENGTH); var _S2$idToLatLng = _s2Geometry.S2.idToLatLng(s2Id.toString()), lat = _S2$idToLatLng.lat, lng = _S2$idToLatLng.lng; return [lng, lat]; } var re = new RegExp('^[0-9a-z]*$', 'g'); // simple test to see if token only contains numbers and letters function validS2Token(token) { return typeof token === 'string' && Boolean(token.match(re)); } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9uZyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3MyR2VvbWV0cnkiLCJNQVhJTVVNX1RPS0VOX0xFTkdUSCIsImdldFMyQ2VudGVyIiwiczJUb2tlbiIsInBhZGRlZFRva2VuIiwidG9TdHJpbmciLCJwYWRFbmQiLCJzMklkIiwiTG9uZyIsImZyb21TdHJpbmciLCJfUzIkaWRUb0xhdExuZyIsIlMyIiwiaWRUb0xhdExuZyIsImxhdCIsImxuZyIsInJlIiwiUmVnRXhwIiwidmFsaWRTMlRva2VuIiwidG9rZW4iLCJCb29sZWFuIiwibWF0Y2giXSwic291cmNlcyI6WyIuLi8uLi9zcmMvczItZ2VvbWV0cnktbGF5ZXIvczItdXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IExvbmcgZnJvbSAnbG9uZyc7XG5pbXBvcnQge1MyfSBmcm9tICdzMi1nZW9tZXRyeSc7XG5cbmNvbnN0IE1BWElNVU1fVE9LRU5fTEVOR1RIID0gMTY7XG5cbi8qKlxuICogUmV0cmlldmUgUzIgZ2VvbWV0cnkgY2VudGVyXG4gKiBAcGFyYW0gczJUb2tlbiBzdHJpbmcgfCBudW1iZXJcbiAqIEByZXR1cm4geypbXX1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFMyQ2VudGVyKHMyVG9rZW4pIHtcbiAgY29uc3QgcGFkZGVkVG9rZW4gPSBzMlRva2VuLnRvU3RyaW5nKCkucGFkRW5kKE1BWElNVU1fVE9LRU5fTEVOR1RILCAnMCcpO1xuICBjb25zdCBzMklkID0gTG9uZy5mcm9tU3RyaW5nKHBhZGRlZFRva2VuLCBNQVhJTVVNX1RPS0VOX0xFTkdUSCk7XG4gIGNvbnN0IHtsYXQsIGxuZ30gPSBTMi5pZFRvTGF0TG5nKHMySWQudG9TdHJpbmcoKSk7XG4gIHJldHVybiBbbG5nLCBsYXRdO1xufVxuXG5jb25zdCByZSA9IG5ldyBSZWdFeHAoJ15bMC05YS16XSokJywgJ2cnKTtcbi8vIHNpbXBsZSB0ZXN0IHRvIHNlZSBpZiB0b2tlbiBvbmx5IGNvbnRhaW5zIG51bWJlcnMgYW5kIGxldHRlcnNcbmV4cG9ydCBmdW5jdGlvbiB2YWxpZFMyVG9rZW4odG9rZW4pIHtcbiAgcmV0dXJuIHR5cGVvZiB0b2tlbiA9PT0gJ3N0cmluZycgJiYgQm9vbGVhbih0b2tlbi5tYXRjaChyZSkpO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUdBLElBQUFBLEtBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFdBQUEsR0FBQUQsT0FBQTtBQUpBO0FBQ0E7O0FBS0EsSUFBTUUsb0JBQW9CLEdBQUcsRUFBRTs7QUFFL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLFNBQVNDLFdBQVdBLENBQUNDLE9BQU8sRUFBRTtFQUNuQyxJQUFNQyxXQUFXLEdBQUdELE9BQU8sQ0FBQ0UsUUFBUSxDQUFDLENBQUMsQ0FBQ0MsTUFBTSxDQUFDTCxvQkFBb0IsRUFBRSxHQUFHLENBQUM7RUFDeEUsSUFBTU0sSUFBSSxHQUFHQyxnQkFBSSxDQUFDQyxVQUFVLENBQUNMLFdBQVcsRUFBRUgsb0JBQW9CLENBQUM7RUFDL0QsSUFBQVMsY0FBQSxHQUFtQkMsY0FBRSxDQUFDQyxVQUFVLENBQUNMLElBQUksQ0FBQ0YsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUExQ1EsR0FBRyxHQUFBSCxjQUFBLENBQUhHLEdBQUc7SUFBRUMsR0FBRyxHQUFBSixjQUFBLENBQUhJLEdBQUc7RUFDZixPQUFPLENBQUNBLEdBQUcsRUFBRUQsR0FBRyxDQUFDO0FBQ25CO0FBRUEsSUFBTUUsRUFBRSxHQUFHLElBQUlDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsR0FBRyxDQUFDO0FBQ3pDO0FBQ08sU0FBU0MsWUFBWUEsQ0FBQ0MsS0FBSyxFQUFFO0VBQ2xDLE9BQU8sT0FBT0EsS0FBSyxLQUFLLFFBQVEsSUFBSUMsT0FBTyxDQUFDRCxLQUFLLENBQUNFLEtBQUssQ0FBQ0wsRUFBRSxDQUFDLENBQUM7QUFDOUQiLCJpZ25vcmVMaXN0IjpbXX0=