Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x | /** **************************************************************************************************** * File: variables.js * Project: geohash * @author Nick Soggin <iSkore@users.noreply.github.com> on 19-Feb-2019 *******************************************************************************************************/ 'use strict'; const /** * BASE32 * @type {string} */ BASE32 = '0123456789bcdefghjkmnpqrstuvwxyz', /** * BASE32_DICT * @type {object} */ BASE32_DICT = { 0: 0x0, 1: 0x1, 2: 0x2, 3: 0x3, 4: 0x4, 5: 0x5, 6: 0x6, 7: 0x7, 8: 0x8, 9: 0x9, b: 0xA, c: 0xB, d: 0xC, e: 0xD, f: 0xE, g: 0xF, h: 0x10, j: 0x11, k: 0x12, m: 0x13, n: 0x14, p: 0x15, q: 0x16, r: 0x17, s: 0x18, t: 0x19, u: 0x1A, v: 0x1B, w: 0x1C, x: 0x1D, y: 0x1E, z: 0x1F }, /** * PRECISION_AREA * @type {object} */ PRECISION_AREA = { 1: { width: 5000000, height: 5000000 }, 2: { width: 1250000, height: 625000 }, 3: { width: 156000, height: 156000 }, 4: { width: 39100, height: 19500 }, 5: { width: 4890, height: 4890 }, 6: { width: 1220, height: 610 }, 7: { width: 153, height: 153 }, 8: { width: 38.2, height: 19.1 }, 9: { width: 4.77, height: 4.77 }, 10: { width: 1.19, height: 0.596 }, 11: { width: 0.149, height: 0.149 }, 12: { width: 0.0372, height: 0.0186 } }, /** * NEIGHBOR_CODEX * @type {object} */ NEIGHBOR_CODEX = { n: [ 'p0r21436x8zb9dcf5h7kjnmqesgutwvy', 'bc01fg45238967deuvhjyznpkmstqrwx' ], s: [ '14365h7k9dcfesgujnmqp0r2twvyx8zb', '238967debc01fg45kmstqrwxuvhjyznp' ], e: [ 'bc01fg45238967deuvhjyznpkmstqrwx', 'p0r21436x8zb9dcf5h7kjnmqesgutwvy' ], w: [ '238967debc01fg45kmstqrwxuvhjyznp', '14365h7k9dcfesgujnmqp0r2twvyx8zb' ] }, /** * BORDER_CODEX * @type {object} */ BORDER_CODEX = { n: [ 'prxz', 'bcfguvyz' ], s: [ '028b', '0145hjnp' ], e: [ 'bcfguvyz', 'prxz' ], w: [ '0145hjnp', '028b' ] }, /** * ENCODE_AUTO * @type {number} */ ENCODE_AUTO = -1, /** * MIN_LNG * @description * Minimum longitude 180º west (-180º) of the prime meridian * @type {number} */ MIN_LNG = -180, /** * MIN_LAT * @description * Minimum latitude 90º south (-90º) of the equator * @type {number} */ MIN_LAT = -90, /** * MAX_LNG * @description * Maximum longitude 180º east of the prime meridian * @type {number} */ MAX_LNG = 180, /** * MAX_LAT * Maximum latitude 90º north of the equator * @type {number} */ MAX_LAT = 90; /** * Significant Figure Hash Length * * This is a quick and dirty lookup to figure out how long our hash should be in order to guarantee a certain amount * of trailing significant figures. * This was calculated by determining the error: 45/2^(n-1) where n is the number of bits for a latitude or longitude. * Key is number of desired sig figs, value is minimum length of the geohash. * @type Array */ const SIGFIG_HASH_LENGTH = [ 0, 5, 7, 8, 11, 12, 13, 15, 16, 17, 18 ]; module.exports = { BASE32, BASE32_DICT, PRECISION_AREA, NEIGHBOR_CODEX, BORDER_CODEX, ENCODE_AUTO, MIN_LNG, MIN_LAT, MAX_LNG, MAX_LAT, SIGFIG_HASH_LENGTH }; |