UNPKG

kepler.gl.geoiq

Version:

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

59 lines (53 loc) 6.81 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.geoHashToPolygon = geoHashToPolygon; var _ngeohash = _interopRequireDefault(require("ngeohash")); // Copyright (c) 2023 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell // copies of the Software, and to permit persons to whom the Software is // furnished to do so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in // all copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. function geoHashToPolygon(geoHashList, colorField, colorAggregation) { var polygons = []; geoHashList.map(function (hash) { // geoHashList.geohases.map(hash => { var properties = colorField ? { totalCount: hash.doc_count, aggregatedData: hash.aggregatedData } : { totalCount: hash.doc_count }; var bounds = _ngeohash["default"].decode_bbox(hash.key); var cUL = [bounds[1], bounds[0]]; var cBR = [bounds[3], bounds[2]]; var cUR = [bounds[1], bounds[2]]; var cBL = [bounds[3], bounds[0]]; return polygons.push({ type: 'Feature', geometry: { type: 'Polygon', coordinates: [[cUL, cUR, cBR, cBL, cUL]] }, properties: properties }); }); return polygons; } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sYXllcnMvZ2VvLWhhc2gtbGF5ZXIvZ2VvLWhhc2gtbGF5ZXItdXRpbHMuanMiXSwibmFtZXMiOlsiZ2VvSGFzaFRvUG9seWdvbiIsImdlb0hhc2hMaXN0IiwiY29sb3JGaWVsZCIsImNvbG9yQWdncmVnYXRpb24iLCJwb2x5Z29ucyIsIm1hcCIsImhhc2giLCJwcm9wZXJ0aWVzIiwidG90YWxDb3VudCIsImRvY19jb3VudCIsImFnZ3JlZ2F0ZWREYXRhIiwiYm91bmRzIiwiZ2VvaGFzaCIsImRlY29kZV9iYm94Iiwia2V5IiwiY1VMIiwiY0JSIiwiY1VSIiwiY0JMIiwicHVzaCIsInR5cGUiLCJnZW9tZXRyeSIsImNvb3JkaW5hdGVzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFvQkE7O0FBcEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSU8sU0FBU0EsZ0JBQVQsQ0FBMEJDLFdBQTFCLEVBQXVDQyxVQUF2QyxFQUFtREMsZ0JBQW5ELEVBQXFFO0FBQzFFLE1BQUlDLFFBQVEsR0FBRyxFQUFmO0FBQ0FILEVBQUFBLFdBQVcsQ0FBQ0ksR0FBWixDQUFnQixVQUFBQyxJQUFJLEVBQUk7QUFDdEI7QUFFQSxRQUFNQyxVQUFVLEdBQUdMLFVBQVUsR0FDekI7QUFDRU0sTUFBQUEsVUFBVSxFQUFFRixJQUFJLENBQUNHLFNBRG5CO0FBRUVDLE1BQUFBLGNBQWMsRUFBRUosSUFBSSxDQUFDSTtBQUZ2QixLQUR5QixHQUt6QjtBQUFDRixNQUFBQSxVQUFVLEVBQUVGLElBQUksQ0FBQ0c7QUFBbEIsS0FMSjs7QUFNQSxRQUFNRSxNQUFNLEdBQUdDLHFCQUFRQyxXQUFSLENBQW9CUCxJQUFJLENBQUNRLEdBQXpCLENBQWY7O0FBQ0EsUUFBTUMsR0FBRyxHQUFHLENBQUNKLE1BQU0sQ0FBQyxDQUFELENBQVAsRUFBWUEsTUFBTSxDQUFDLENBQUQsQ0FBbEIsQ0FBWjtBQUNBLFFBQU1LLEdBQUcsR0FBRyxDQUFDTCxNQUFNLENBQUMsQ0FBRCxDQUFQLEVBQVlBLE1BQU0sQ0FBQyxDQUFELENBQWxCLENBQVo7QUFDQSxRQUFNTSxHQUFHLEdBQUcsQ0FBQ04sTUFBTSxDQUFDLENBQUQsQ0FBUCxFQUFZQSxNQUFNLENBQUMsQ0FBRCxDQUFsQixDQUFaO0FBQ0EsUUFBTU8sR0FBRyxHQUFHLENBQUNQLE1BQU0sQ0FBQyxDQUFELENBQVAsRUFBWUEsTUFBTSxDQUFDLENBQUQsQ0FBbEIsQ0FBWjtBQUNBLFdBQU9QLFFBQVEsQ0FBQ2UsSUFBVCxDQUFjO0FBQ25CQyxNQUFBQSxJQUFJLEVBQUUsU0FEYTtBQUVuQkMsTUFBQUEsUUFBUSxFQUFFO0FBQ1JELFFBQUFBLElBQUksRUFBRSxTQURFO0FBRVJFLFFBQUFBLFdBQVcsRUFBRSxDQUFDLENBQUNQLEdBQUQsRUFBTUUsR0FBTixFQUFXRCxHQUFYLEVBQWdCRSxHQUFoQixFQUFxQkgsR0FBckIsQ0FBRDtBQUZMLE9BRlM7QUFNbkJSLE1BQUFBLFVBQVUsRUFBVkE7QUFObUIsS0FBZCxDQUFQO0FBUUQsR0F0QkQ7QUF1QkEsU0FBT0gsUUFBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIzIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IGdlb2hhc2ggZnJvbSAnbmdlb2hhc2gnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2VvSGFzaFRvUG9seWdvbihnZW9IYXNoTGlzdCwgY29sb3JGaWVsZCwgY29sb3JBZ2dyZWdhdGlvbikge1xuICB2YXIgcG9seWdvbnMgPSBbXTtcbiAgZ2VvSGFzaExpc3QubWFwKGhhc2ggPT4ge1xuICAgIC8vIGdlb0hhc2hMaXN0Lmdlb2hhc2VzLm1hcChoYXNoID0+IHtcblxuICAgIGNvbnN0IHByb3BlcnRpZXMgPSBjb2xvckZpZWxkXG4gICAgICA/IHtcbiAgICAgICAgICB0b3RhbENvdW50OiBoYXNoLmRvY19jb3VudCxcbiAgICAgICAgICBhZ2dyZWdhdGVkRGF0YTogaGFzaC5hZ2dyZWdhdGVkRGF0YVxuICAgICAgICB9XG4gICAgICA6IHt0b3RhbENvdW50OiBoYXNoLmRvY19jb3VudH07XG4gICAgY29uc3QgYm91bmRzID0gZ2VvaGFzaC5kZWNvZGVfYmJveChoYXNoLmtleSk7XG4gICAgY29uc3QgY1VMID0gW2JvdW5kc1sxXSwgYm91bmRzWzBdXTtcbiAgICBjb25zdCBjQlIgPSBbYm91bmRzWzNdLCBib3VuZHNbMl1dO1xuICAgIGNvbnN0IGNVUiA9IFtib3VuZHNbMV0sIGJvdW5kc1syXV07XG4gICAgY29uc3QgY0JMID0gW2JvdW5kc1szXSwgYm91bmRzWzBdXTtcbiAgICByZXR1cm4gcG9seWdvbnMucHVzaCh7XG4gICAgICB0eXBlOiAnRmVhdHVyZScsXG4gICAgICBnZW9tZXRyeToge1xuICAgICAgICB0eXBlOiAnUG9seWdvbicsXG4gICAgICAgIGNvb3JkaW5hdGVzOiBbW2NVTCwgY1VSLCBjQlIsIGNCTCwgY1VMXV1cbiAgICAgIH0sXG4gICAgICBwcm9wZXJ0aWVzXG4gICAgfSk7XG4gIH0pO1xuICByZXR1cm4gcG9seWdvbnM7XG59XG4iXX0=