{"_id":"sg-heatmap","_rev":"56-c6569d87397c29b5fc8ea994352f3848","name":"sg-heatmap","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","dist-tags":{"latest":"3.4.2"},"versions":{"1.0.0":{"name":"sg-heatmap","version":"1.0.0","description":"Open source heatmap generator for the Singapore data enthusiast","main":"dist/index.js","scripts":{"build":"rm -rf dist && mkdir dist && babel src --out-dir dist","extract":"babel-node src/extract.js","prepublish":"npm run build && npm run test","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["data","visualization","heatmap"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"chroma-js":"^1.2.1","joi":"^9.0.4","lodash":"^4.15.0","polyline":"^0.2.0","proj4":"^2.3.15"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","babel-runtime":"^6.11.6","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":["es2015","stage-2"],"plugins":["transform-runtime"]},"standard":{"globals":["google"]},"gitHead":"652ff2e31143325771749b8effab00871cdb6480","_id":"sg-heatmap@1.0.0","_shasum":"b4a7c2eea39a8187ec8c06ebc2687d1089629b7a","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.5.0","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"shasum":"b4a7c2eea39a8187ec8c06ebc2687d1089629b7a","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-1.0.0.tgz","integrity":"sha512-hVOybqbou7Ty0ZxKoclovwZbitRsVNElkRMCSViwiNCbhT4IxRAAk7zjOuZaBAMUH6vojTXVWXIaCfLXU2THyA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBv+wpome7vYXXzXmsKw+iG+i039iJA92pfHDjzQBUsHAiBMPLI9LDq57ed7SSxM1sREYQuM/uDIiQrx+Uk7+4JqQQ=="}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/sg-heatmap-1.0.0.tgz_1473696080648_0.5841236892156303"}},"1.0.1":{"name":"sg-heatmap","version":"1.0.1","description":"Open source heatmap generator for the Singapore data enthusiast","main":"dist/index.js","scripts":{"build":"rm -rf dist && mkdir dist && babel src --out-dir dist","extract":"babel-node src/extract.js","prepublish":"npm run build && npm run test","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["data","visualization","heatmap"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"chroma-js":"^1.2.1","joi":"^9.0.4","lodash":"^4.15.0","polyline":"^0.2.0","proj4":"^2.3.15"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","babel-runtime":"^6.11.6","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":["es2015","stage-2"],"plugins":["transform-runtime"]},"standard":{"globals":["google"]},"gitHead":"fd40897bd128ab7780c856202458ca7a5ffc4e9f","_id":"sg-heatmap@1.0.1","_shasum":"1d190efac0377b00064910a06b9320d86ffc2ef4","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.5.0","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"shasum":"1d190efac0377b00064910a06b9320d86ffc2ef4","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-1.0.1.tgz","integrity":"sha512-BLhNY9Mbv4qOcQ3uIdtY0d7q2XKUs8cIO5yATGhjD7RgH+znIAH+Vl+YOByqRstSNAWbi1fz/Og2JsXLf1rUqA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD1pG065HpTiIggf4VosoM5KYc1tWvVlvWGL70k9IATswIhAPtIGxZM/lzV+UOAYJQFGUYoH5cQwiORcPXA+5OxsG75"}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/sg-heatmap-1.0.1.tgz_1473778273073_0.6195008247159421"}},"1.0.2":{"name":"sg-heatmap","version":"1.0.2","description":"Open source heatmap generator for the Singapore data enthusiast","main":"dist/index.js","scripts":{"build":"rm -rf dist && mkdir dist && babel src --out-dir dist","extract":"babel-node src/extract.js","prepublish":"npm run build && npm run test","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["data","visualization","heatmap"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"chroma-js":"^1.2.1","lodash":"^4.15.0","polyline":"^0.2.0","proj4":"^2.3.15"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","babel-runtime":"^6.11.6","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":["es2015","stage-2"],"plugins":["transform-runtime"]},"standard":{"globals":["google"]},"gitHead":"fd40897bd128ab7780c856202458ca7a5ffc4e9f","_id":"sg-heatmap@1.0.2","_shasum":"f8b51dd99fa15b0284419691fbacb357328bc9eb","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.5.0","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"shasum":"f8b51dd99fa15b0284419691fbacb357328bc9eb","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-1.0.2.tgz","integrity":"sha512-YnJfLktEAZsgUO0sgsOOOsvySoXjrDT1WpLGus0+0sr6KGMy3WiAE53Rjad20qOSJpbda5bAFTQvulQ9hvAeCA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD9qRZkbryISACLt4SzxyEm/V+gsDIIXyyH8qQrjYwKrQIhAPeWK8qfcwRHM/1wUBfp1WMwmyiQwlGj15mAZfPNl8YW"}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/sg-heatmap-1.0.2.tgz_1473786202221_0.6323053678497672"}},"1.0.3":{"name":"sg-heatmap","version":"1.0.3","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","scripts":{"build":"rm -rf dist && mkdir dist && babel src --out-dir dist","extract":"babel-node src/extract.js","prepublish":"npm run build && npm run test","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["data","visualization","heatmap"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"chroma-js":"^1.2.1","lodash":"^4.15.0","polyline":"^0.2.0","proj4":"^2.3.15"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","babel-runtime":"^6.11.6","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":["es2015","stage-2"],"plugins":["transform-runtime"]},"standard":{"globals":["google"]},"gitHead":"b83a5c32f5b6a17b333d202fb54e12f3f1c729c8","_id":"sg-heatmap@1.0.3","_shasum":"b0dc4285cec0cbd4242b9d44ec4aabfdcedc26e5","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.5.0","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"shasum":"b0dc4285cec0cbd4242b9d44ec4aabfdcedc26e5","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-1.0.3.tgz","integrity":"sha512-cBlPqFYuCNxNMJ14XQNl5M0IpNyN8ASRGS2AFrKWi+3NfX8bmZN5cfiU5A2wTVtNIHv0koxEWdSYMjaPFzRQ9Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDWMh2w+S9eWFAaXaOyVCSpYCsYjE9UiQlFv+wvvkC2WgIgbIbSIbqit8i30wiKiu+Ka19wZTaRMnlN17+v/VT7PhU="}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/sg-heatmap-1.0.3.tgz_1474201902732_0.030570543138310313"}},"1.0.4":{"name":"sg-heatmap","version":"1.0.4","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","scripts":{"build":"rm -rf dist && mkdir dist && babel src --out-dir dist","extract":"babel-node src/extract.js","prepublish":"npm run build && npm run test","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["data","visualization","heatmap"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"chroma-js":"^1.2.1","lodash":"^4.15.0","polyline":"^0.2.0","proj4":"^2.3.15"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","babel-runtime":"^6.11.6","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":["es2015","stage-2"],"plugins":["transform-runtime"]},"standard":{"globals":["google"]},"gitHead":"e497e3b1c5976fcea4a28805c594f2d7abd8684e","_id":"sg-heatmap@1.0.4","_shasum":"300abbf02b1e145ebdac31eff7bbeff11f8c1a2a","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.5.0","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"shasum":"300abbf02b1e145ebdac31eff7bbeff11f8c1a2a","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-1.0.4.tgz","integrity":"sha512-7PRZI4VFBkrHu3zijIxO/WGQ4ZDSIwJQTHAV5uvefKzlGLgXIeD8JacxK9WseB8vobwfzED2vVwuAoqMMFvpyA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFv/Gb/5qSO+0cxIWZ7iSLZVK8mtSBNUAO7J4Po9JfHzAiBC/qDnRENK3jiYXiW3Yr/oxPSx3jvy54qDpDr8k9EcUQ=="}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/sg-heatmap-1.0.4.tgz_1474209801861_0.5258480398915708"}},"1.0.5":{"name":"sg-heatmap","version":"1.0.5","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","scripts":{"build":"rm -rf dist && mkdir dist && babel src --out-dir dist","extract":"babel-node src/extract.js","prepublish":"npm run build && npm run test","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["data","visualization","heatmap"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"chroma-js":"^1.2.1","lodash":"^4.15.0","polyline":"^0.2.0","proj4":"^2.3.15"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","babel-runtime":"^6.11.6","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":["es2015","stage-2"],"plugins":["transform-runtime"]},"standard":{"globals":["google"]},"gitHead":"e497e3b1c5976fcea4a28805c594f2d7abd8684e","_id":"sg-heatmap@1.0.5","_shasum":"ce92f4e54f8777699d97475b4bd8cb63d1518030","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.5.0","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"shasum":"ce92f4e54f8777699d97475b4bd8cb63d1518030","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-1.0.5.tgz","integrity":"sha512-7VdLYop3CZ9MM7Dy5GVtOuXczkPgQ6NqiMW4jSLeTEF5m/9MlXu7nhPybqMhN/rICGTKWgBCyNIlcbzkm0HXOA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQClzU3uUJdyh8MEWdEL7qQ+k1wNbXpi6IbXm07k3mBeoAIgf5uM4yMYFX0MXsteJ/Y36h9CDeU2OaUojFkVLq1i8Dg="}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/sg-heatmap-1.0.5.tgz_1474209966153_0.375509787350893"}},"1.0.6":{"name":"sg-heatmap","version":"1.0.6","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","scripts":{"build":"rm -rf dist && mkdir dist && babel src --out-dir dist","extract":"babel-node src/extract.js","prepublish":"npm run build && npm run test","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["data","visualization","heatmap"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","directories":{"lib":"dist"},"dependencies":{"chroma-js":"^1.2.1","lodash":"^4.15.0","polyline":"^0.2.0","proj4":"^2.3.15"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","babel-runtime":"^6.11.6","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":["es2015","stage-2"],"plugins":["transform-runtime"]},"standard":{"globals":["google"]},"gitHead":"e497e3b1c5976fcea4a28805c594f2d7abd8684e","_id":"sg-heatmap@1.0.6","_shasum":"6647c41f5ef66bdff3ee930d236fac2d8ade81c1","_from":".","_npmVersion":"3.10.7","_nodeVersion":"6.2.2","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"shasum":"6647c41f5ef66bdff3ee930d236fac2d8ade81c1","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-1.0.6.tgz","integrity":"sha512-LNmaQruAUQICcXDEhOGkxoSUK14GQzVwvRXCrS161h/sNCHF+MF8LpGMntBs7aCPNaBfF5Xe1j07e0nCDZv9Hw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDG5qFofjeKGBq0xLU/Eu1i+3C4FaKIuoD+Uvmo6ZavzQIgIW+lYhXny32m4s1u0CsUi09BKpZBZfZZVeEy16iEMek="}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/sg-heatmap-1.0.6.tgz_1474251840246_0.5579411091748625"}},"1.0.7":{"name":"sg-heatmap","version":"1.0.7","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","scripts":{"build":"rm -rf dist && mkdir dist && babel src --out-dir dist","extract":"babel-node src/extract.js","prepublish":"npm run build && npm run test","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["data","visualization","heatmap"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","directories":{"predefined":"dist/predefined"},"dependencies":{"chroma-js":"^1.2.1","lodash":"^4.15.0","polyline":"^0.2.0","proj4":"^2.3.15"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","babel-runtime":"^6.11.6","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":["es2015","stage-2"],"plugins":["transform-runtime"]},"standard":{"globals":["google"]},"gitHead":"e497e3b1c5976fcea4a28805c594f2d7abd8684e","_id":"sg-heatmap@1.0.7","_shasum":"d39d04c2f6a0aa1f17af180e2d0d6a681d67d8f4","_from":".","_npmVersion":"3.10.7","_nodeVersion":"6.2.2","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"shasum":"d39d04c2f6a0aa1f17af180e2d0d6a681d67d8f4","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-1.0.7.tgz","integrity":"sha512-7EgOvO0t2sVTjvphS0Gd4Kobme8r5snnGhgDT26kFaSE0mojmZ3k/B1OWJfU3MDhobFKbm9Mjpv+qiZgU5zZuw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCTRB9bkB/8PfXBKQmeOF6QfMCoqontGnGMnnM2G6RbYgIhAMHZ+IUaFgOuSBcabJXo/r4rx8Dj5thq6bKY05281Hkf"}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/sg-heatmap-1.0.7.tgz_1474252157554_0.2816247788723558"}},"1.0.8":{"name":"sg-heatmap","version":"1.0.8","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","scripts":{"build":"rm -rf dist && mkdir dist && babel src --out-dir dist","extract":"babel-node src/extract.js","prepublish":"npm run build && npm run test","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["data","visualization","heatmap"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","directories":{"helpers":"dist/helpers/","predefined":"dist/predefined/"},"dependencies":{"chroma-js":"^1.2.1","lodash":"^4.15.0","polyline":"^0.2.0","proj4":"^2.3.15"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","babel-runtime":"^6.11.6","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":["es2015","stage-2"],"plugins":["transform-runtime"]},"standard":{"globals":["google"]},"gitHead":"e497e3b1c5976fcea4a28805c594f2d7abd8684e","_id":"sg-heatmap@1.0.8","_shasum":"202a7885a1a4688d1ee82039289ae9bef1bcfe5b","_from":".","_npmVersion":"3.10.7","_nodeVersion":"6.2.2","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"shasum":"202a7885a1a4688d1ee82039289ae9bef1bcfe5b","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-1.0.8.tgz","integrity":"sha512-tMso6YpKtGeLLJREmNSmqqUzgC/TQlyxKOlM08OEk1CypeL8Jy3EerodsDWzFOvRkCJssMiH/KLbPslKvjb5lg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICn4Rcn+je4Tecy+KYdjNRCObXJC8DMi1vBUJCzyD51lAiBzIO+XzLc9LH0ZdIGlKb5EdWvACsinjTzNqy7+jY0RmQ=="}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/sg-heatmap-1.0.8.tgz_1474252395130_0.1428087200038135"}},"1.0.9":{"name":"sg-heatmap","version":"1.0.9","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","scripts":{"build":"rm -rf dist && mkdir dist && babel src --out-dir dist","extract":"babel-node src/extract.js","prepublish":"npm run build && npm run test","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["data","visualization","heatmap"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"chroma-js":"^1.2.1","lodash":"^4.15.0","polyline":"^0.2.0","proj4":"^2.3.15"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","babel-runtime":"^6.11.6","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":["es2015","stage-2"],"plugins":["transform-runtime"]},"standard":{"globals":["google"]},"gitHead":"e497e3b1c5976fcea4a28805c594f2d7abd8684e","_id":"sg-heatmap@1.0.9","_shasum":"33ef73488c421066e6ceafd265ba12bedbbfb953","_from":".","_npmVersion":"3.10.7","_nodeVersion":"6.2.2","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"shasum":"33ef73488c421066e6ceafd265ba12bedbbfb953","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-1.0.9.tgz","integrity":"sha512-FTAwRrIPCMaVCmMez1BUzlFrsEYnw+P1Q0/ixSxyeb3o7mVNq1FltYiCjiknMVW4djRp58Gv4q3WUkqtwQzhfg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBKswFT/lc3I5FuuqQpZtFPGa9W7XXMvIPullbVmOfJ6AiAh4Itymi+1JLMNj2UeCF50ZJWCc6FrQn+R2Of0QONGfQ=="}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/sg-heatmap-1.0.9.tgz_1474254384974_0.38346452079713345"}},"1.0.10":{"name":"sg-heatmap","version":"1.0.10","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","scripts":{"build":"rm -rf dist && mkdir dist && babel src --out-dir dist","extract":"babel-node src/extract.js","prepublish":"npm run build && npm run test","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["data","visualization","heatmap"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"chroma-js":"^1.2.1","lodash":"^4.15.0","polyline":"^0.2.0","proj4":"^2.3.15"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","babel-runtime":"^6.11.6","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":["es2015","stage-2"],"plugins":["transform-runtime"]},"standard":{"globals":["google"]},"gitHead":"a29966bcd76c2acd5dcf05b97e590853df08b674","_id":"sg-heatmap@1.0.10","_shasum":"549e1574438fafa2756189ebaf58a8a3065927bf","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.5.0","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"shasum":"549e1574438fafa2756189ebaf58a8a3065927bf","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-1.0.10.tgz","integrity":"sha512-xoKcHsOVN0jh6JPkIeD3E7xH0djQtea0L1hhaD7jj8xcJ4UfhzM7RYL6DnPGcPYMLHIw2qz2eal+BBHFQEiKYw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFXgosnDPOYvJu66VARKYNMytTY2yDH9KAOstOiCe18UAiEAlIaSG4XFqLbtx9aNgZRnRpYtkpmOX01COdXyfCtIg88="}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/sg-heatmap-1.0.10.tgz_1474735727815_0.7082963162101805"}},"2.0.0":{"name":"sg-heatmap","version":"2.0.0","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","scripts":{"build":"rm -rf dist && mkdir dist && babel src --out-dir dist","extract":"babel-node src/extract.js","prepublish":"npm run build && npm run test","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["data","visualization","heatmap"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"chroma-js":"^1.2.1","lodash":"^4.15.0","polyline":"^0.2.0","proj4":"^2.3.15"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","babel-runtime":"^6.11.6","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":["es2015","stage-2"],"plugins":["transform-runtime"]},"gitHead":"911e816dc9045dd1cfee194c0ecbbc7b832b1a98","_id":"sg-heatmap@2.0.0","_shasum":"8b85211e1b5abccfb9cbebb30db0f3a579f66246","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.5.0","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"shasum":"8b85211e1b5abccfb9cbebb30db0f3a579f66246","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-2.0.0.tgz","integrity":"sha512-TxJ+zmQgGnhkXCfEuuNGMnBvc3jETurRAGxXeS72Zb21Me+3og/dEyUk1gibkuDT/YF/uMgrvhBNBiMqNcwBbw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBTNiKDULSSrg+ntf0/PgMGJlMaGpOIRDsVmbVoq/HIxAiEA/O8UKrEl/HRKbQKwH/AYtHm2wvxNOv1JZKbwBQYvczQ="}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/sg-heatmap-2.0.0.tgz_1475999018218_0.29524491634219885"}},"2.1.0":{"name":"sg-heatmap","version":"2.1.0","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","scripts":{"build":"rm -rf dist && mkdir dist && babel src --out-dir dist","extract":"babel-node src/extract.js","prepublish":"npm run build && npm run test","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["data","visualization","heatmap"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"chroma-js":"^1.2.1","lodash":"^4.15.0","polyline":"^0.2.0","proj4":"^2.3.15"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","babel-runtime":"^6.11.6","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":["es2015","stage-2"],"plugins":["transform-runtime"]},"gitHead":"6e75aa04489013d8bd00d7b7b6903d0e502930f6","_id":"sg-heatmap@2.1.0","_shasum":"a88e1b2bfabc61873a7c9317e3e82f5c866647e1","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.5.0","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"shasum":"a88e1b2bfabc61873a7c9317e3e82f5c866647e1","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-2.1.0.tgz","integrity":"sha512-3JcxviN4rp+rl/UBswGu9t2SSVEPwD/AIBk/F7VNgofwbcjEhCIQMdDg2Ib+jPK/1CuIDZwpoROndlSNdW/dCQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCx8ch3fuTA5L7f26prZYuEG8Zsg8gZn1dGCOJC6jLTtAIhAImFyiNpAthLk4e93RHc7MyuBaEWdm/tPp9mn5NWbKCJ"}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/sg-heatmap-2.1.0.tgz_1476161864990_0.37119699246250093"}},"2.1.1":{"name":"sg-heatmap","version":"2.1.1","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","scripts":{"build":"rm -rf dist && mkdir dist && babel src --out-dir dist","extract":"babel-node src/extract.js","prepublish":"npm run build && npm run test","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["data","visualization","heatmap"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"chroma-js":"^1.2.1","lodash":"^4.15.0","polyline":"^0.2.0","proj4":"^2.3.15"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","babel-runtime":"^6.11.6","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":["es2015","stage-2"],"plugins":["transform-runtime"]},"gitHead":"6e75aa04489013d8bd00d7b7b6903d0e502930f6","_id":"sg-heatmap@2.1.1","_shasum":"a80f3d7b31231dabfa9dcf7411ecde7e336c81c3","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.5.0","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"shasum":"a80f3d7b31231dabfa9dcf7411ecde7e336c81c3","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-2.1.1.tgz","integrity":"sha512-3xBnYRo93HZP+/w4nLwgcXrXcjbv8lgacFizSesR926wsg6wqYC6bllcACNEfc185QtUaPJIp7Hx2bO/Rq5bnw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCqFQieoHOjq7vY2diM8nJCAGzmuzYruuxeH5wZ4ilquQIgZ4ssm2iIadCwaEis7Wk8TZ8mADUYtc4A9UIoaBsyx2M="}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/sg-heatmap-2.1.1.tgz_1476162872924_0.8952258911449462"}},"2.1.2":{"name":"sg-heatmap","version":"2.1.2","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","scripts":{"build":"rm -rf dist && mkdir dist && babel src --out-dir dist","extract":"babel-node src/extract.js","prepublish":"npm run build && npm run test","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["heatmap","choropleth","Singapore","Google Maps","Leaflet","OpenLayers","visualization","mapping","geospatial"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"chroma-js":"^1.2.1","lodash":"^4.15.0","polyline":"^0.2.0","proj4":"^2.3.15"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","babel-runtime":"^6.11.6","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":["es2015","stage-2"],"plugins":["transform-runtime"]},"gitHead":"e5cc213bc2e712d305731bf3c582bc10d4656611","_id":"sg-heatmap@2.1.2","_shasum":"64c6c3265f8681dcdfbadf14ba020ad6ff443449","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.5.0","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"shasum":"64c6c3265f8681dcdfbadf14ba020ad6ff443449","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-2.1.2.tgz","integrity":"sha512-6UahDEpm1LnBJ6gVFSkbuWxE8JwvDzD9A4Merq2yFHvlkMhyh6DanPS5BkxSU0yxOHxnWDq3hGdR9p5IoLCaUg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDenO3J7Gb1CKZTDEhOZsl0e2ZjHJA287rjLimRSda4iAiEAkNsp4EmVNFnY6w1p3QG6FtOcoBHj6LPVS/sI6KIhICA="}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/sg-heatmap-2.1.2.tgz_1476172964448_0.6310358587652445"}},"2.1.3":{"name":"sg-heatmap","version":"2.1.3","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","scripts":{"build":"rm -rf dist && mkdir dist && babel src --out-dir dist","extract":"babel-node src/extract.js","prepublish":"npm run build && npm run test","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["heatmap","choropleth","Singapore","Google Maps","Leaflet","OpenLayers","visualization","mapping","cartography"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"chroma-js":"^1.2.1","lodash":"^4.15.0","polyline":"^0.2.0","proj4":"^2.3.15"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","babel-runtime":"^6.11.6","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":["es2015","stage-2"],"plugins":["transform-runtime"]},"gitHead":"e5cc213bc2e712d305731bf3c582bc10d4656611","_id":"sg-heatmap@2.1.3","_shasum":"a8afda30e8148ed0ba946214b6223a6611f065b8","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.5.0","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"shasum":"a8afda30e8148ed0ba946214b6223a6611f065b8","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-2.1.3.tgz","integrity":"sha512-73M8Rr334KEKOvLcMElSZV8jJIUNU9yWsu23l0t0LjMUJ7eufyKyH1AhFpq4p0moBQCwQ3BKteBYT40+A34dbg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICEtvXZRBkV6FwEhGZmtxjM51d5pUTJzjyWofPYqNO+aAiAjTqJTjeHptjsOtIiFlR0ilKemuXtKhsl/CdoEo8a+Mw=="}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/sg-heatmap-2.1.3.tgz_1476181804703_0.49764567660167813"}},"2.1.4":{"name":"sg-heatmap","version":"2.1.4","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","scripts":{"build":"rm -rf dist && mkdir dist && babel src --out-dir dist","extract":"babel-node src/extract.js","prepublish":"npm run build && npm run test","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["heatmap","choropleth","Singapore","Google Maps","Leaflet","OpenLayers","visualization","mapping","cartography"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"chroma-js":"^1.2.1","lodash":"^4.15.0","polyline":"^0.2.0","proj4":"^2.3.15"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","babel-runtime":"^6.11.6","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":["es2015","stage-2"],"plugins":["transform-runtime"]},"gitHead":"6ac35d075a600cf72d59cc0ecc6e02869afff415","_id":"sg-heatmap@2.1.4","_shasum":"1aa088ba7983c5e0b711215f543997da15d7dd6e","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.5.0","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"shasum":"1aa088ba7983c5e0b711215f543997da15d7dd6e","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-2.1.4.tgz","integrity":"sha512-pbLXJa5uBqtl4n9kUwj7MHc3ljLjKoW2WJDLhwVwZMNh4R5Ov8jRfI7F8/OB9ZWWuA8hGUK3mCbIoGt8ASOAjw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCuJ746w11mOwngmGXHf4MOMVrAynB4254uE2pkRUtOpQIgN3z79/zNF42n+vz5lbBIrZ7GS5xsr+M5cAo+MErjxe4="}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/sg-heatmap-2.1.4.tgz_1476193918795_0.04106472455896437"}},"2.2.0":{"name":"sg-heatmap","version":"2.2.0","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","scripts":{"build":"rm -rf dist && mkdir dist && babel src --out-dir dist","extract":"babel-node src/extract.js","prepublish":"npm run build && npm run test","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["heatmap","choropleth","Singapore","Google Maps","Leaflet","OpenLayers","visualization","mapping","cartography"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"chroma-js":"^1.2.1","lodash":"^4.15.0","polyline":"^0.2.0","proj4":"^2.3.15"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","babel-runtime":"^6.11.6","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":["es2015","stage-2"],"plugins":["transform-runtime"]},"gitHead":"c81ab020a6714ecadbd40ef3bc8d0fbf1ee556fe","_id":"sg-heatmap@2.2.0","_shasum":"d9fd2b2c98e1301ca4f1a4bf0c9399a07ff0a2ee","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.5.0","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"shasum":"d9fd2b2c98e1301ca4f1a4bf0c9399a07ff0a2ee","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-2.2.0.tgz","integrity":"sha512-yReiHF5uVwA+KaNP7OgK6JKUPIfOy79Y5jnrPY8pulciiP9dXKaM0k594ZDxMTU+VTCITgY7LPk2rq007EECtg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAi7rXEnAlawlCcVKxf76XN9SlaskZZ7hM5ZZ8CyAC5xAiATtX0Xe1YS+eudl4DqOLO+355gRnDgr+LCuRtPk0G77g=="}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/sg-heatmap-2.2.0.tgz_1476587366729_0.2259337946306914"}},"2.2.1":{"name":"sg-heatmap","version":"2.2.1","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","scripts":{"build":"rm -rf dist && mkdir dist && babel src --out-dir dist","extract":"babel-node src/extract.js","prepublish":"npm run build && npm run test","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["heatmap","choropleth","Singapore","Google Maps","Leaflet","OpenLayers","visualization","mapping","cartography"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"chroma-js":"^1.2.1","lodash":"^4.15.0","polyline":"^0.2.0","proj4":"^2.3.15"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","babel-runtime":"^6.11.6","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":["es2015","stage-2"],"plugins":["transform-runtime"]},"gitHead":"12d426b0a246afacf941bac7eeae021c11391861","_id":"sg-heatmap@2.2.1","_shasum":"99d95533d698278004ff96a9ab173d2d749c3059","_from":".","_npmVersion":"3.10.7","_nodeVersion":"6.2.2","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"shasum":"99d95533d698278004ff96a9ab173d2d749c3059","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-2.2.1.tgz","integrity":"sha512-4YfHwdaSHD1zjlRF12vZxD7U25oC0V8pRafcXUZO002TFgQzzp1uj9bh7sJICnxz7RuYI6qs/NwsNh1yG7MyLw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDgeJqkO5m8knksMxJ0ZyyZXMO/+yzB7koUt+AChl0mgAiEAtEGEAXGq1W6AqLmJmK4Z3TuSRrKQajk1xKcvHuVe0ac="}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/sg-heatmap-2.2.1.tgz_1476761175157_0.3679308155551553"}},"2.2.2":{"name":"sg-heatmap","version":"2.2.2","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","scripts":{"build":"rm -rf dist && mkdir dist && babel src --out-dir dist","extract":"babel-node src/extract.js","prepublish":"npm run build && npm run test","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["heatmap","choropleth","Singapore","Google Maps","Leaflet","OpenLayers","visualization","mapping","cartography"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"chroma-js":"^1.2.1","lodash":"^4.15.0","polyline":"^0.2.0","proj4":"^2.3.15"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","babel-runtime":"^6.11.6","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":["es2015","stage-2"],"plugins":["transform-runtime"]},"gitHead":"7e00984885f454d312badcbb1e96a7f470261abe","_id":"sg-heatmap@2.2.2","_shasum":"9a295d5e91efe05825e851fb5fc735c18dcafe88","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.5.0","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"shasum":"9a295d5e91efe05825e851fb5fc735c18dcafe88","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-2.2.2.tgz","integrity":"sha512-ujZFEYqfjvAx0IXKVwZw5ENvHku96beiFJaxjVH/jW5qsmbxrO94AewW49s2JdBvzC7t0CTGcBT0Qlt4QDAr4w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID9gRRQ4GjnEKG8MWSYcUsXXmJISNrWsIY3uz9rPOWj6AiBs3YOE7CFRsDiXbZexItmE5Q8/M8EcwfZK6nSb6r5jKQ=="}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/sg-heatmap-2.2.2.tgz_1476851051512_0.33652848727069795"}},"2.2.3":{"name":"sg-heatmap","version":"2.2.3","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","scripts":{"build":"rm -rf dist && mkdir dist && babel src --out-dir dist","extract":"babel-node src/extract.js","prepublish":"npm run build && npm run test","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["heatmap","choropleth","Singapore","Google Maps","Leaflet","OpenLayers","visualization","mapping","cartography"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"chroma-js":"^1.2.1","lodash":"^4.15.0","polyline":"^0.2.0","proj4":"^2.3.15"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","babel-runtime":"^6.11.6","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":["es2015","stage-2"],"plugins":["transform-runtime"]},"gitHead":"7e00984885f454d312badcbb1e96a7f470261abe","_id":"sg-heatmap@2.2.3","_shasum":"5145ef7e0082dd27f55e51a58e64aeb0ab21c1e2","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.5.0","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"shasum":"5145ef7e0082dd27f55e51a58e64aeb0ab21c1e2","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-2.2.3.tgz","integrity":"sha512-0PZ1zr5FlkEprmgnS8nPwGJMajUbRT5Fg5+PzhWuSevHvXYVDYlRz7/BNEanxAUk5iqABbl5tdreGfcLMHR4hw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDVLByGK+9FPExjpKjFm8D2Coy2KScZq48u+PcSRyg0swIgErEYnFFJwtMLA03C6lx8T6kbXJAAQ6l6oTWqGd+OUik="}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/sg-heatmap-2.2.3.tgz_1476973033230_0.6249474117066711"}},"2.3.0":{"name":"sg-heatmap","version":"2.3.0","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","scripts":{"build":"rm -rf dist && mkdir dist && babel src --out-dir dist","extract":"babel-node src/extract.js","prepublish":"npm run build && npm run test","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["heatmap","choropleth","Singapore","Google Maps","Leaflet","OpenLayers","visualization","mapping","cartography"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"chroma-js":"^1.2.1","lodash":"^4.15.0","polyline":"^0.2.0","proj4":"^2.3.15"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","babel-runtime":"^6.11.6","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":["es2015","stage-2"],"plugins":["transform-runtime"]},"gitHead":"7e00984885f454d312badcbb1e96a7f470261abe","_id":"sg-heatmap@2.3.0","_shasum":"04d7410430d257060e9772ca4211dc849cbf884a","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.5.0","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"shasum":"04d7410430d257060e9772ca4211dc849cbf884a","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-2.3.0.tgz","integrity":"sha512-IO1jsHEHlYqjtiPkstW9NgCQVM9eKL5rYALadxclWMdA52sIjo83SO64P7trrR5GOWAcHmAjr4VV+PMk9OZG1w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAbwwhyUCCfJUfhvLBy2haWuqL9XaljN5YWYvUdJ2wakAiABTHOGTJOm9KC8Ujrw+Lh+X1bDtDEXU2I5QtEmIQUjOQ=="}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/sg-heatmap-2.3.0.tgz_1478442520594_0.16643466567620635"}},"2.4.0":{"name":"sg-heatmap","version":"2.4.0","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","scripts":{"build":"rm -rf dist && mkdir dist && babel src --out-dir dist","extract":"babel-node src/extract.js","prepublish":"npm run build && npm run test","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["heatmap","choropleth","Singapore","Google Maps","Leaflet","OpenLayers","visualization","mapping","cartography"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"chroma-js":"^1.2.1","lodash":"^4.15.0","polyline":"^0.2.0","proj4":"^2.3.15"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","babel-runtime":"^6.11.6","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":["es2015","stage-2"],"plugins":["transform-runtime"]},"gitHead":"d3a92364ec9d0cf919dbcfb4dd5c2a110bc9deb9","_id":"sg-heatmap@2.4.0","_shasum":"06f7d8a4be654c2c5d3be2ad6e8ec03ad9e4cb75","_from":".","_npmVersion":"4.0.3","_nodeVersion":"4.5.0","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"shasum":"06f7d8a4be654c2c5d3be2ad6e8ec03ad9e4cb75","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-2.4.0.tgz","integrity":"sha512-yzWLgH/NwhSRzun8VNGBFdyvA1OlXd0BZlJZ/foo3mA0YM6djcRF44ldwidiWzoMD+8Cd4yDUlIL5ysiIzrHTQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDgXHraJjV2Xs1FNyJKoQq5EGcVVsYz00EEED6mJayb0wIgESKBvahAPF5BVNiMcOmIOv2A4EbtxxknlyzN8c5GgXM="}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/sg-heatmap-2.4.0.tgz_1483241131037_0.5432019818108529"}},"2.4.1":{"name":"sg-heatmap","version":"2.4.1","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","scripts":{"build":"rm -rf dist && mkdir dist && babel src --out-dir dist","extract":"babel-node src/extract.js","prepublish":"npm run build && npm run test","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["heatmap","choropleth","Singapore","Google Maps","Leaflet","OpenLayers","visualization","mapping","cartography"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"chroma-js":"^1.2.1","lodash":"^4.15.0","polyline":"^0.2.0","proj4":"^2.3.15"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","babel-runtime":"^6.11.6","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":["es2015","stage-2"],"plugins":["transform-runtime"]},"gitHead":"9c63fe9033c0a6a2601c20986858e663d3fed39a","_id":"sg-heatmap@2.4.1","_shasum":"3465267b826efc5bfe644d8778603d99820b8a21","_from":".","_npmVersion":"4.0.3","_nodeVersion":"4.5.0","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"shasum":"3465267b826efc5bfe644d8778603d99820b8a21","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-2.4.1.tgz","integrity":"sha512-dDON5j+Ex3g3m0R7xi7M4/3ohc8I0eoUyS2PTx6cUFGOhrblg1rILKZK2b2XpR+HXZuCfHuZ0XA8k4j0UG6NvA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCVAdCqnKJBUoiq6E596oy5/ZvkrtCPxMBQ4Np3k+gGMQIgPKUgJk1tvCJ7k565MjB1GjpTMlN7Pv1fFrb3TdQDpl0="}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/sg-heatmap-2.4.1.tgz_1483241548634_0.5488292584195733"}},"2.4.2":{"name":"sg-heatmap","version":"2.4.2","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","scripts":{"build":"rm -rf dist && mkdir dist && babel src --out-dir dist","extract":"babel-node src/extract.js","prepublish":"npm run build && npm run test","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["heatmap","choropleth","Singapore","Google Maps","Leaflet","OpenLayers","visualization","mapping","cartography"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"chroma-js":"^1.2.1","lodash":"^4.15.0","polyline":"^0.2.0","proj4":"^2.3.15"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","babel-runtime":"^6.11.6","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":["es2015","stage-2"],"plugins":["transform-runtime"]},"gitHead":"9c63fe9033c0a6a2601c20986858e663d3fed39a","_id":"sg-heatmap@2.4.2","_shasum":"b21f154810bddb9b0207bb9ac42e1e1ca167082f","_from":".","_npmVersion":"4.0.3","_nodeVersion":"4.5.0","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"shasum":"b21f154810bddb9b0207bb9ac42e1e1ca167082f","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-2.4.2.tgz","integrity":"sha512-+H+0zC6/VfutVenmVgyrchIR8MMMzPSF5wTVRLaBH5swf5V363VPVzqkYwHMxI+qyU/ame/fsUeXKaQUAQ5dfg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDzCUvG2vmDL56xc5OS/1pyBGE+DpUGvqysscRL+iYcgAiEApL485OLAcYHiDI0as1pjXQmOAbGW2+1NNbSeKRwEWVo="}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/sg-heatmap-2.4.2.tgz_1483285725360_0.22096732398495078"}},"2.4.3":{"name":"sg-heatmap","version":"2.4.3","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","scripts":{"build":"rm -rf dist && mkdir dist && babel src --out-dir dist","extract":"babel-node src/extract.js","prepublish":"npm run build && npm run test","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["heatmap","choropleth","Singapore","Google Maps","Leaflet","OpenLayers","visualization","mapping","cartography"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"chroma-js":"^1.2.1","lodash":"^4.15.0","polyline":"^0.2.0","proj4":"^2.3.15"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","babel-runtime":"^6.11.6","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":["es2015","stage-2"],"plugins":["transform-runtime"]},"gitHead":"5dcaea037f314a63d39233dba60c3a3f7c138028","_id":"sg-heatmap@2.4.3","_shasum":"9a5885088b1b1e36afbd7821f451ec7acafc848a","_from":".","_npmVersion":"3.10.7","_nodeVersion":"6.2.2","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"shasum":"9a5885088b1b1e36afbd7821f451ec7acafc848a","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-2.4.3.tgz","integrity":"sha512-Xzu3i0eqrdffw5Br8VrywXvxB4Hd2TITpFuryMJR2gukmIViAFIHehqM4sxXK+nCFOusu9i8dbf3A34zFUEmcw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGNTKeXdXYwF6gWQhtNFhgEVZHbT3Kai0ifsr1KrZuVYAiB/cYQSr5Bed0FJTfZTusBQOwtIk0dkEthkVIdkKqrn0w=="}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/sg-heatmap-2.4.3.tgz_1484042951756_0.5256574642844498"}},"2.4.4":{"name":"sg-heatmap","version":"2.4.4","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","scripts":{"build":"rm -rf dist && mkdir dist && babel src --out-dir dist","extract":"babel-node src/extract.js","prepublish":"npm run build && npm run test","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["heatmap","choropleth","Singapore","Google Maps","Leaflet","OpenLayers","visualization","mapping","cartography"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"chroma-js":"^1.2.1","lodash":"^4.15.0","polyline":"^0.2.0","proj4":"^2.3.15"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","babel-runtime":"^6.11.6","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":["es2015","stage-2"],"plugins":["transform-runtime"]},"gitHead":"10479881d0be48f61beeb6741258004b2b43b962","_id":"sg-heatmap@2.4.4","_shasum":"46b981c862c02158f6a5899801bc6ca2c704535d","_from":".","_npmVersion":"4.0.3","_nodeVersion":"4.5.0","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"shasum":"46b981c862c02158f6a5899801bc6ca2c704535d","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-2.4.4.tgz","integrity":"sha512-GtSzUqfZGU8BQQjM/n9/pS7snWhht4p1ST9mw3ke4IJqWE47cVXJfZis3L5VDaR02uLr1Nl0K2dJ6k8jCZKsTQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCxqCLCOhUQKgRP6zoKrrA6ucfrUYBRt3EcBvO1fndkMwIgI49tzlAAR0wpkPCE2i+t/5xDDPr+A3Gdijt+1PiODcQ="}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/sg-heatmap-2.4.4.tgz_1484324197400_0.571947697782889"}},"2.4.5":{"name":"sg-heatmap","version":"2.4.5","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","scripts":{"build":"rm -rf dist && mkdir dist && babel src --out-dir dist","extract":"babel-node src/extract.js","prepublish":"npm run build && npm run test","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["heatmap","choropleth","Singapore","Google Maps","Leaflet","OpenLayers","visualization","mapping","cartography"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"chroma-js":"^1.2.1","lodash":"^4.15.0","polyline":"^0.2.0","proj4":"^2.3.15"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","babel-runtime":"^6.11.6","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":["es2015","stage-2"],"plugins":["transform-runtime"]},"gitHead":"10479881d0be48f61beeb6741258004b2b43b962","_id":"sg-heatmap@2.4.5","_shasum":"ad9188a9bbd8de16077f4dd0f801b84b51da38cc","_from":".","_npmVersion":"4.0.3","_nodeVersion":"4.5.0","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"shasum":"ad9188a9bbd8de16077f4dd0f801b84b51da38cc","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-2.4.5.tgz","integrity":"sha512-nFowC27H/xmUbtFfAsNYLPW7e2X7QprH2iKK83v3V6znK/ui1MnHR49B7F5x6Vf4o44yv62o1QLXqBW0qGrILQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGXZq003JFyqyA/aMqIe7VmBpjV6ZYoIuWIHFTQNCjOeAiEAgq42ivNLmmyeAAyGC+mT2+h62mUpc5M0V4iM1oWzNB8="}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/sg-heatmap-2.4.5.tgz_1484326169793_0.6430771325249225"}},"2.4.6":{"name":"sg-heatmap","version":"2.4.6","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","scripts":{"build":"rm -rf dist && mkdir dist && babel src --out-dir dist","extract":"babel-node src/extract.js","prepublish":"npm run test && npm run build","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["heatmap","choropleth","Singapore","Google Maps","Leaflet","OpenLayers","visualization","mapping","cartography"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"@mapbox/polyline":"^0.2.0","chroma-js":"^1.2.1","lodash":"^4.15.0","proj4":"^2.3.15"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","babel-runtime":"^6.11.6","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":["es2015","stage-2"],"plugins":["transform-runtime"]},"gitHead":"10479881d0be48f61beeb6741258004b2b43b962","_id":"sg-heatmap@2.4.6","_shasum":"e9115c7d3c11b0475018d01cbf8db1c8d64fa912","_from":".","_npmVersion":"4.0.3","_nodeVersion":"4.5.0","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"shasum":"e9115c7d3c11b0475018d01cbf8db1c8d64fa912","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-2.4.6.tgz","integrity":"sha512-QIvDmeFC5DZ1i5EqzHWk71jtaLkmFKzDWPQB3Jf7erBU46ZtzZF+hT5GuD0lncHoWP70//sA4ix7ghhcCByRVw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDRSdpnR+Yhn4+M10U+vO0w2mgcmPpnc6eebMXKQM6ClQIgY2NByFVx+f4zVgU2HAG9nxLHaB1zdk8kt5p/8qXGKVs="}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/sg-heatmap-2.4.6.tgz_1484327557000_0.15308877150528133"}},"2.4.7":{"name":"sg-heatmap","version":"2.4.7","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","scripts":{"build":"rm -rf dist && mkdir dist && babel src --out-dir dist","extract":"babel-node src/extract.js","prepublish":"npm run test && npm run build","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["heatmap","choropleth","Singapore","Google Maps","Leaflet","OpenLayers","visualization","mapping","cartography"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"@mapbox/polyline":"^0.2.0","chroma-js":"^1.2.1","lodash":"^4.15.0","proj4":"^2.3.15"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","babel-runtime":"^6.11.6","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":["es2015","stage-2"],"plugins":["transform-runtime"]},"gitHead":"abd3c6b0cad96f288a21a3f3d48348c788afb30e","_id":"sg-heatmap@2.4.7","_shasum":"891f41ff73ac2adb000eff5543dbab4d5f3c5469","_from":".","_npmVersion":"4.0.3","_nodeVersion":"4.5.0","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"shasum":"891f41ff73ac2adb000eff5543dbab4d5f3c5469","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-2.4.7.tgz","integrity":"sha512-/JSlvyRJf7AI3xAl1Pjj7WwSRHOihHtgH/JFWxojaTP9gvwzv04Y5Zww2bE6zf/SkDHN+UpCTvap/Yk/aOK3Xg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFo+IFQ0ODTMD0HjjznIV0edR6Q/eV08ORB0as8+v/azAiBfMs1VtLOrOMOpkQZiMA8tLN5F2HXeHGz7gDok8qm/pg=="}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/sg-heatmap-2.4.7.tgz_1486136868128_0.44060657010413706"}},"2.4.8":{"name":"sg-heatmap","version":"2.4.8","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","scripts":{"build":"rm -rf dist && mkdir dist && babel src --out-dir dist","extract":"babel-node src/extract.js","prepublish":"npm run test && npm run build","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["heatmap","choropleth","Singapore","Google Maps","Leaflet","OpenLayers","visualization","mapping","cartography"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"@mapbox/polyline":"^0.2.0","chroma-js":"^1.2.1","lodash":"^4.15.0","proj4":"^2.3.15"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","babel-runtime":"^6.11.6","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":["es2015","stage-2"],"plugins":["transform-runtime"]},"gitHead":"99adcd6bd32365587eae432af7a0691e2c3383b2","_id":"sg-heatmap@2.4.8","_shasum":"0a6535ce996a9c59a4109b386f07cb99f67dd7b8","_from":".","_npmVersion":"4.0.3","_nodeVersion":"4.5.0","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"shasum":"0a6535ce996a9c59a4109b386f07cb99f67dd7b8","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-2.4.8.tgz","integrity":"sha512-2usbPKNLiElIOBMdTnBWrx3MlkEe1J/pxWO2XUIpqZfmn6sugVE8Sgr+VVgCYVZ4R+EYcGBFKnrGNz7Vgq9Lig==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICZXHeZZMINyS/GfvjLg+WIvP/Hggyn7CUwHGWJ5nOc9AiEAoW5NFa3TssPCUmI5osEf5kSes10QtBuYkWnU3n4twH4="}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/sg-heatmap-2.4.8.tgz_1486137536638_0.21669284952804446"}},"2.5.0":{"name":"sg-heatmap","version":"2.5.0","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","scripts":{"build":"rm -rf dist && mkdir dist && babel src --out-dir dist","extract":"babel-node src/extract.js","prepublish":"npm run test && npm run build","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["heatmap","choropleth","Singapore","Google Maps","Leaflet","OpenLayers","visualization","mapping","cartography"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"@mapbox/polyline":"^0.2.0","chroma-js":"^1.2.1","hextile":"^1.0.4","lodash":"^4.15.0","proj4":"^2.3.15"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","babel-runtime":"^6.11.6","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":["es2015","stage-2"],"plugins":["transform-runtime"]},"gitHead":"f0293d6f87cedb700a4d5b053215c0b8391384a8","_id":"sg-heatmap@2.5.0","_shasum":"9700e144a21dd4ebdd75c9f1fffba738cd7d3716","_from":".","_npmVersion":"4.0.3","_nodeVersion":"4.5.0","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"shasum":"9700e144a21dd4ebdd75c9f1fffba738cd7d3716","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-2.5.0.tgz","integrity":"sha512-Mt14Cg53R43qasec83XMUTfkTUdk52otw6ot4oU4JevB0nWk6U8qJVSf/SqgaflUsf4NvZZaV/GS6ZBzoeDCXw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC5vTxR+Mt/L/bDrdW6ypvm3KDJDTm6Et/PKeqZ6LC6FAiBfvjf836U8WdpMq996CSHNzD6ndpiUtZJdXulGU3m0SQ=="}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/sg-heatmap-2.5.0.tgz_1486175771031_0.7788471437525004"}},"2.5.1":{"name":"sg-heatmap","version":"2.5.1","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","scripts":{"build":"rm -rf dist && mkdir dist && babel src --out-dir dist","extract":"babel-node src/extract.js","prepublish":"npm run test && npm run build","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["heatmap","choropleth","Singapore","Google Maps","Leaflet","OpenLayers","visualization","mapping","cartography"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"@mapbox/polyline":"^0.2.0","chroma-js":"^1.2.1","hextile":"^1.0.4","lodash":"^4.15.0","proj4":"^2.3.15"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","babel-runtime":"^6.11.6","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":["es2015","stage-2"],"plugins":["transform-runtime"]},"gitHead":"eb827914e393084c8b9dc37bff212b91e007209e","_id":"sg-heatmap@2.5.1","_shasum":"f7d042215630c7b172f12bb5eb97897d10270320","_from":".","_npmVersion":"4.0.3","_nodeVersion":"4.5.0","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"shasum":"f7d042215630c7b172f12bb5eb97897d10270320","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-2.5.1.tgz","integrity":"sha512-F/pWtqBQB2royQS6WRjF2BV7oBrNVkKX2lEX+AuI5JyC1VAgz/rWyci2SlFTQ+jA9yZ2WWLT6vWzxtldI5gdBQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC3ReGjBXzs9T7d0E76mn/+niAiDoMe3DucQOHStLtGNgIhAKRjcp/6fPdjV5vIaDysWIP9odM+D6yboljbCLV7gyZq"}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/sg-heatmap-2.5.1.tgz_1486199047146_0.052373030222952366"}},"2.5.2":{"name":"sg-heatmap","version":"2.5.2","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","scripts":{"build":"rm -rf dist && mkdir dist && babel src --out-dir dist","extract":"babel-node src/extract.js","prepublish":"npm run test && npm run build","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["heatmap","choropleth","Singapore","Google Maps","Leaflet","OpenLayers","visualization","mapping","cartography"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"@mapbox/polyline":"^0.2.0","chroma-js":"^1.2.1","hextile":"^1.0.5","lodash":"^4.15.0","proj4":"^2.3.15"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","babel-runtime":"^6.11.6","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":["es2015","stage-2"],"plugins":["transform-runtime"]},"gitHead":"dcda6b30238aa3b6b4ba71f3b5e8adf0e416ae48","_id":"sg-heatmap@2.5.2","_shasum":"81175119b1da2a7514655dd08398435b57e61585","_from":".","_npmVersion":"4.0.3","_nodeVersion":"4.5.0","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"shasum":"81175119b1da2a7514655dd08398435b57e61585","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-2.5.2.tgz","integrity":"sha512-7lIwDdtaHLGFDJCdazO0pTtVb3U1DVaZwjXgZfngVj+VGJD7sqXtZBsRlBde+6aoBKw+YG4BNz4Wd/DUiiXWAg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDR0hGE5TABZhxw4Tf1ElMD2/yF2QWXX2u1UmvDy6ZSqAIhAOGAlaCmCQa2+WFyEqKmQ+z+DREmFIyb8oOiTC53cfIE"}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/sg-heatmap-2.5.2.tgz_1486214294779_0.8062560956459492"}},"2.5.3":{"name":"sg-heatmap","version":"2.5.3","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","scripts":{"build":"rm -rf dist && mkdir dist && babel src --out-dir dist","extract":"babel-node src/extract.js","prepublish":"npm run test && npm run build","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["heatmap","choropleth","Singapore","Google Maps","Leaflet","OpenLayers","visualization","mapping","cartography"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"@mapbox/polyline":"^0.2.0","chroma-js":"^1.2.1","hextile":"^1.0.5","lodash":"^4.15.0","proj4":"^2.3.15"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","babel-runtime":"^6.11.6","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":["es2015","stage-2"],"plugins":["transform-runtime"]},"gitHead":"c4d8b7c1d70c85bff7dab7cd44e4bca43fdc6ec5","_id":"sg-heatmap@2.5.3","_shasum":"1e786f6e291545717f798579bea0e6efaf7f433a","_from":".","_npmVersion":"4.2.0","_nodeVersion":"6.9.4","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"shasum":"1e786f6e291545717f798579bea0e6efaf7f433a","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-2.5.3.tgz","integrity":"sha512-p5w2n6JSFJtwL78/HurNhS3a29GcBNdsmWgAXDi+zwppG/A2Hbz4+k8E9e+Lki4QjCHhMQeDPA00Eic47Whhyw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC5jOIe/9+AD8fV7jwBvhJK6AretdfURSG3c4mENR3XmgIgDw5U2Guh4vL5XxGiTWgREd5rlf1GgOYYiG5O2F+v5Uc="}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/sg-heatmap-2.5.3.tgz_1487671466537_0.5145756539423019"}},"2.5.4":{"name":"sg-heatmap","version":"2.5.4","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","scripts":{"build":"rm -rf dist && mkdir dist && babel src --out-dir dist","extract":"babel-node src/extract.js","prepublish":"npm run test && npm run build","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["heatmap","choropleth","Singapore","Google Maps","Leaflet","OpenLayers","visualization","mapping","cartography"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"@mapbox/polyline":"^0.2.0","chroma-js":"^1.2.1","hextile":"^1.0.5","lodash":"^4.15.0","proj4":"^2.3.15"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","babel-runtime":"^6.11.6","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":["es2015","stage-2"],"plugins":["transform-runtime"]},"gitHead":"a15655c6993e71da397a2040a357e608c198fffb","_id":"sg-heatmap@2.5.4","_shasum":"1d63712128b37fcc72b05fc6bf9156797c53b33b","_from":".","_npmVersion":"4.2.0","_nodeVersion":"6.9.4","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"shasum":"1d63712128b37fcc72b05fc6bf9156797c53b33b","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-2.5.4.tgz","integrity":"sha512-Z1dqXBvwnZ34sjws23uhCnYpTZeSg+5n15QgPj4KIAR2nkBSNaNB0TEt3ttJzp/nLM3B8fD4gVC348ZQUe+EBA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDhzQBJv3C5IXzhkis4OoHxLUO0y0yrQ6cX+PY0MjSBVQIgI/gypH1n9dD9qvQvpZa4ha6cN5tSrceThRCZQxUplfg="}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/sg-heatmap-2.5.4.tgz_1487731189976_0.12214048206806183"}},"2.5.5":{"name":"sg-heatmap","version":"2.5.5","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","scripts":{"build":"rm -rf dist && mkdir dist && babel src --out-dir dist","extract":"babel-node src/extract.js","prepublish":"npm run test && npm run build","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["heatmap","choropleth","Singapore","Google Maps","Leaflet","OpenLayers","visualization","mapping","cartography"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"@mapbox/polyline":"^0.2.0","chroma-js":"^1.2.1","hextile":"^1.0.5","lodash":"^4.15.0","proj4":"^2.3.15"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","babel-runtime":"^6.11.6","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":["es2015","stage-2"],"plugins":["transform-runtime"]},"gitHead":"8bd8d30ab7ee332b32fa9956d9615129dbf4a60b","_id":"sg-heatmap@2.5.5","_shasum":"dfd7f699c493c71f26b33b645b0c90146dc809d5","_from":".","_npmVersion":"4.2.0","_nodeVersion":"6.9.4","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"shasum":"dfd7f699c493c71f26b33b645b0c90146dc809d5","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-2.5.5.tgz","integrity":"sha512-MVisaYMQfJz3aqg5RfTWXsV3s1hLqrSg5Lw9lnWzuQ47aycVLLpMxVZzwpCDIFKR8i35UKNUf/lRde2sTW4llA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAYxEo+UTLV2yHgHf0Hz4b0hfo589oOoBDBD1Eg8o5nLAiEApjEdiN6c6IRzaDFe56bUnjpSJhg1cfhJsSa/J5dAr9k="}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/sg-heatmap-2.5.5.tgz_1487821906884_0.36569083598442376"}},"2.5.6":{"name":"sg-heatmap","version":"2.5.6","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","scripts":{"build":"rm -rf dist && mkdir dist && babel src --out-dir dist","extract":"babel-node src/extract.js","prepublish":"npm run test && npm run build","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["heatmap","choropleth","Singapore","Google Maps","Leaflet","OpenLayers","visualization","mapping","cartography"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"@mapbox/polyline":"^0.2.0","chroma-js":"^1.2.1","hextile":"^1.0.5","lodash":"^4.15.0","proj4":"^2.3.15"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","babel-runtime":"^6.11.6","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":["es2015","stage-2"],"plugins":["transform-runtime"]},"gitHead":"8db3366a53fcdd801857b915550afc09cc64eefc","_id":"sg-heatmap@2.5.6","_shasum":"0d8103c784dbbcc02c825d7b9815d110ed268423","_from":".","_npmVersion":"4.2.0","_nodeVersion":"6.9.4","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"shasum":"0d8103c784dbbcc02c825d7b9815d110ed268423","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-2.5.6.tgz","integrity":"sha512-dfHfcf+BdRJLKqloSa5QIhLIycJXl8DrjMLm9d8ulGa2UlTK485tmKV1zT8iY6F9VrvwROf/1S7jWTcULmvGTA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFE3Fuy04rn3VLtNr05+DEj3mCfuQkwywq3P28YpZvZ8AiEAonanA7DeDmiP06yzFIWxrj024u9LqVl3WUP3RoE2in4="}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/sg-heatmap-2.5.6.tgz_1488519214154_0.7092165930662304"}},"2.5.7":{"name":"sg-heatmap","version":"2.5.7","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","scripts":{"build":"rm -rf dist && mkdir dist && babel src --out-dir dist","extract":"babel-node src/extract.js","prepublish":"npm run test && npm run build","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["heatmap","choropleth","Singapore","Google Maps","Leaflet","OpenLayers","visualization","mapping","cartography"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"@mapbox/polyline":"^0.2.0","chroma-js":"^1.2.1","hextile":"^1.0.5","lodash":"^4.15.0","proj4":"^2.3.15"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","babel-runtime":"^6.11.6","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":["es2015","stage-2"],"plugins":["transform-runtime"]},"gitHead":"8db3366a53fcdd801857b915550afc09cc64eefc","_id":"sg-heatmap@2.5.7","_shasum":"83b884bc4e5ac2e40004d4e6878d6bd60c4a745b","_from":".","_npmVersion":"4.2.0","_nodeVersion":"6.9.4","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"shasum":"83b884bc4e5ac2e40004d4e6878d6bd60c4a745b","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-2.5.7.tgz","integrity":"sha512-uolDmiwjOjd/5awYpSjpZ6HbfM519jW8Ajwr13VZGs0zlQSPHx59UpztIgE16u/E9/INab8DbEIQztI9bPF+HA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGxVgJJ8Y1iN0BR/NnJ8UAxixo+Z7qdesDDHNHSXznVDAiAbXzfB1fWOP1GskjmUCpS04kLjH+QSiNpFjQNBZ5DYbA=="}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/sg-heatmap-2.5.7.tgz_1491462094579_0.33159584179520607"}},"2.5.8":{"name":"sg-heatmap","version":"2.5.8","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","scripts":{"build":"rm -rf dist && mkdir dist && babel src --out-dir dist","extract":"babel-node src/extract.js","prepublish":"npm run test && npm run build","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["heatmap","choropleth","Singapore","Google Maps","Leaflet","OpenLayers","visualization","mapping","cartography"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"@mapbox/polyline":"^0.2.0","chroma-js":"^1.2.1","hextile":"^1.0.6","lodash":"^4.15.0","proj4":"^2.3.15"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","babel-runtime":"^6.11.6","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":["es2015","stage-2"],"plugins":["transform-runtime"]},"gitHead":"e5f00fcd72c9559df97b67d59c8f48888237f609","_id":"sg-heatmap@2.5.8","_shasum":"f347093c91da12e5272c35d93ebd361637cfe807","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.3","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"shasum":"f347093c91da12e5272c35d93ebd361637cfe807","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-2.5.8.tgz","integrity":"sha512-IurY8I7aWzVF4vOEQalXe9ywc6bUdYQh1d/cPLQXaYx5AGToW6IkvMCj7Ay8a6axdOeSMwrKcwKAXsnpXqV4rw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDmdscVsh28R0XX5nSZaTHrPtRmu0ZMhtbUe9hpt+za7wIhALUUAT35XGBeYDePyNSxSHuH1582eEIWTJKClTiq9cxC"}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sg-heatmap-2.5.8.tgz_1500990919958_0.12441000365652144"}},"2.5.9":{"name":"sg-heatmap","version":"2.5.9","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","scripts":{"build":"rm -rf dist && mkdir dist && babel src --out-dir dist","extract":"babel-node src/extract.js","prepublish":"npm run test && npm run build","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["heatmap","choropleth","Singapore","Google Maps","Leaflet","OpenLayers","visualization","mapping","cartography"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"@mapbox/polyline":"^0.2.0","chroma-js":"^1.2.1","hextile":"^1.0.6","lodash":"^4.15.0","proj4":"^2.3.15"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","babel-runtime":"^6.11.6","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":["es2015","stage-2"],"plugins":["transform-runtime"]},"gitHead":"e5f00fcd72c9559df97b67d59c8f48888237f609","_id":"sg-heatmap@2.5.9","_npmVersion":"5.3.0","_nodeVersion":"6.11.2","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"integrity":"sha512-5FwwT29mU6l7idb9nXxVtWwnSKpmmMLx32wy9+d7+DxhITMKmhPtLm0d2fSLljz5TQE/ey91Dd7jXhTdDSZMAw==","shasum":"c81bce4a306d8f8eebd4cd971be83c2750a1b963","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-2.5.9.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCVTNheO9pTWSbe9ZtUINmA/ZQMBB33AHE0z7llIBbU5wIhAL7dGTnodAP+bLPIQj7WHG6INCRUMykEyCZ+vkfmV4mv"}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sg-heatmap-2.5.9.tgz_1503310347285_0.3094188824761659"}},"3.0.0":{"name":"sg-heatmap","version":"3.0.0","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","scripts":{"build":"rm -rf dist && mkdir dist && babel src --out-dir dist","extract":"babel-node src/extract.js","prepublish":"npm run test && npm run build","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["heatmap","choropleth","Singapore","Google Maps","Leaflet","OpenLayers","visualization","mapping","cartography"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"@mapbox/polyline":"^0.2.0","chroma-js":"^1.2.1","hextile":"^1.0.6","lodash":"^4.15.0","proj4":"^2.3.15"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","babel-runtime":"^6.11.6","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":["es2015","stage-2"],"plugins":["transform-runtime"]},"gitHead":"3f9db1f9ac88b146cfa49a3649ef309d7e9cd4d2","_id":"sg-heatmap@3.0.0","_shasum":"32c1a9530a902fc482c826b4283cf91e67df8aa5","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.3","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"shasum":"32c1a9530a902fc482c826b4283cf91e67df8aa5","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-3.0.0.tgz","integrity":"sha512-2kVSjZd2Ip9SlWQ0qUjmYMKLm2ZLLAbc1vJJQj2sA6/tgUSltfLoxdvEwf8Z+CHhXXtbwddvVZU8D5L2K2iAig==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHnAWssImoLKaOVOoCkDWZKJEgChlsWxXpjHBILRxJlVAiADQzQ74Ip4Eyi5dR6R6Hi4sAX7mKzqYQii6iDhhuMnLg=="}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sg-heatmap-3.0.0.tgz_1509194909851_0.22338929469697177"}},"3.0.1":{"name":"sg-heatmap","version":"3.0.1","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","scripts":{"build":"rm -rf dist && mkdir dist && babel src --out-dir dist","extract":"babel-node src/extract.js","prepublish":"npm run test && npm run build","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["heatmap","choropleth","Singapore","Google Maps","Leaflet","OpenLayers","visualization","mapping","cartography"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"@mapbox/polyline":"^0.2.0","babel-runtime":"^6.11.6","chroma-js":"^1.2.1","hextile":"^1.0.6","lodash":"^4.15.0","proj4":"^2.3.15"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":["es2015","stage-2"],"plugins":["transform-runtime"]},"gitHead":"3f9db1f9ac88b146cfa49a3649ef309d7e9cd4d2","_id":"sg-heatmap@3.0.1","_npmVersion":"5.2.0","_nodeVersion":"8.8.1","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"integrity":"sha512-WtQ/zNWhMFtY/lE95jBAdZ/DO5IIB2KKTzYBXPKg6tWL9dhIic2QeZ93EPHLBm4oF7rE+GrDVnVstTKXQwzmuw==","shasum":"8261c5fa8da2ecb6544498760f95c50fc25e02a8","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-3.0.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA59K/B9rfJwgNUYiiaVN8QqTtHN2GRndCo6dmz7AkDmAiBvg9SvxdguWSDbPr5YmfeDVg4H4Ju8dLj6AnsQFLJHBQ=="}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sg-heatmap-3.0.1.tgz_1510889527490_0.2148617112543434"}},"3.1.0":{"name":"sg-heatmap","version":"3.1.0","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","module":"dist/es/index.js","scripts":{"build":"rm -rf dist && mkdir -p dist && mkdir dist/es && NODE_ENV=commonjs babel src --out-dir dist && babel src --out-dir dist/es","extract":"babel-node src/extract.js","prepublish":"npm run test && npm run build","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["heatmap","choropleth","Singapore","Google Maps","Leaflet","OpenLayers","visualization","mapping","cartography"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"@mapbox/polyline":"^0.2.0","babel-runtime":"^6.11.6","chroma-js":"^1.2.1","hextile":"^1.0.6","lodash":"^4.15.0","proj4":"^2.3.15"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":[["es2015",{"modules":false}],"stage-2"],"plugins":["transform-runtime"],"env":{"commonjs":{"plugins":["babel-plugin-transform-es2015-modules-commonjs"]}}},"gitHead":"e05b996175248504611574e6ec8a631612936618","_id":"sg-heatmap@3.1.0","_npmVersion":"5.1.0","_nodeVersion":"8.8.1","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"integrity":"sha512-Z72pde7L9QOmnrqyk65Eakmb1pTGebV++QGPSSWEnof4/MA7fg44I8coOfLdRjTo1dmx+1Ea6ktnDR6vjiUIVw==","shasum":"62cddeb60ac3734626f8b924505d778cd6e95f44","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-3.1.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCwXg1cGpsHybmBv/MAxQqYinqJ1XzvZvxBFc6hLVMiygIhAP3Dl5P1wvYH6nVb/4NkXekA5TFmoVmTYVIY3Z/8bRxB"}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sg-heatmap-3.1.0.tgz_1510892116927_0.7573582197073847"}},"3.2.0":{"name":"sg-heatmap","version":"3.2.0","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","module":"dist/es/index.js","scripts":{"build":"rm -rf dist && mkdir -p dist && mkdir dist/es && BABEL_ENV=commonjs babel src --out-dir dist && babel src --out-dir dist/es","extract":"BABEL_ENV=commonjs babel-node src/extract.js","prepublish":"npm run test && npm run build","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["heatmap","choropleth","Singapore","Google Maps","Leaflet","OpenLayers","visualization","mapping","cartography"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"@mapbox/polyline":"^0.2.0","babel-runtime":"^6.11.6","chroma-js":"^1.2.1","hextile":"^1.0.6","lodash":"^4.15.0"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":[["es2015",{"modules":false}],"stage-2"],"env":{"commonjs":{"plugins":["babel-plugin-transform-es2015-modules-commonjs"]}}},"gitHead":"e05b996175248504611574e6ec8a631612936618","_id":"sg-heatmap@3.2.0","_npmVersion":"5.1.0","_nodeVersion":"8.8.1","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"integrity":"sha512-ZimxAYTE7HxAmSrLHQ5NRFgISB9upLQEYzplfgwM+1VAS33xcojiiyCYIEhRktNpD/DNSgBvPYWzvKg/wuL1cw==","shasum":"6e68691c38514999a5c9c091965fc1bfa62d1da9","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-3.2.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDDXgZN4mCSngAEjUjvAKBYMa18pN/1q++8NXbdaHjvpAiBrSnPjNgSPj7hup7vcE7gswlUm2PUo+7mOQdJ1/HMEzg=="}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sg-heatmap-3.2.0.tgz_1511010150968_0.19565191166475415"}},"3.3.0":{"name":"sg-heatmap","version":"3.3.0","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","module":"dist/es/index.js","scripts":{"build":"rm -rf dist && mkdir -p dist && mkdir dist/es && BABEL_ENV=commonjs babel src --out-dir dist && babel src --out-dir dist/es","extract":"BABEL_ENV=commonjs babel-node src/extract.js","prepublish":"npm run test && npm run build","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["heatmap","choropleth","Singapore","Google Maps","Leaflet","OpenLayers","visualization","mapping","cartography"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"@mapbox/polyline":"^0.2.0","babel-runtime":"^6.11.6","chroma-js":"^1.2.1","lodash":"^4.15.0"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":[["es2015",{"modules":false}],"stage-2"],"env":{"commonjs":{"plugins":["babel-plugin-transform-es2015-modules-commonjs"]}}},"gitHead":"00b445400e2fe79aef9ca8dc574d6117565b5a33","_id":"sg-heatmap@3.3.0","_npmVersion":"5.1.0","_nodeVersion":"8.8.1","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"integrity":"sha512-ZMxKAhCMxdWGMt0y5IWp2Xf4cBrplBcubBSF8z2B/ooEEalBPfV5vfYUZjEzHH/k4JERwymuAL1LrC059RldJw==","shasum":"42b6eee119fbafe922ba8b956bbb9d79b05b0652","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-3.3.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF4EJKe3eoqypSaqpEZESnM7qFkLWDUzAe+0Fh4glKF1AiEAwJze7SoHQr8bI1x0O/cwltCYt/voHUDAMn4CvhJx1GE="}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sg-heatmap-3.3.0.tgz_1511163406652_0.8431605433579534"}},"3.3.1":{"name":"sg-heatmap","version":"3.3.1","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","module":"dist/es/index.js","scripts":{"build":"rm -rf dist && mkdir -p dist && mkdir dist/es && BABEL_ENV=commonjs babel src --out-dir dist && babel src --out-dir dist/es","extract":"BABEL_ENV=commonjs babel-node src/extract.js","prepublish":"npm run test && npm run build","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["heatmap","choropleth","Singapore","Google Maps","Leaflet","OpenLayers","visualization","mapping","cartography"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"@mapbox/polyline":"^0.2.0","babel-runtime":"^6.11.6","chroma-js":"^1.2.1","lodash":"^4.15.0"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":[["es2015",{"modules":false}],"stage-2"],"env":{"commonjs":{"plugins":["babel-plugin-transform-es2015-modules-commonjs"]}}},"gitHead":"1b32c89ccfe2902169eb0b7700efd3293e93a795","_id":"sg-heatmap@3.3.1","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"integrity":"sha512-AwDKRDjaukCCXb0bPyQw12Uh+OAGl+BzLn7iPGGCTNcz5Yrh8CuyLrewwhWls+OTu8HL4Q6sK1zP5ev5zLg/Iw==","shasum":"6e8a176e6badb068a446025d8fc19f7578b0b3e9","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-3.3.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICeItQLeOyxkT0rM/N9ptkwo3AU3wENUHdlt6hemR+iJAiEA7yA5zrxBclGvCmDg3QvJvJXMXSscmIKWMdk3nBv4+nI="}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sg-heatmap-3.3.1.tgz_1511493409659_0.740459555760026"}},"3.3.2":{"name":"sg-heatmap","version":"3.3.2","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","module":"dist/es/index.js","scripts":{"build":"rm -rf dist && mkdir -p dist && mkdir dist/es && BABEL_ENV=commonjs babel src --out-dir dist && babel src --out-dir dist/es","extract":"BABEL_ENV=commonjs babel-node src/extract.js","prepublish":"npm run test && npm run build","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["heatmap","choropleth","Singapore","Google Maps","Leaflet","OpenLayers","visualization","mapping","cartography"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"@mapbox/polyline":"^0.2.0","babel-runtime":"^6.11.6","chroma-js":"^1.2.1","lodash":"^4.15.0"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":[["es2015",{"modules":false}],"stage-2"],"env":{"commonjs":{"plugins":["babel-plugin-transform-es2015-modules-commonjs"]}}},"gitHead":"dad7bd76f066e196e22edd9b6cf7eb0e4a21dfc1","_id":"sg-heatmap@3.3.2","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"integrity":"sha512-VsDCn8k2xhkkZInZEmMOQjt0DaSgEubH0jWjDdrnlIej322OJq/7NwTfApmOSoVtPQNYenxBZhdsF1A0UKadWQ==","shasum":"9808b7b42fe8ccf97a0f0809a7b097ed4b9b6855","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-3.3.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC8cs3hXKH9e3vk0a3757NT193fFqFtEDU9j1pXp347QgIhALMEiAKYeQqQoU5gSB9jBRTTM7RUfb0u3wk7X/ZURfdq"}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sg-heatmap-3.3.2.tgz_1511507300403_0.3865490749012679"}},"3.4.0":{"name":"sg-heatmap","version":"3.4.0","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","module":"dist/es/index.js","scripts":{"build":"rm -rf dist && mkdir -p dist && mkdir dist/es && BABEL_ENV=commonjs babel src --out-dir dist && babel src --out-dir dist/es","extract":"BABEL_ENV=commonjs babel-node src/extract.js","prepublish":"npm run test && npm run build","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["heatmap","choropleth","Singapore","Google Maps","Leaflet","MapboxGL","OpenLayers","visualization","mapping","cartography"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"@mapbox/polyline":"^0.2.0","babel-runtime":"^6.11.6","chroma-js":"^1.2.1","lodash":"^4.15.0"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":[["es2015",{"modules":false}],"stage-2"],"env":{"commonjs":{"plugins":["babel-plugin-transform-es2015-modules-commonjs"]}}},"gitHead":"bd36e92fdce8fba6db5b560c25ce2b31729842ca","_id":"sg-heatmap@3.4.0","_npmVersion":"5.5.1","_nodeVersion":"8.9.3","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"integrity":"sha512-fDU4l60k8osM7zF8ul1QCsnMUJj68FPCay3NcuI68jIcInpJmxKSGcrlQgnYDb1sSBs5L7ZnZWYV6j/36fVsLA==","shasum":"dfbb2ed33fbdd471a653e26e2e7701b32cde671e","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-3.4.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD4BeoBX2ZUeTFSZxGkkZstaTsXKPKY3YXXYP3Pr/v73QIhAJWd3uqw0IjZT2DPhlZLoTX7CLb7Shc2ZhD4Z5lcDzeA"}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sg-heatmap-3.4.0.tgz_1516080165192_0.8896396665368229"}},"3.4.1":{"name":"sg-heatmap","version":"3.4.1","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","module":"dist/es/index.js","scripts":{"build":"rm -rf dist && mkdir -p dist && mkdir dist/es && BABEL_ENV=commonjs babel src --out-dir dist && babel src --out-dir dist/es","extract":"BABEL_ENV=commonjs babel-node src/extract.js","prepublish":"npm run test && npm run build","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["heatmap","choropleth","Singapore","Google Maps","Leaflet","MapboxGL","OpenLayers","visualization","mapping","cartography"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"@mapbox/polyline":"^0.2.0","babel-runtime":"^6.11.6","chroma-js":"^1.2.1","lodash":"^4.15.0"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":[["es2015",{"modules":false}],"stage-2"],"env":{"commonjs":{"plugins":["babel-plugin-transform-es2015-modules-commonjs"]}}},"gitHead":"2a61d3913e2c4960a14c31350e22287b9a3bf36b","_id":"sg-heatmap@3.4.1","_npmVersion":"5.5.1","_nodeVersion":"8.9.3","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"integrity":"sha512-hmiC4V2s8d3fESzReLUd0q1P6A/SKonH0BBVJfWzWpxh6If4wFSztWLRNIyi6YHmJySNsBmw8wRruZ67c0s0dg==","shasum":"90043a441a721a5631c4329bd64a24b004a8f3d4","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-3.4.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGuUGXDRq7gvcxROisd+7VydKAW2hOJjC+mGq/gz2WT5AiEAtGHin54GPph0KPxcHn1P5StjR3SZJ28jUMs7eWa191w="}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sg-heatmap-3.4.1.tgz_1516089393242_0.6328997474629432"}},"3.4.2":{"name":"sg-heatmap","version":"3.4.2","description":"Open-source all-in-one Swiss Army knife tool for creating Choropleth maps","main":"dist/index.js","module":"dist/es/index.js","scripts":{"build":"rm -rf dist && mkdir -p dist && mkdir dist/es && BABEL_ENV=commonjs babel src --out-dir dist && babel src --out-dir dist/es","extract":"BABEL_ENV=commonjs babel-node src/extract.js","prepublish":"npm run test && npm run build","test":"standard"},"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"keywords":["heatmap","choropleth","Singapore","Google Maps","Leaflet","MapboxGL","OpenLayers","visualization","mapping","cartography"],"author":{"name":"Yong Jun"},"license":"MIT","bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","dependencies":{"@mapbox/polyline":"^0.2.0","babel-runtime":"^6.11.6","chroma-js":"^1.2.1","lodash":"^4.15.0"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.14.0","babel-preset-stage-2":"^6.13.0","html2json":"^1.0.2","standard":"^8.0.0","xml2js":"^0.4.17"},"babel":{"presets":[["es2015",{"modules":false}],"stage-2"],"env":{"commonjs":{"plugins":["babel-plugin-transform-es2015-modules-commonjs"]}}},"gitHead":"2a408ae2ce2fbb941e9f294f1431dbb14500a6c4","_id":"sg-heatmap@3.4.2","_npmVersion":"5.5.1","_nodeVersion":"8.9.3","_npmUser":{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"},"dist":{"integrity":"sha512-3dGLttiOnCnAjgA9JMgOFBn3qzKwt/7fgUruHbZUaJs3itgszS66HRIZ9Hf/7a0VzzT34cZRjxDOoDVF8LYgkg==","shasum":"ae288b6a62496c822ddb15a6fe0ac6484a497dd2","tarball":"https://registry.npmjs.org/sg-heatmap/-/sg-heatmap-3.4.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEf1vjx3YCrNiYqFAoCOme4DX0OHlAQk90hUngYeAEKoAiEAoqJwUHkhCGMFTrabJMZ/05kheH11V7QqrPf2XKL6EsQ="}]},"maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sg-heatmap-3.4.2.tgz_1516686966887_0.7037471015937626"}}},"readme":"# sg-heatmap\n\nOpen-source all-in-one Swiss Army knife tool for creating Choropleth maps\n\n![Sample](static/sample.png)\n\n## Motivation\n\nHow do you generate a Choropleth map?\n\n##### Step 1:\nFirst get a bunch of polygons\n\n![Areas](static/areas.png)\n\n##### Step 2:\nThen get a ton of location data points\n\n![Points](static/points.png)\n\n##### Step 3:\nAssign each data point to an area (i.e. binning)\n\n##### Step 4:\nAggregate the data points in each bin (area) with an aggregating function (eg. count, mean, median)\n\n##### Step 5:\nMap each bin's aggregated value to a color using a color scale\n\n##### Step 6:\nRender the colored polygons onto Google map\n\n##### Step 7:\nReceived a new set of data points? Repeat Step 3 to Step 6\n\nClearly generating a Choropleth is not an easy task. Our goal is to provide a simple yet highly customizable JavaScript tool for data enthusiast to spend less time engineering and more time building beautiful visualizations.\n\n## Content\n1. [A basic example](#a-basic-example)\n2. [Binning by key / Working with pre-aggregated data](#binning-by-key--working-with-pre-aggregated-data)\n3. [NEW Plugin to support LeafletJS](#new-plugin-to-support-leafletjs)\n4. [NEW Plugin to support MapboxGL](#new-plugin-to-support-mapboxgl)\n5. [NEW Plugin to support OpenLayers](#new-plugin-to-support-openlayers)\n6. [API Documentation](#api-documentation)\n    - [Installing](#installing)\n    - [Importing to project](#importing-to-project)\n    - [Using predefined maps with polygon data loaded](#using-predefined-maps-with-polygon-data-loaded)\n    - [Defining map with your own polygon data](#defining-map-with-your-own-polygon-data)\n    - [Polygon data must takes the format of an array of GeoJSON feature objects](#polygon-data-must-takes-the-format-of-an-array-of-geojson-feature-objects)\n    - [Defining the aggregating function](#defining-the-aggregating-function)\n    - [List of predefined aggregating functions](##list-of-predefined-aggregating-function)\n    - [.update( ) method](#update--method)\n    - [.getStat( ) method](#getstat--method)\n    - [.render( ) method](#render--method)\n    - [colorScale function](#colorscale-function)\n    - [Using predefined colorScale](#using-predefined-colorscale)\n    - [List of predefined colorScale](#list-of-predefined-colorscale)\n    - [Using colorScale helper function to generate customized colorScale](#using-colorscale-helper-function-to-generate-customized-colorscale)\n    - [Normalization and remapping of values](#normalization--and--remapping--of--values)\n7. [Advance Topics](#advance-topics)\n    - [Adding Event Handlers](#adding-event-handlers)\n    - [Custom aggregate functions](#custom-aggregate-functions)\n    - [Cloning SgHeatmap object](#cloning-sgheatmap-object)\n\n## A basic example\n```javascript\nimport SgHeatmap from 'sg-heatmap/dist/predefined/URA_subzone'\nimport {register_MEAN} from 'sg-heatmap/dist/helpers'\nimport {Spectral} from 'sg-heatmap/dist/helpers/color'\n\nimport dataPoints from './dataPoints.json'\n\n// initialize heatmap\nvar heatmap = new SgHeatmap( )\n\n// set up heatmap to use MEAN for aggregating\nregister_MEAN(heatmap)\n\n// pass in the data points\n// binning and aggregating is done in one step\ndataPoints.forEach(pt => {\n  heatmap.update([pt.lng, pt.lat], pt.wt)\n})\n\n// initialize color scale\nvar colorScale = Spectral()\n\n// initialize renderer\nvar renderer = heatmap.initializeRenderer(colorScale, {\n  strokeWeight: 1,\n  strokeColor: 'black',\n  strokeOpacity: 1,\n  fillColor: 'white',\n  fillOpacity: 0.7\n})\nrenderer.setMap(googleMap)\n\n// render\nheatmap.render('mean')\n```\n\n## Binning by key / Working with pre-aggregated data\nSometimes we might be working with pre-aggregated data.\nInstead of binning and updating with the location (lnglat),\nyou want to bin directly to each polygon using keys.\nIn this case we provides a helper function to modify your *SgHeatmap* object\n\n```javascript\nimport {insideByKey} from 'sg-heatmap/dist/helpers'\nimport aggregatedData from './aggregatedData.json'\n\ninsideByKey(heatmap)\naggregatedData.forEach(pt => {\n  heatmap.update(pt.keys, pt.wt)\n})\n```\n\nOne potential use case is doing the\n(relatively time-consuming) binning and aggregating server-side\nand send only the aggregated values to the client for rendering\n\n```javascript\n// Server-side\nimport SgHeatmap from 'sg-heatmap/dist/predefined/URA_subzone'\nimport {register_MEAN} from 'sg-heatmap/dist/helpers'\nimport dataPoints from './dataPoints'\n\nvar heatmap = new SgHeatmap()\nregister_MEAN(heatmap)\n\ndataPoints.forEach(pt => {\n  heatmap.update([pt.lng, pt.lat], pt.wt)\n})\n\nvar stat = heatmap.getStat('mean')\n// Send 'stat' object to client\n```\n\n```javascript\n// Client-side\nimport SgHeatmap from 'sg-heatmap/dist/predefined/URA_subzone'\nimport {register_LATEST} from 'sg-heatmap/dist/helpers'\n\nvar heatmap = new SgHeatmap()\nregister_LATEST(heatmap)\n\n// Receive 'stat' object from server\nObject.keys(stat.values).forEach(key => {\n  heatmap.update([key], stat.values[key])\n})\n\n// initialize colorScale\n// initialize renderer...\n\n// call render on stat 'latest'\nheatmap.render('latest')\n```\n\n## NEW Plugin to support LeafletJS\n```javascript\nimport SgHeatmap from 'sg-heatmap/dist/predefined/URA_subzone'\nimport supportLeaflet from 'sg-heatmap/dist/plugins/leaflet'\nimport {register_MEAN} from 'sg-heatmap/dist/helpers'\nimport {Spectral} from 'sg-heatmap/dist/helpers/color'\n\nimport dataPoints from './dataPoints.json'\n\nvar heatmap = new SgHeatmap( )\nsupportLeaflet(heatmap)\nregister_MEAN(heatmap)\n\ndataPoints.forEach(pt => {\n  heatmap.update([pt.lng, pt.lat], pt.wt)\n})\n\nvar colorScale = Spectral()\n\n// .initializeRenderer( ) has been overridden to\n// return a Leaflet GeoJSON layer\n// refer to http://leafletjs.com/reference-1.0.0.html#geojson\nvar renderer = heatmap.initializeRenderer(colorScale, {\n  weight: 1,\n  color: 'black',\n  opacity: 1,\n  fillColor: 'white',\n  fillOpacity: 0.7\n})\nrenderer\n  .bindTooltip(layer => layer.feature.properties.Subzone_Name)\n  .addTo(leafletMap)\n\nheatmap.render('mean')\n```\n\n## NEW Plugin to support MapboxGL\n```javascript\nimport SgHeatmap from 'sg-heatmap/dist/predefined/URA_subzone'\nimport supportMapboxGL from 'sg-heatmap/dist/plugins/mapboxgl'\nimport {register_MEAN} from 'sg-heatmap/dist/helpers'\nimport {Spectral} from 'sg-heatmap/dist/helpers/color'\n\nimport dataPoints from './dataPoints.json'\n\nvar heatmap = new SgHeatmap( )\nsupportMapboxGL(heatmap)\nregister_MEAN(heatmap)\n\ndataPoints.forEach(pt => {\n  heatmap.update([pt.lng, pt.lat], pt.wt)\n})\n\nmapboxglMap.on('load', e => {\n  var colorScale = Spectral()\n\n  // .initializeRenderer( ) requires map to be passed in as the first argument\n  // returns an object with the following properties\n  // layer: layer id of the choropleth layer\n  // source: geojson data source backing the choropleth layer\n  // remove: method to clear the choropleth layer\n  var renderer = heatmap.initializeRenderer(mapboxglMap, colorScale, {\n    'line-width': 1,\n    'line-color': 'black',\n    'line-opacity': 1,\n    'fill-color': 'white',\n    'fill-opacity': 0.7\n  })\n\n  var tooltip = new mapboxgl.Popup({\n    closeButton: false,\n    closeOnClick: false\n  })\n\n  mapboxglMap.on('mousemove', renderer.layer, e => {\n    tooltip\n      .setLngLat(e.lngLat)\n      .setText(e.features[0].properties.Subzone_Name)\n      .addTo(mapboxgMap)\n  })\n\n  mapboxgMap.on('mouseleave', renderer.layer, e => {\n    tooltip.remove()\n  })\n\n  heatmap.render('mean')\n})\n```\n\n## NEW Plugin to support OpenLayers\n```javascript\nimport SgHeatmap from 'sg-heatmap/dist/predefined/URA_subzone'\nimport supportOpenLayers from 'sg-heatmap/dist/plugins/openlayers'\nimport {register_MEAN} from 'sg-heatmap/dist/helpers'\nimport {Spectral} from 'sg-heatmap/dist/helpers/color'\n\nimport dataPoints from './dataPoints.json'\n\nvar heatmap = new SgHeatmap( )\nsupportOpenLayers(heatmap)\nregister_MEAN(heatmap)\n\ndataPoints.forEach(pt => {\n  heatmap.update([pt.lng, pt.lat], pt.wt)\n})\n\nvar colorScale = Spectral()\n\n// defaultStyle and addonStyle need to be OpenLayers ol.style.Style object\nvar defaultStyle = new ol.style.Style({\n  stroke: new ol.style.Stroke({\n    color: 'black',\n    width: 1\n  }),\n  fill: new ol.style.Fill({\n    color: 'white'\n  })\n})\n\n// .initializeRenderer( ) has been overridden to\n// return an OpenLayers ol.layer.Vector object\n// refer to http://openlayers.org/en/latest/apidoc/ol.layer.Vector.html\nvar renderer = heatmap.initializeRenderer(colorScale, defaultStyle)\nrenderer.setOpacity(0.7)\nopenLayersMap.addLayer(renderer)\n\nheatmap.render('mean')\n```\n\n## API Documentation\n\n#### Installing\n```\nnpm install --save sg-heatmap\n```\n\n#### Importing to project\n```javascript\nimport SgHeatmap from 'sg-heatmap'\n// OR in ES5\nvar SgHeatmap = require('sg-heatmap')\n```\n\n#### Using predefined maps with polygon data loaded\n```javascript\nimport SgHeatmap from 'sg-heatmap/dist/predefined/URA_region'\n// OR\nimport SgHeatmap from 'sg-heatmap/dist/predefined/URA_planning_area'\n// OR\nimport SgHeatmap from 'sg-heatmap/dist/predefined/URA_subzone'\n// OR\nimport SgHeatmap from 'sg-heatmap/dist/predefined/SPF_npc'\n\n// initialize\nvar heatmap = new SgHeatmap()\n```\n\n**Impt:** If using predefined maps browser-side, include json-loader in your webpack config\n\nData source:\n- https://data.gov.sg/dataset/master-plan-2014-region-boundary-web\n- https://data.gov.sg/dataset/master-plan-2014-planning-area-boundary-web\n- https://data.gov.sg/dataset/master-plan-2014-subzone-boundary-web\n- https://data.gov.sg/dataset/singapore-police-force-npc-boundary\n\n#### Defining map with your own polygon data\n```javascript\nimport polygonData from './polygonData.json'\n\nvar heatmap = new SgHeatmap(polygonData.features)\n```\n\n#### Polygon data must takes the format of an array of GeoJSON feature objects\n```javascript\nPosition: [Number, Number]\n// first element longitude\n// second element latitude\n\nLinearRing: Array<Position>\n// first position to match last position\n\nPolygon: {\n  type: 'Polygon',\n  coordinates: Array<LinearRing>, // required\n  // first element is outer boundary\n  // second element onward are inner \"holes\"\n  bbox: [Number, Number, Number, Number] // optional\n  // first element West bound, second element South bound\n  // third element East bound, fourth element North bound\n}\n\nMultiPolygon: {\n  type: 'MultiPolygon',\n  coordinates: Array<Array<LinearRing>>,\n  bbox: [Number, Number, Number, Number]\n}\n\nFeature: {\n  type: 'Feature'\n  id: String, // required, must be unique\n  properties: Object, // optional, meta data in key/value form\n  geometry: Polygon | MultiPolygon // required\n}\n\npolygonData: Array<Feature>\n```\n\nRefer to relevant sections in **IETF's 2015 GeoJSON Specification (RFC7946)**\n- [https://tools.ietf.org/html/rfc7946#section-3.2](https://tools.ietf.org/html/rfc7946#section-3.2)\n- [https://tools.ietf.org/html/rfc7946#section-3.1.6](https://tools.ietf.org/html/rfc7946#section-3.1.6)\n- [https://tools.ietf.org/html/rfc7946#section-3.1.7](https://tools.ietf.org/html/rfc7946#section-3.1.7)\n- [https://tools.ietf.org/html/rfc7946#section-3.1.1](https://tools.ietf.org/html/rfc7946#section-3.1.1)\n- [https://tools.ietf.org/html/rfc7946#section-5](https://tools.ietf.org/html/rfc7946#section-5)\n\n#### Defining the aggregating function\n```javascript\nimport {register_MEAN} from 'sg-heatmap/dist/helpers'\n\n// this step is required before passing in any data\nregister_MEAN(heatmap)\n```\n\n#### List of predefined aggregating functions\n- register_HISTORY\n- register_LATEST\n- register_COUNT\n- register_SUM\n- register_MEAN\n- register_VARIANCE\n- register_STDEV\n- register_MIN\n- register_MAX\n- register_MEDIAN\n\n*register_HISTORY* and *register_LATEST* does not do any actual aggregating\n\n*register_HISTORY* simply push data point to an array in the update order while\n\n*register_LATEST* replaces old value with each update and keeps only the latest data point\n\n#### *.update( )* method\n```javascript\nimport dataPoints from './dataPoints.json'\n\n// push one data point\nvar pt = dataPoints[0]\nheatmap.update([pt.lng, pt.lat], pt.wt)\n\n// push another data point\npt = dataPoints[1]\nheatmap.update([pt.lng, pt.lat], pt.wt)\n\n// push the remaining data points\ndataPoints.slice(2).forEach(pt => {\n  heatmap.update([pt.lng, pt.lat], pt.wt)\n})\n```\n\nThis design supports streaming data. Each time *.update( )* is called, binning and aggregating is performed on the single data point. Therefore *.getStat( )* and *.render( )* can be called even without all data points loaded\n\n```javascript\n// eg.\nheatmap.resetState()\n\ndataPoints.slice(0, 100).forEach(pt => {\n  heatmap.update([pt.lng, pt.lat], pt.wt)\n})\nheatmap.getStat('mean')\n// returns aggregated values for first 100 data points\n\ndataPoints.slice(100, 200).forEach(pt => {\n  heatmap.update([pt.lng, pt.lat], pt.wt)\n})\nheatmap.getStat('mean')\n// returns aggregated values for first 200 data points\n\ndataPoints.slice(200, 300).forEach(pt => {\n  heatmap.update([pt.lng, pt.lat], pt.wt)\n})\nheatmap.getStat('mean')\n// returns aggregated values for first 300 data points\n\n\n// say you only want to check which bin data point falls into\n// i.e. bin but don't update\npt = dataPoints[0]\nheatmap.bin([pt.lng, pt.lat])\n// this returns filtered list of heatmap.children\n// where inside function evaluates true\n\n// to get their respective key\nvar matchingKeys = heatmap.bin([pt.lng, pt.lat])\n  .map(child => child.key)\n```\n\n#### *.getStat( )* method\n```javascript\n// returns\nvar stat = getStat('mean') = {\n  stat: String, // name of statistic queried (in this case 'mean')\n  values: Object, // key/value map of aggregated stat for each child that has been matched to at least one data point\n  unchanged: [String], // keys of children where no update (i.e. not matched to any data point)\n  min: Number, // minimum among the set of values in stat.values\n  max: Number // maximum among the set of values in stat.values\n}\n```\n\nEach data point only needs to be passed in once and any number of statistics can be called on the SgHeatmap Object\n\n```javascript\n// eg.\nimport {\n  register_MEAN, register_MAX, register_MIN\n} from 'sg-heatmap/dist/helpers'\n\nregister_MEAN(heatmap)\nregister_MAX(heatmap)\nregister_MIN(heatmap)\n\ndataPoints.forEach(pt => {\n  heatmap.update([pt.lng, pt.lat], pt.weight)\n})\n\nheatmap.getStat('mean') // return MEAN\nheatmap.getStat('max') // return MAX\nheatmap.getStat('min') // return MIN\n```\n\n#### *.render( )* method\n```javascript\n// initialize renderer\nheatmap.initializeRenderer(colorScale, defaultStyle, addonStyle)\n\n// initialize colorScale by providing domain min/max endpoints\nheatmap.render(key, domain) // key is the name of the statistic to render\n```\n\n- *.initializeRenderer( )* method requires a *colorScale* function to be passed in as its first parameter (see below)\n- *defaultStyle* and *addonStyle* are optional style options to be applied onto map polygons\n- refer to [https://developers.google.com/maps/documentation/javascript/3.exp/reference#Data.StyleOptions](https://developers.google.com/maps/documentation/javascript/3.exp/reference#Data.StyleOptions)\n- *defaultStyle* applies to every polygon (including those in the unchanged group)\n- *addonStyle* applies to those polygons that has been assigned at least one data point\n- do not set 'fillColor' in *addonStyle* as it will be overridden by the fillColor *colorScale* specify\n\n#### *colorScale* function\nAny function that maps numeric values between 0 and 1 to CSS colors\n\n```javascript\n// example\ncolorScale(0.5) // returns 'orange'\ncolorScale(1) // returns '#ff0000'\n```\n\n#### Using predefined colorScale\n```javascript\nimport {Spectral} from 'sg-heatmap/dist/helpers/color'\n\nvar colorScale = Spectral()\n```\n\n#### List of predefined colorScale\n- eg. Spectral, YlOrRd, Purples\n- Refer to [COLORBREWER 2.0](http://colorbrewer2.org/) for the full set of color schemes available\n\n#### Using colorScale helper function to generate customized colorScale\n```javascript\nimport generateColorScale from 'sg-heatmap/dist/helpers/color'\n\nvar colorArray = ['white', 'yellow', 'orange', 'red', 'black']\n\nvar colorScaleOptions = {\n  transform: 1,\n  bezierInterpolate: false,\n  correctLightness: true,\n  interpolationMode: 'lab'\n}\n\nvar customColorScale = getColorScale(colorArray, colorScaleOptions)\n```\n\nRefer to [chroma.js](https://gka.github.io/chroma.js/) docs for detail explanation of the different colorScaleOptions\n\n#### Normalization and remapping of values\nSince *colorScale* accepts input value only between 0 and 1 while *stat.values* can be any numeric value. Values in *stat.values* are first normalized before passing into colorScale. By default, we perform a linear interpolation with domain end points set to the min and max values\n\n```javascript\nfunction normalize (value) {\n  return (value - stat.min) / (stat.max - stat.min)\n}\n```\n\nYou may set your own domain by providing it through an option argument in *render( )*. Eg.\n\n```javascript\nheatmap.render('mean', {domain: [100, 1000]})\n```\n\nSometimes linear mapping of value to color\nmay not visibly separate the different values sufficiently\n(eg. majority of values are clustered in the lower range)\nIn this case, we may want to apply a power transformation\nto accentuate difference within certain part of the domain.\n\nThe power transformation to apply can be specified in the same option argument. Eg.\n\n```javascript\n// to accentuate difference in the lower range, set transformation < 1\nheatmap.render('mean', {transform: 0.5})\n\n// to accentuate difference in the upper range, set transformation > 1\nheatmap.render('mean', {transform: 2})\n```\n\n## Advance Topics\n\n#### Adding Event Handlers\n```javascript\n// eg.\nvar defaultStyle = {\n  strokeOpacity: 0,\n  fillOpacity: 0\n}\nvar addonStyle = {\n  strokeOpacity: 1,\n  fillOpacity: 0.7\n}\n// by setting opacity 0, empty areas will be hidden\n\nvar renderer = heatmap.initializeRenderer(defaultStyle, addonStyle)\nrenderer.addListener('click', event => {\n  var Address = event.feature.getProperty('Address')\n  var Subzone_Name = event.feature.getProperty('Subzone_Name')\n  console.log(Subzone_Name, Address)\n})\n```\n\nRefer to\n[https://developers.google.com/maps/documentation/javascript/3.exp/reference#Data.Feature](https://developers.google.com/maps/documentation/javascript/3.exp/reference#Data.Feature)\nfor details on the methods available on the *feature* object\n\n```javascript\n// you can even do this\n// creates a highlight effect on hover\nrenderer.addListener('mouseover', event => {\n  renderer.overrideStyle(event.feature, {fillOpacity: 0.5})\n})\nrenderer.addListener('mouseout', event => {\n  renderer.revertStyle(event.feature)\n})\n```\n\nRefer to\n[https://developers.google.com/maps/documentation/javascript/3.exp/reference#Data](https://developers.google.com/maps/documentation/javascript/3.exp/reference#Data)\nfor a detailed list of methods on the *renderer* object\n\n```javascript\n// Leaflet plugin example\nvar renderer = heatmap.initializeRenderer(defaultStyle, addonStyle)\nrenderer.on({\n  click: event => {\n    var Address = event.layer.feature.properties.Address\n    var Subzone_Name = event.layer.feature.properties.Subzone_Name\n    console.log(Subzone_Name, Address)\n  },\n  mouseover: event => {\n    event.layer.setStyle({fillOpacity: 0.5})\n  },\n  mouseout: event => {\n    renderer.resetStyle(event.layer)\n  }\n})\n```\n\n```javascript\n// OpenLayers plugin example\nvar renderer = heatmap.initializeRenderer(defaultStyle, addonStyle)\nvar clickHandler = new ol.interaction.Select()\nopenLayersMap.on('click', event => {\n  openLayersMap.forEachFeatureAtPixel(event.pixel, feature => {\n    var Address = feature.get('Address')\n    var Subzone_Name = feature.get('Subzone_Name')\n    console.log(Subzone_Name, Address)\n  })\n})\n```\n\n#### Custom aggregate functions\nWhen *.update( )* is called binning and aggregation is performed simultaneously. How does this work? How does the *SgHeatmap* object aggregate before being exposed to the full dataset.\n\n*SgHeatmap* does this by using a reducer approach in aggregation. Those who has worked with *Redux.js* will be familiar with this approach.\n\nEach child of the *SgHeatmap* object (corresponding to one feature) has a *state* object\n\n```javascript\nimport SgHeatmap from 'sg-heatmap/dist/predefined/URA_subzone'\n\nvar heatmap = new SgHeatmap()\n\nconsole.log(heatmap.children[0].state)\n// prints empty object {}\n```\n\nTo enable aggregation, first you need to define a default state on all the children by calling *.setDefaultState( )*.\n\n```javascript\nheatmap.setDefaultState({_count: 0, _sum: 0})\nconsole.log(heatmap.children[0].state)\n// prints {_count: 0, _sum: 0}\n```\n\nThen you register some updater functions by calling *.registerUpdater( )*. These *updaters* are reducer functions that requires two parameters *newValue* and *oldState* and returns a *newState* by performing some some update operations.\n\n```javascript\n// eg.\nfunction countUpdater (newValue, oldState) {\n  return {_count: oldState._count + 1}\n}\nfunction sumUpdater (newValue, oldState) {\n  return {_sum: oldState._sum + newValue}\n}\nheatmap.registerUpdater(countUpdater)\nheatmap.registerUpdater(sumUpdater)\nheatmap.inspectUpdaters()\n// prints a stringified version countUpdater and sumUpdater\n```\n\nThe final step is to register a compute statistic function by calling *.registerStat( )*. *stat* functions takes in a child's *state* and output a numeric statistic *value*. Only *stat* that has been registered are available to be called by the *.getStat( )* method.\n\n```javascript\n// eg.\nfunction computeMean (state) {\n  return state._sum / state._count\n}\nheatmap.registerStat('mean', computeMean)\nheatmap.inspectStats()\n// prints a stringified version of computeMean\n```\n\nTo reset a heatmap and empty all it's data you can call *.resetState( )* and all the children's *state* will be reverted to the *defaultState*.\n\n```javascript\nheatmap.resetState()\nconsole.log(heatmap.children[0].state)\n// prints {_count: 0, _sum: 0}\n```\n\nIf all these looks too complicated to you, just use one of the predefined aggregate functions. It should do everything for you. The predefined aggregate functions provided are more than enough for most use cases.\n\n```javascript\nimport {register_MEAN} from 'sg-heatmap/dist/helpers'\n\nregister_MEAN(heatmap)\n```\n\nAnother alternative (for those who have problems wrapping their head around to writing reducer functions) is to just use a *history* updater and rely solely on the *stat* function for aggregating.\n\n```javascript\n// eg.\nimport {register_HISTORY} from 'sg-heatmap/dist/helpers'\n\nregister_HISTORY(heatmap)\n\nfunction computeMean (state) {\n  var sum = state._history.reduce((s, v) => s + v, 0)\n  var count = state._history.length\n  return sum / count\n}\n\nregisterStat('mean', computeMean)\n```\n\nThe reducer design has a few advantages:\n1. *SgHeatmap* object holds only the data needed for rendering the choropleth map instead of the entire dataset. If state needs to be passed around, you'll have a much smaller footprint.\n2. Supports streaming data. You can do interesting things like say 'moving average'\n\n```javascript\n// eg. implementing moving average\nheatmap.setDefaultState({_history: []})\n\nfunction historyUpdater (newValue, oldState) {\n  // clone history into new array\n  var _history = [...state._history] // ES6 syntax\n  if (_history.length === 10) {\n    _history.shift( )\n  }\n  _history.push(newValue)\n  return {_history: _history}\n}\n\nheatmap.registerUpdater(historyUpdater)\n\nfunction computeMean (state) {\n  var sum = state._history.reduce((s, v) => s + v, 0)\n  var count = state._history.length\n  return sum / count\n}\n\nheatmap.registerStat('movingAverage', computeMean)\n```\n\n#### Dynamic *stat*\nThere are times when it may not be feasible to pre-register all the *stat* we need upfront. For example:\n\n```javascript\nimport {register_MEAN} from 'sg-heatmap/dist/helpers'\n\nregister_MEDIAN(heatmap)\n\nheatmap.getStat('median') // returns 50th percentile\n\n// what if we need the 25th & 75th percentile also?\n// maybe we can register multiple similar 'stat'\nheatmap.registerStat('percentile25', compute25percentile)\nheatmap.registerStat('percentile75', compute75percentile)\n\nheatmap.getStat('percentile25')\nheatmap.getStat('percentile75')\n```\n\nWhat if we are using a slider? (10th, 20th, 30th, ... , 90th percentile). Are we going to write one new *stat* for each percentile? In this case we need a more flexible way of defining your 'stat'. How about a *stat* function that accepts a payload?\n\nTo provide for such situation, we allow our *.getstat( )* and *.render( )* method to accept a function instead of a key string. What this mean is you can supplied a *stat* function directly rather than calling a pre-registered *stat* function.\n\n```javascript\n// you can write a higher order function (i.e. a function generator) that returns a computePercentile function for any percentile value\nfunction computePercentile (n) {\n  return function (state) {\n    // return Nth percentile of values in state._history\n  }\n}\n\nheatmap.getStat(computePercentile(25)) // compute 25th percentile\nheatmap.render(computePercentile(75), colorScale) // render choropleth map of 75th percentile\n```\n\n#### Cloning *SgHeatmap* object\n```javascript\nimport SgHeatmap from 'sg-heatmap/dist/predefined/URA_subzone'\n\nvar oldHeatmap = new SgHeatmap()\n\n// Method 1 (cloning locally)\nvar newHeatmap = oldHeatmap.clone(true)\n// setting option false will clone only polygon data\n// but not state object\n\n// Method 2 (for sending data between server and client)\nvar serializedData = oldHeatmap.serialize(true)\nvar newHeatmap = new SgHeatmap(JSON.parse(serializedData))\n// as before, setting option false will clone only polygon data\n```\n\nCloned *SgHeatmap* can retain original *state* of all its children but *updaters* and *stats* will still have to be re-registered\n\n```javascript\nimport {register_MEAN} from 'sg-heatmap/dist/helpers'\n\nregister_MEAN(oldHeatmap)\n\nvar newHeatmap = oldHeatmap.clone(true)\nnewHeatmap.inspectUpdaters( ) // prints []\nnewHeatmap.inspectStats( ) // prints {}\nnewHeatmap.getStat('mean') // throws Error\n\n// complete clone by\nregister_MEAN(newHeatmap)\n```\n","maintainers":[{"name":"yongjun21","email":"yjthong.2009@smu.edu.sg"}],"time":{"modified":"2022-06-26T18:28:14.129Z","created":"2016-09-12T16:01:24.045Z","1.0.0":"2016-09-12T16:01:24.045Z","1.0.1":"2016-09-13T14:51:13.324Z","1.0.2":"2016-09-13T17:03:22.457Z","1.0.3":"2016-09-18T12:31:46.643Z","1.0.4":"2016-09-18T14:43:25.434Z","1.0.5":"2016-09-18T14:46:06.432Z","1.0.6":"2016-09-19T02:24:03.756Z","1.0.7":"2016-09-19T02:29:17.806Z","1.0.8":"2016-09-19T02:33:15.384Z","1.0.9":"2016-09-19T03:06:28.071Z","1.0.10":"2016-09-24T16:48:48.065Z","2.0.0":"2016-10-09T07:43:38.434Z","2.1.0":"2016-10-11T04:57:47.442Z","2.1.1":"2016-10-11T05:14:35.166Z","2.1.2":"2016-10-11T08:02:44.708Z","2.1.3":"2016-10-11T10:30:04.997Z","2.1.4":"2016-10-11T13:52:00.983Z","2.2.0":"2016-10-16T03:09:29.880Z","2.2.1":"2016-10-18T03:26:18.654Z","2.2.2":"2016-10-19T04:24:11.769Z","2.2.3":"2016-10-20T14:17:15.862Z","2.3.0":"2016-11-06T14:28:40.824Z","2.4.0":"2017-01-01T03:25:31.315Z","2.4.1":"2017-01-01T03:32:28.905Z","2.4.2":"2017-01-01T15:48:47.936Z","2.4.3":"2017-01-10T10:09:14.029Z","2.4.4":"2017-01-13T16:16:39.594Z","2.4.5":"2017-01-13T16:49:31.968Z","2.4.6":"2017-01-13T17:12:37.258Z","2.4.7":"2017-02-03T15:47:48.391Z","2.4.8":"2017-02-03T15:58:56.908Z","2.5.0":"2017-02-04T02:36:13.495Z","2.5.1":"2017-02-04T09:04:07.412Z","2.5.2":"2017-02-04T13:18:17.186Z","2.5.3":"2017-02-21T10:04:26.783Z","2.5.4":"2017-02-22T02:39:52.260Z","2.5.5":"2017-02-23T03:51:50.274Z","2.5.6":"2017-03-03T05:33:34.438Z","2.5.7":"2017-04-06T07:01:36.932Z","2.5.8":"2017-07-25T13:55:20.137Z","2.5.9":"2017-08-21T10:12:27.447Z","3.0.0":"2017-10-28T12:48:30.107Z","3.0.1":"2017-11-17T03:32:09.184Z","3.1.0":"2017-11-17T04:15:17.640Z","3.2.0":"2017-11-18T13:02:31.208Z","3.3.0":"2017-11-20T07:36:46.787Z","3.3.1":"2017-11-24T03:16:49.870Z","3.3.2":"2017-11-24T07:08:20.575Z","3.3.3":"2017-11-24T11:39:21.605Z","3.4.0":"2018-01-16T05:22:45.438Z","3.4.1":"2018-01-16T07:56:33.444Z","3.4.2":"2018-01-23T05:56:07.019Z"},"homepage":"https://github.com/yongjun21/sg-heatmap#readme","keywords":["heatmap","choropleth","Singapore","Google Maps","Leaflet","MapboxGL","OpenLayers","visualization","mapping","cartography"],"repository":{"type":"git","url":"git+https://github.com/yongjun21/sg-heatmap.git"},"author":{"name":"Yong Jun"},"bugs":{"url":"https://github.com/yongjun21/sg-heatmap/issues"},"license":"MIT","readmeFilename":"README.md"}