{"_id":"@ahamove/polygon-lookup","_rev":"9-e54dbb3ebdfe237e725baf09eed5cfd8","name":"@ahamove/polygon-lookup","dist-tags":{"latest":"0.1.3"},"versions":{"0.0.1":{"name":"@ahamove/polygon-lookup","version":"0.0.1","keywords":["polygon","lookup","intersection","coarse"],"author":{"name":"vunh"},"license":"MIT","_id":"@ahamove/polygon-lookup@0.0.1","maintainers":[{"name":"vunh-ahamove","email":"vunh@ahamove.com"},{"name":"lynkxyz","email":"lynkxyz@gmail.com"},{"name":"thucnc","email":"thuc@ahamove.com"},{"name":"khoand2914","email":"khoand2914@gmail.com"},{"name":"thangden","email":"nmthang.192@gmail.com"}],"homepage":"https://github.com/AhaMove/polygon-lookup.git","bugs":{"url":"https://github.com/AhaMove/polygon-lookup/issues"},"dist":{"shasum":"9fe7aa6e20df48620ed0451515d33875d6f68b50","tarball":"https://registry.npmjs.org/@ahamove/polygon-lookup/-/polygon-lookup-0.0.1.tgz","fileCount":9,"integrity":"sha512-jjpXzpuvv2enWnHCIOl0G6tM/SfR+XFcT6+1BIo14Wb03hBlxayOt/AFNpTMo4CK+yeCWc1HYHS1csUNpwDzCA==","signatures":[{"sig":"MEYCIQDDd/J6dkBWPhur72ENgWntDisXg1MbJEZ+8zSRTaEQtAIhAMpRew6QENDLk6M/YXtWp7NgRSjdMkmT4LWTAvKiu8+l","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20644},"main":"index.js","type":"module","engines":{"npm":">=10.0.0","node":">=18.0.0"},"gitHead":"d39070c95a61f4d00866477fe8e113f9009908a9","release":{"success":[]},"scripts":{"ci":"npm test","lint":"eslint .","test":"node test/test.js | tap-spec","validate":"npm ls"},"_npmUser":{"name":"vunh-ahamove","email":"vunh@ahamove.com"},"pre-commit":["lint","validate","test"],"repository":{"url":"git+https://github.com/AhaMove/polygon-lookup.git","type":"git"},"_npmVersion":"10.8.2","description":"A fork from pelias/polygon-lookup with updated dependencies","directories":{},"_nodeVersion":"20.18.2","dependencies":{"rbush":"4.0.1","@turf/helpers":"^7.2.0","upgraded-polygon-lookup":"^0.0.1","@turf/boolean-point-in-polygon":"^7.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tape":"^4.17.0","eslint":"^8.57.1","jshint":"^2.13.6","prettier":"^3.5.3","tap-spec":"^5.0.0","precommit-hook":"^3.0.0","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1","eslint-config-airbnb-base":"^15.0.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/polygon-lookup_0.0.1_1741678710177_0.6062309654325362","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@ahamove/polygon-lookup","version":"0.0.2","keywords":["polygon","lookup","intersection","coarse"],"author":{"name":"vunh"},"license":"MIT","_id":"@ahamove/polygon-lookup@0.0.2","maintainers":[{"name":"vunh-ahamove","email":"vunh@ahamove.com"},{"name":"lynkxyz","email":"lynkxyz@gmail.com"},{"name":"thucnc","email":"thuc@ahamove.com"},{"name":"khoand2914","email":"khoand2914@gmail.com"},{"name":"thangden","email":"nmthang.192@gmail.com"}],"homepage":"https://github.com/AhaMove/polygon-lookup.git","bugs":{"url":"https://github.com/AhaMove/polygon-lookup/issues"},"dist":{"shasum":"36d9ac26015502add403b62862593d87f47311df","tarball":"https://registry.npmjs.org/@ahamove/polygon-lookup/-/polygon-lookup-0.0.2.tgz","fileCount":10,"integrity":"sha512-81BaYW/KGpUH02a8QUnIm5d/VVggHVQGG0IqI2X5hTv9CKOXyuu6daYJB/JCXNnJkcaVMb/WXgSOqhoTswpaQA==","signatures":[{"sig":"MEYCIQDlDT1iAycevkXGmbtnYeZ9f0ZHclabvZbsivw7E4VDvQIhAJfsux7Cl7IMlfi4Ns+Ks1n8tj+/XOxPPIjtMBGRL+r4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24467},"main":"index.js","type":"module","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"gitHead":"f1e8a5ed05ceff1d0e1e33edd42a5ea42671800c","release":{"success":[]},"scripts":{"ci":"pnpm test","lint":"eslint .","test":"vitest run","test:ui":"vitest --ui","validate":"pnpm ls","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"vunh-ahamove","email":"vunh@ahamove.com"},"pre-commit":["lint","validate","test"],"repository":{"url":"git+https://github.com/AhaMove/polygon-lookup.git","type":"git"},"_npmVersion":"10.9.3","description":"A fork from pelias/polygon-lookup with updated dependencies","directories":{},"_nodeVersion":"22.19.0","dependencies":{"rbush":"4.0.1","@turf/helpers":"^7.2.0","@turf/boolean-point-in-polygon":"^7.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.19.0","devDependencies":{"eslint":"^8.57.1","jshint":"^2.13.6","vitest":"^2.1.8","prettier":"^3.5.3","@vitest/ui":"^2.1.8","precommit-hook":"^3.0.0","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1","eslint-config-airbnb-base":"^15.0.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/polygon-lookup_0.0.2_1761623040922_0.9767660394186974","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@ahamove/polygon-lookup","version":"0.0.3","keywords":["polygon","lookup","intersection","coarse"],"author":{"name":"vunh"},"license":"MIT","_id":"@ahamove/polygon-lookup@0.0.3","maintainers":[{"name":"vunh-ahamove","email":"vunh@ahamove.com"},{"name":"lynkxyz","email":"lynkxyz@gmail.com"},{"name":"thucnc","email":"thuc@ahamove.com"},{"name":"khoand2914","email":"khoand2914@gmail.com"},{"name":"thangden","email":"nmthang.192@gmail.com"}],"homepage":"https://github.com/AhaMove/polygon-lookup.git","bugs":{"url":"https://github.com/AhaMove/polygon-lookup/issues"},"dist":{"shasum":"79c56741381f8e06c297674de631c9ad4f5fa1d4","tarball":"https://registry.npmjs.org/@ahamove/polygon-lookup/-/polygon-lookup-0.0.3.tgz","fileCount":11,"integrity":"sha512-aGlt2yN0CGTOFZ5UDIi2uRw3IA9O8lA58ozhzqjz8E0A2lKOih/Hpqm3fo6p+23H+H0TAu5X69qAWNzP2nmXBg==","signatures":[{"sig":"MEYCIQD1xpVqh7QpxbaFSdN5Pa2Fq0iCMG0jKxyBmi/k9lZn2QIhAIzRlvJ+BWz19XMcDBhbT/5wfu6PuQEKJnklELbQXtYf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27492},"main":"index.js","type":"module","types":"index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"gitHead":"f74ddfae0ef76d24b6e4343d66817d5dd3682828","release":{"success":[]},"scripts":{"ci":"pnpm test","lint":"eslint .","test":"vitest run","test:ui":"vitest --ui","validate":"pnpm ls","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"vunh-ahamove","email":"vunh@ahamove.com"},"pre-commit":["lint","validate","test"],"repository":{"url":"git+https://github.com/AhaMove/polygon-lookup.git","type":"git"},"_npmVersion":"10.9.3","description":"A fork from pelias/polygon-lookup with updated dependencies","directories":{},"_nodeVersion":"22.19.0","dependencies":{"rbush":"4.0.1","@turf/helpers":"^7.2.0","@turf/boolean-point-in-polygon":"^7.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.19.0","devDependencies":{"eslint":"^8.57.1","jshint":"^2.13.6","vitest":"^2.1.8","prettier":"^3.5.3","@vitest/ui":"^2.1.8","@types/geojson":"^7946.0.16","precommit-hook":"^3.0.0","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1","eslint-config-airbnb-base":"^15.0.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/polygon-lookup_0.0.3_1761623744370_0.6015490185956993","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@ahamove/polygon-lookup","version":"0.1.0","keywords":["polygon","lookup","intersection","coarse"],"author":{"name":"vunh"},"license":"MIT","_id":"@ahamove/polygon-lookup@0.1.0","maintainers":[{"name":"vunh-ahamove","email":"vunh@ahamove.com"},{"name":"lynkxyz","email":"lynkxyz@gmail.com"},{"name":"thucnc","email":"thuc@ahamove.com"},{"name":"khoand2914","email":"khoand2914@gmail.com"},{"name":"thangden","email":"nmthang.192@gmail.com"}],"homepage":"https://github.com/AhaMove/polygon-lookup.git","bugs":{"url":"https://github.com/AhaMove/polygon-lookup/issues"},"dist":{"shasum":"fd31eb63d239e660e83878022bd2abc114972aac","tarball":"https://registry.npmjs.org/@ahamove/polygon-lookup/-/polygon-lookup-0.1.0.tgz","fileCount":19,"integrity":"sha512-WfiY84fZkYWItQNkssr5YkAOQ84uoq7VYoxkHCyrGvYQ1zM2D7F5poQD4ocxgVYXlrjSWbeowd+r5aE5vMJqhA==","signatures":[{"sig":"MEUCIQD2HnXyJ04goehnK2jOTyJQzAHa9iUVv+VXqOi7/gE+qAIgBb8KsbURlR1qV20Foyj6FJpTFUGT6p2vdOuYwhz6eLg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50528},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"bd52be6d4d689c73b159ca12550c8f033f3b5e4c","release":{"success":[]},"scripts":{"ci":"pnpm test","lint":"eslint .","test":"pnpm type-check && vitest run","build":"tsc","test:ui":"vitest --ui","prebuild":"rm -rf dist","validate":"pnpm ls","test:watch":"vitest","type-check":"tsc --noEmit","test:coverage":"vitest run --coverage","prepublishOnly":"pnpm build"},"_npmUser":{"name":"vunh-ahamove","email":"vunh@ahamove.com"},"pre-commit":["lint","type-check","validate","test"],"repository":{"url":"git+https://github.com/AhaMove/polygon-lookup.git","type":"git"},"_npmVersion":"10.9.3","description":"A fork from pelias/polygon-lookup with updated dependencies","directories":{},"_nodeVersion":"22.19.0","dependencies":{"rbush":"4.0.1","@turf/helpers":"^7.2.0","@turf/boolean-point-in-polygon":"^7.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.19.0","devDependencies":{"eslint":"^8.57.1","jshint":"^2.13.6","vitest":"^2.1.8","prettier":"^3.5.3","@vitest/ui":"^2.1.8","typescript":"^5.9.3","@types/rbush":"^4.0.0","@types/geojson":"^7946.0.16","precommit-hook":"^3.0.0","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1","@typescript-eslint/parser":"^8.46.2","eslint-config-airbnb-base":"^15.0.0","@typescript-eslint/eslint-plugin":"^8.46.2","eslint-plugin-simple-import-sort":"^12.1.1","eslint-import-resolver-typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/polygon-lookup_0.1.0_1761625398611_0.2688986855919979","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@ahamove/polygon-lookup","version":"0.1.1","keywords":["polygon","lookup","intersection","coarse"],"author":{"name":"vunh"},"license":"MIT","_id":"@ahamove/polygon-lookup@0.1.1","maintainers":[{"name":"vunh-ahamove","email":"vunh@ahamove.com"},{"name":"lynkxyz","email":"lynkxyz@gmail.com"},{"name":"thucnc","email":"thuc@ahamove.com"},{"name":"khoand2914","email":"khoand2914@gmail.com"},{"name":"thangden","email":"nmthang.192@gmail.com"}],"homepage":"https://github.com/AhaMove/polygon-lookup.git","bugs":{"url":"https://github.com/AhaMove/polygon-lookup/issues"},"dist":{"shasum":"c09df20e650ac0a17e43a2ce98b056baf718e913","tarball":"https://registry.npmjs.org/@ahamove/polygon-lookup/-/polygon-lookup-0.1.1.tgz","fileCount":15,"integrity":"sha512-vDfL8VA1xfzmWZl/JMHPcXW5HoF6u4GH4cL7cJM1klS/sU/IqPV2kaGDuPZ5FNHxN8gDzqR1qpXvDyz6UDIfxQ==","signatures":[{"sig":"MEUCIBZXTi39agRDwbhtiye2CoD+DqjHLvCEtbLUT7r7xzPeAiEAqlbrDG5k6ivA91crlaVonSNdkdoPlNtRUAXZtKrYcoM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29567},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"3cd4b2e3040019e4a8e981f24c3c591c9d7373e6","release":{"success":[]},"scripts":{"ci":"pnpm test","lint":"eslint .","test":"pnpm type-check && vitest run","build":"tsc","test:ui":"vitest --ui","prebuild":"rm -rf dist","validate":"pnpm ls","test:watch":"vitest","type-check":"tsc --noEmit","test:coverage":"vitest run --coverage","prepublishOnly":"pnpm build"},"_npmUser":{"name":"vunh-ahamove","email":"vunh@ahamove.com"},"pre-commit":["lint","type-check","validate","test"],"repository":{"url":"git+https://github.com/AhaMove/polygon-lookup.git","type":"git"},"_npmVersion":"10.9.3","description":"A fork from pelias/polygon-lookup with updated dependencies","directories":{},"_nodeVersion":"22.19.0","dependencies":{"rbush":"4.0.1","@turf/helpers":"^7.2.0","@turf/boolean-point-in-polygon":"^7.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.19.0","devDependencies":{"eslint":"^8.57.1","jshint":"^2.13.6","vitest":"^2.1.8","prettier":"^3.5.3","@vitest/ui":"^2.1.8","typescript":"^5.9.3","@types/rbush":"^4.0.0","@types/geojson":"^7946.0.16","precommit-hook":"^3.0.0","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1","@typescript-eslint/parser":"^8.46.2","eslint-config-airbnb-base":"^15.0.0","@typescript-eslint/eslint-plugin":"^8.46.2","eslint-plugin-simple-import-sort":"^12.1.1","eslint-import-resolver-typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/polygon-lookup_0.1.1_1761627802030_0.0777189982829034","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@ahamove/polygon-lookup","version":"0.1.2","keywords":["polygon","lookup","intersection","coarse"],"author":{"name":"vunh"},"license":"MIT","_id":"@ahamove/polygon-lookup@0.1.2","maintainers":[{"name":"vunh-ahamove","email":"vunh@ahamove.com"},{"name":"lynkxyz","email":"lynkxyz@gmail.com"},{"name":"thucnc","email":"thuc@ahamove.com"},{"name":"khoand2914","email":"khoand2914@gmail.com"},{"name":"thangden","email":"nmthang.192@gmail.com"}],"homepage":"https://github.com/AhaMove/polygon-lookup.git","bugs":{"url":"https://github.com/AhaMove/polygon-lookup/issues"},"dist":{"shasum":"c0cdf04cad83e9c450cb60ab9caea580f2650b29","tarball":"https://registry.npmjs.org/@ahamove/polygon-lookup/-/polygon-lookup-0.1.2.tgz","fileCount":15,"integrity":"sha512-kXO8E/sjutSv6aWyg5F4r8w3pNlYA0fE7IDHENTl5k3jqprzQkRsA400KRknCTj9qtAj1+EBsxTu5AJOKy+ukw==","signatures":[{"sig":"MEQCICBbY/umEmIy9Pqocv37h7uczVqqE1WQIIOs14W8TSxyAiBvryrQH4koP+ndkvdREx6rgzOGTGD4ySUhR8PNHXP1ng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40279},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"ff04e371a0fd2dca7a8d60ad0396203fe173436d","release":{"success":[]},"scripts":{"ci":"pnpm test","lint":"eslint .","test":"pnpm type-check && vitest run","build":"tsc","test:ui":"vitest --ui","prebuild":"rm -rf dist","validate":"pnpm ls","test:watch":"vitest","type-check":"tsc --noEmit","test:coverage":"vitest run --coverage","prepublishOnly":"pnpm build"},"_npmUser":{"name":"vunh-ahamove","email":"vunh@ahamove.com"},"pre-commit":["lint","type-check","validate","test"],"repository":{"url":"git+https://github.com/AhaMove/polygon-lookup.git","type":"git"},"_npmVersion":"10.9.3","description":"A fork from pelias/polygon-lookup with updated dependencies","directories":{},"_nodeVersion":"22.19.0","dependencies":{"rbush":"4.0.1","flatbush":"^4.5.0","@turf/helpers":"^7.2.0","@turf/boolean-point-in-polygon":"^7.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.19.0","devDependencies":{"eslint":"^8.57.1","jshint":"^2.13.6","vitest":"^2.1.8","prettier":"^3.5.3","@vitest/ui":"^2.1.8","typescript":"^5.9.3","@types/rbush":"^4.0.0","@types/geojson":"^7946.0.16","precommit-hook":"^3.0.0","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1","@typescript-eslint/parser":"^8.46.2","eslint-config-airbnb-base":"^15.0.0","@typescript-eslint/eslint-plugin":"^8.46.2","eslint-plugin-simple-import-sort":"^12.1.1","eslint-import-resolver-typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/polygon-lookup_0.1.2_1762415997305_0.22412764625007076","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@ahamove/polygon-lookup","version":"0.1.3","keywords":["polygon","lookup","intersection","coarse"],"author":{"name":"vunh"},"license":"MIT","_id":"@ahamove/polygon-lookup@0.1.3","maintainers":[{"name":"vunh-ahamove","email":"vunh@ahamove.com"},{"name":"lynkxyz","email":"lynkxyz@gmail.com"},{"name":"thucnc","email":"thuc@ahamove.com"},{"name":"khoand2914","email":"khoand2914@gmail.com"},{"name":"thangden","email":"nmthang.192@gmail.com"}],"homepage":"https://github.com/AhaMove/polygon-lookup.git","bugs":{"url":"https://github.com/AhaMove/polygon-lookup/issues"},"dist":{"shasum":"c4e65ce8ab095b6ce50f634e156d6548c825e111","tarball":"https://registry.npmjs.org/@ahamove/polygon-lookup/-/polygon-lookup-0.1.3.tgz","fileCount":15,"integrity":"sha512-LxYEWe0pvkXXKK2tAUo3Qx6MPv5W1lxpLdqaFdbK5AHcI1Oj1byLbVFMYI252XekGY7jQP90nomiP48HioWj5g==","signatures":[{"sig":"MEQCIHlgTWSe8ruwZimcjujVLYianfsX+zrXn/zsTQE2yqisAiBVGTX8vO9nIH27V8QHoEF9Ov9OuScDiMfc7LP8tFnDbw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38596},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"b424aa488fe23a5bbb8e00b6a33a0ae7df65a173","release":{"success":[]},"scripts":{"ci":"pnpm test","lint":"eslint .","test":"pnpm type-check && vitest run","build":"tsc","test:ui":"vitest --ui","prebuild":"rm -rf dist","validate":"pnpm ls","test:watch":"vitest","type-check":"tsc --noEmit","test:coverage":"vitest run --coverage","prepublishOnly":"pnpm build"},"_npmUser":{"name":"vunh-ahamove","email":"vunh@ahamove.com"},"pre-commit":["lint","type-check","validate","test"],"repository":{"url":"git+https://github.com/AhaMove/polygon-lookup.git","type":"git"},"_npmVersion":"10.9.3","description":"A fork from pelias/polygon-lookup with updated dependencies","directories":{},"_nodeVersion":"22.19.0","dependencies":{"rbush":"4.0.1","flatbush":"^4.5.0","@turf/helpers":"^7.2.0","@turf/boolean-point-in-polygon":"^7.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.19.0","devDependencies":{"eslint":"^8.57.1","jshint":"^2.13.6","vitest":"^2.1.8","prettier":"^3.5.3","@vitest/ui":"^2.1.8","typescript":"^5.9.3","@types/rbush":"^4.0.0","@types/geojson":"^7946.0.16","precommit-hook":"^3.0.0","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1","@typescript-eslint/parser":"^8.46.2","eslint-config-airbnb-base":"^15.0.0","@typescript-eslint/eslint-plugin":"^8.46.2","eslint-plugin-simple-import-sort":"^12.1.1","eslint-import-resolver-typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/polygon-lookup_0.1.3_1762530968812_0.06190153041707758","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2025-03-11T07:38:30.074Z","modified":"2026-02-03T04:17:36.891Z","0.0.1":"2025-03-11T07:38:30.418Z","0.0.2":"2025-10-28T03:44:01.094Z","0.0.3":"2025-10-28T03:55:44.640Z","0.1.0":"2025-10-28T04:23:18.802Z","0.1.1":"2025-10-28T05:03:22.232Z","0.1.2":"2025-11-06T07:59:57.489Z","0.1.3":"2025-11-07T15:56:08.997Z"},"bugs":{"url":"https://github.com/AhaMove/polygon-lookup/issues"},"author":{"name":"vunh"},"license":"MIT","homepage":"https://github.com/AhaMove/polygon-lookup.git","keywords":["polygon","lookup","intersection","coarse"],"repository":{"url":"git+https://github.com/AhaMove/polygon-lookup.git","type":"git"},"description":"A fork from pelias/polygon-lookup with updated dependencies","maintainers":[{"email":"vunh@ahamove.com","name":"vunh-ahamove"},{"email":"thuc@ahamove.com","name":"thucnc"},{"email":"quangtn@ahamove.com","name":"qpepsi769"},{"email":"khoand2914@gmail.com","name":"khoand2914"},{"email":"nmthang.192@gmail.com","name":"thangden"},{"email":"tungvd@ahamove.com","name":"tungvd0108"}],"readme":"# polygon-lookup\n\n> Inspired by [Pelias Polygon Lookup](https://github.com/pelias/polygon-lookup) with TypeScript, updated dependencies, and ESM support\n\nA data-structure for performing fast, accurate point-in-polygon intersections against (potentially very large) sets of\npolygons. `PolygonLookup` builds an [R-tree](http://en.wikipedia.org/wiki/R-tree), or bounding-box spatial index, for its\npolygons and uses it to quickly narrow down the set of candidate polygons for any given point. If there are any\nambiguities, it'll perform point-in-polygon intersections to identify the one that *really* intersects. `PolygonLookup`\noperates entirely in memory, and works best for polygons with little overlap.\n\n**Features:**\n- ✅ TypeScript with full type safety\n- ✅ ESM module support\n- ✅ Updated dependencies\n- ✅ Comprehensive type definitions\n- ✅ Optional [Flatbush](https://github.com/mourner/flatbush) backend for 2-4x faster performance\n\n## Performance Optimization with Flatbush\n\nBy default, polygon-lookup uses RBush, a dynamic R-tree that allows modifications after building the index. For performance-critical applications where the polygon set is static, you can opt into Flatbush:\n\n```typescript\n// Default: RBush (dynamic, flexible)\nconst lookup = new PolygonLookup(geojson);\n\n// Performance mode: Flatbush (static, fast)\nconst lookupFast = new PolygonLookup(geojson, { indexType: 'flatbush' });\n```\n\n### When to Use Flatbush\n\n✅ **Use Flatbush when:**\n- You load all polygons once and never modify the index\n- Performance is critical (millions of queries)\n- Working with large datasets (>100K polygons)\n- Memory usage is a concern\n\n❌ **Stick with RBush when:**\n- You need to add/remove polygons dynamically\n- Dataset is small (<10K polygons) where performance difference is negligible\n\n### Performance Comparison\n\nBased on [Flatbush benchmarks](https://github.com/mourner/flatbush) with 1,000,000 rectangles:\n\n| Operation | RBush | Flatbush | Speedup |\n|-----------|-------|----------|---------|\n| Build index | 1143ms | 273ms | **4.2x faster** |\n| 1000 searches (1% area) | 155ms | 63ms | **2.5x faster** |\n| 1000 searches (0.01% area) | 17ms | 6ms | **2.8x faster** |\n\n**Key Benefits:**\n- 2-4x faster indexing and queries\n- 50-70% lower memory usage\n- O(log n + k) query complexity for both backends\n\n### Configuration Options\n\n```typescript\ninterface PolygonLookupOptions {\n  indexType?: 'rbush' | 'flatbush';  // Default: 'rbush'\n  nodeSize?: number;                  // Default: 16 (flatbush), 9 (rbush)\n}\n```\n\n**Note:** Flatbush indexes are immutable after building. To update polygons, create a new PolygonLookup instance.\n\n## API\n\n##### `PolygonLookup(featureCollection, options)`\n\n* `featureCollection` (**optional**): A GeoJSON collection to optionally immediately load with `.loadFeatureCollection()`.\n* `options` (**optional**): Configuration options object\n  * `indexType`: `'rbush'` (default) or `'flatbush'` - Spatial index backend to use\n  * `nodeSize`: Custom node size for the spatial index (default: 16 for flatbush, 9 for rbush)\n\n##### `PolygonLookup.search(x, y, limit)`\n\nNarrows down the candidate polygons by bounding-box, and then performs point-in-polygon intersections to identify the first n container polygon (with n = limit, even if more polygons really do intersect).\n\n* `x`: the x-coordinate to search for\n* `y`: the y-coordinate to search for\n* `limit` **optional**: the upper bound for number of intersecting polygon found (default value is 1, -1 to return all intersecting polygons)\n* `return`: the intersecting polygon if one was found; a GeoJson FeatureCollection if multiple polygons were found and limit > 1; otherwise, `undefined`.\n\n##### `PolygonLookup.loadFeatureCollection(featureCollection)`\n\nStores a feature collection in this `PolygonLookup`, and builds a spatial index for it. The polygons and rtree can be\naccessed via the `.polygons` and `.rtree` properties.\n\n* `featureCollection` (**optional**): A GeoJSON collection containing some Polygons/MultiPolygons. Note that\n    MultiPolygons will get expanded into multiple polygons.\n\n##### `getBoundingBox(coordinates)` (Utility Function)\n\nCalculates the axis-aligned bounding box for polygon coordinates. This utility is exported from the package and can be used independently.\n\n* `coordinates`: GeoJSON polygon coordinate array (array of rings, where each ring is an array of [x, y] positions)\n* `return`: Object with `{ minX, minY, maxX, maxY }` representing the bounding box\n\n**Example:**\n```typescript\nimport { getBoundingBox } from '@ahamove/polygon-lookup';\n\nconst coords = [[[0, 1], [2, 1], [3, 4], [1, 5], [0, 1]]];\nconst bbox = getBoundingBox(coords);\n// bbox = { minX: 0, minY: 1, maxX: 3, maxY: 5 }\n```\n\n## Example Usage\n\n### Basic Usage\n\n```typescript\nimport PolygonLookup from '@ahamove/polygon-lookup';\n\nconst geojson = {\n  type: 'FeatureCollection',\n  features: [{\n    type: 'Feature',\n    properties: { id: 'bar' },\n    geometry: {\n      type: 'Polygon',\n      coordinates: [[[0, 1], [2, 1], [3, 4], [1, 5], [0, 1]]]\n    }\n  }]\n};\n\nconst lookup = new PolygonLookup(geojson);\nconst poly = lookup.search(1, 2);\nconsole.log(poly.properties.id); // 'bar'\n```\n\n### Finding Multiple Polygons with `limit`\n\n```typescript\n// Single result (default)\nconst singlePoly = lookup.search(1, 2);\n\n// Up to 3 results as FeatureCollection\nconst multiplePolys = lookup.search(1, 2, 3);\nconsole.log(multiplePolys.features.length); // Up to 3\n\n// All intersecting polygons\nconst allPolys = lookup.search(1, 2, -1);\n```\n\n### MultiPolygons and Holes\n\nMultiPolygons are automatically expanded into individual polygons with shared properties. Polygons with holes are correctly handled—points inside holes return `undefined`.\n","readmeFilename":"README.md"}