{"_id":"@allmaps/analyze","_rev":"12-7ac23671b61b5b6ecda526360773fa19","name":"@allmaps/analyze","dist-tags":{"beta":"1.0.0-beta.4","latest":"1.0.0-beta.13"},"versions":{"1.0.0-beta.2":{"name":"@allmaps/analyze","version":"1.0.0-beta.2","keywords":["allmaps","analyze","georeference","map"],"author":{"url":"https://manuelclaeysbouuaert.be","name":"Manuel Claeys Bouuaert","email":"manuel.claeys.b@gmail.com"},"license":"GPL-3.0-or-later","_id":"@allmaps/analyze@1.0.0-beta.2","maintainers":[{"name":"bertspaan","email":"hello@bertspaan.nl"}],"homepage":"https://allmaps.org","bugs":{"url":"https://github.com/allmaps/allmaps/issues"},"dist":{"shasum":"db026c1938915289608f283f0364e5f3d65d35dc","tarball":"https://registry.npmjs.org/@allmaps/analyze/-/analyze-1.0.0-beta.2.tgz","fileCount":8,"integrity":"sha512-RpBKR/W3lCpXfEivxVXQ6uQFvZC0XP3LD8bTfEVkEi9dfvYH4jaMXVu9UEk2fv0JpFZMdYR/pPrMXSeUq6tfmA==","signatures":[{"sig":"MEUCIQC7CUZx29YSFl1goX6Uo7ETFZmYQZ747FBhjLZnCMa2FAIgXzw1l967Fe4TZ3riCvgj75tmLhywMS5ebwR60giAW8k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26244},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js"}},"gitHead":"ce2647b9f0b77032a428d96bc037ecd67379cc04","scripts":{"lint":"prettier --check src test && eslint src test --ext .js,.ts","test":"NODE_ENV=test pnpm run build && mocha","build":"tsc && pnpm run documentation","types":"tsc --noEmit","watch":"tsc --watch","format":"prettier --write src test","preversion":"pnpm run lint && pnpm test","documentation":"documentation readme dist/index.js --section=API"},"_npmUser":{"name":"bertspaan","email":"hello@bertspaan.nl"},"repository":{"url":"git+https://github.com/allmaps/allmaps.git","type":"git","directory":"packages/analyze"},"_npmVersion":"lerna/5.1.0/node@v23.1.0+arm64 (darwin)","description":"Allmaps Analysis Library","directories":{},"_nodeVersion":"23.1.0","dependencies":{"@allmaps/types":"^1.0.0-beta.17","@allmaps/render":"^1.0.0-beta.70","@allmaps/stdlib":"^1.0.0-beta.33","@allmaps/transform":"^1.0.0-beta.43","@allmaps/annotation":"^1.0.0-beta.32","robust-point-in-polygon":"^1.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","mocha":"^10.8.2","eslint":"^8.56.0","prettier":"^2.8.0","typescript":"^5.7.0","@types/eslint":"^8.56.0","documentation":"^14.0.0","eslint-config-prettier":"^9.1.0","chai-shallow-deep-equal":"^1.4.6","@typescript-eslint/parser":"^7.0.0","@types/robust-point-in-polygon":"^1.0.4","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/analyze_1.0.0-beta.2_1741776134801_0.6490339342001232","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.3":{"name":"@allmaps/analyze","version":"1.0.0-beta.3","keywords":["allmaps","analyze","georeference","map"],"author":{"url":"https://manuelclaeysbouuaert.be","name":"Manuel Claeys Bouuaert","email":"manuel.claeys.b@gmail.com"},"license":"MIT","_id":"@allmaps/analyze@1.0.0-beta.3","maintainers":[{"name":"bertspaan","email":"hello@bertspaan.nl"}],"homepage":"https://allmaps.org","dist":{"shasum":"48b7d441343919807b4b723b5645970cdd02e17c","tarball":"https://registry.npmjs.org/@allmaps/analyze/-/analyze-1.0.0-beta.3.tgz","fileCount":9,"integrity":"sha512-2ZPfNCYUSU5+XsHILf0eP12PunpoO6Oqp18r8uD1sNoVmGgswBilfbqz8rxehvSlKfDMFrHjMRhhbRKpQ1iM8A==","signatures":[{"sig":"MEQCIEBW0yUZvpY0jIrrGoypyslbEhSycdaO+JmKP4Vcn8vxAiBjQ29kzBUi+LoLcqhgSR6UCOsfPD3w/ARmBHdwPg1wWg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33044},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js"}},"gitHead":"52a33f5d89519a0fd621c4847b2c7b5b63d52ef2","scripts":{"lint":"prettier --check src test && eslint src test --ext .js,.ts","test":"NODE_ENV=test pnpm run build && mocha","build":"tsc && pnpm run documentation","types":"tsc --noEmit","watch":"tsc --watch","format":"prettier --write src test","preversion":"pnpm run lint && pnpm test","documentation":"documentation readme dist/index.js --section=API"},"_npmUser":{"name":"bertspaan","email":"hello@bertspaan.nl"},"repository":{"url":"https://github.com/allmaps/allmaps.git","type":"git","directory":"packages/analyze"},"_npmVersion":"lerna/4.1.2/node@v23.11.0+arm64 (darwin)","description":"Allmaps Analysis Library","directories":{},"_nodeVersion":"23.11.0","dependencies":{"@allmaps/types":"^1.0.0-beta.18","@allmaps/render":"^1.0.0-beta.71","@allmaps/stdlib":"^1.0.0-beta.34","@allmaps/transform":"^1.0.0-beta.44","@allmaps/annotation":"^1.0.0-beta.33","robust-point-in-polygon":"^1.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","mocha":"^10.8.2","eslint":"^8.56.0","prettier":"^2.8.0","typescript":"^5.7.0","@types/eslint":"^8.56.0","documentation":"^14.0.0","eslint-config-prettier":"^9.1.0","chai-shallow-deep-equal":"^1.4.6","@typescript-eslint/parser":"^7.0.0","@types/robust-point-in-polygon":"^1.0.4","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/analyze_1.0.0-beta.3_1747907481279_0.1573641876757954","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.4":{"name":"@allmaps/analyze","version":"1.0.0-beta.4","keywords":["allmaps","analyze","georeference","map"],"author":{"url":"https://manuelclaeysbouuaert.be","name":"Manuel Claeys Bouuaert","email":"manuel.claeys.b@gmail.com"},"license":"MIT","_id":"@allmaps/analyze@1.0.0-beta.4","maintainers":[{"name":"bertspaan","email":"hello@bertspaan.nl"}],"homepage":"https://allmaps.org","dist":{"shasum":"0fc31818c70ba889979bc32541e34dcd49552cfa","tarball":"https://registry.npmjs.org/@allmaps/analyze/-/analyze-1.0.0-beta.4.tgz","fileCount":9,"integrity":"sha512-qMshBufj0WH+met3q6KlJ8q6AXzqisBc39ImbgBQub8Je95C8LbAqLFDk46/ldMeBtlVbV69KZVgvT53uABzOQ==","signatures":[{"sig":"MEYCIQDLgovg1CWOoEEx3xqCIVSTyang39FcRSKM/ua9t/BAlgIhAPSldfbq2JTKscT4Pi369sIsYs1UMOmGvvhuaIFEP/r+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33044},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js"}},"gitHead":"f957eb89308c65fed8dd36ec3e39b61c15eaa7eb","scripts":{"lint":"prettier --check src test && eslint src test --ext .js,.ts","test":"NODE_ENV=test pnpm run build && mocha","build":"tsc && pnpm run documentation","types":"tsc --noEmit","watch":"tsc --watch","format":"prettier --write src test","preversion":"pnpm run lint && pnpm test","documentation":"documentation readme dist/index.js --section=API"},"_npmUser":{"name":"bertspaan","email":"hello@bertspaan.nl"},"repository":{"url":"https://github.com/allmaps/allmaps.git","type":"git","directory":"packages/analyze"},"_npmVersion":"lerna/4.1.2/node@v23.11.0+arm64 (darwin)","description":"Allmaps Analysis Library","directories":{},"_nodeVersion":"23.11.0","dependencies":{"@allmaps/types":"^1.0.0-beta.18","@allmaps/render":"^1.0.0-beta.72","@allmaps/stdlib":"^1.0.0-beta.34","@allmaps/transform":"^1.0.0-beta.45","@allmaps/annotation":"^1.0.0-beta.33","robust-point-in-polygon":"^1.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","mocha":"^10.8.2","eslint":"^8.56.0","prettier":"^2.8.0","typescript":"^5.7.0","@types/eslint":"^8.56.0","documentation":"^14.0.0","eslint-config-prettier":"^9.1.0","chai-shallow-deep-equal":"^1.4.6","@typescript-eslint/parser":"^7.0.0","@types/robust-point-in-polygon":"^1.0.4","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/analyze_1.0.0-beta.4_1747914852942_0.008337195922205165","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.5":{"name":"@allmaps/analyze","version":"1.0.0-beta.5","keywords":["allmaps","analyze","georeference","map"],"author":{"url":"https://manuelclaeysbouuaert.be","name":"Manuel Claeys Bouuaert","email":"manuel.claeys.b@gmail.com"},"license":"MIT","_id":"@allmaps/analyze@1.0.0-beta.5","maintainers":[{"name":"bertspaan","email":"hello@bertspaan.nl"}],"homepage":"https://allmaps.org","dist":{"shasum":"952dc2837996edf5b551956d1d181c60a09809bc","tarball":"https://registry.npmjs.org/@allmaps/analyze/-/analyze-1.0.0-beta.5.tgz","fileCount":9,"integrity":"sha512-Q5HO0XsxvfwHgGEKyQiNOIPI5MuxpZhgt3H9kJVH6Xy4zDhktG23n3f8kNBRM5lJZPlJyHB/JvdWPjHGPGtlRg==","signatures":[{"sig":"MEYCIQCEV+J3Bk0EysjuLafFCq2/MV0YP47dM2W3q3mGQk/4IgIhAOajXNYeuxg3w0KlZu3dyVpUqUXp+qyLqmmQhIN25bpY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32141},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js"}},"gitHead":"b0528a2ee528dd035a4cb9188f838adca307c7b3","scripts":{"lint":"prettier --check src test && eslint src test --ext .js,.ts","test":"NODE_ENV=test pnpm run build && mocha","build":"tsc && pnpm run documentation","types":"tsc --noEmit","watch":"tsc --watch","format":"prettier --write src test","documentation":"documentation readme dist/index.js --section=API"},"_npmUser":{"name":"bertspaan","actor":{"name":"bertspaan","type":"user","email":"hello@bertspaan.nl"},"email":"hello@bertspaan.nl"},"repository":{"url":"https://github.com/allmaps/allmaps.git","type":"git","directory":"packages/analyze"},"_npmVersion":"lerna/4.5.1/node@v23.11.0+arm64 (darwin)","description":"Allmaps Analysis Library","directories":{},"_nodeVersion":"23.11.0","dependencies":{"@allmaps/types":"^1.0.0-beta.19","@allmaps/render":"^1.0.0-beta.73","@allmaps/stdlib":"^1.0.0-beta.35","@allmaps/transform":"^1.0.0-beta.46","@allmaps/annotation":"^1.0.0-beta.34","robust-point-in-polygon":"^1.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","mocha":"^10.8.2","eslint":"^8.56.0","prettier":"^2.8.0","typescript":"^5.7.0","@types/eslint":"^8.56.0","documentation":"^14.0.0","eslint-config-prettier":"^9.1.0","chai-shallow-deep-equal":"^1.4.6","@typescript-eslint/parser":"^7.0.0","@types/robust-point-in-polygon":"^1.0.4","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/analyze_1.0.0-beta.5_1751899553265_0.5701293704832517","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.6":{"name":"@allmaps/analyze","version":"1.0.0-beta.6","keywords":["allmaps","analyze","georeference","map"],"author":{"url":"https://manuelclaeysbouuaert.be","name":"Manuel Claeys Bouuaert","email":"manuel.claeys.b@gmail.com"},"license":"MIT","_id":"@allmaps/analyze@1.0.0-beta.6","maintainers":[{"name":"bertspaan","email":"hello@bertspaan.nl"}],"homepage":"https://allmaps.org","dist":{"shasum":"df24f6b3211a5f1e572d27462b1eec130644a6b9","tarball":"https://registry.npmjs.org/@allmaps/analyze/-/analyze-1.0.0-beta.6.tgz","fileCount":9,"integrity":"sha512-rzQmVHYWtXuHKp8OpWwVs75/I7pGXZKqojOOiy5CyL1cIielOGKMnMwJL3JtSiAzR+CJZvajxM4RLO3IMpeUaw==","signatures":[{"sig":"MEUCIQDo3yooaLQcq8wQawDAz8aIGzFbijOsOs5giw/2aLI7IgIgWwQrJ2jLigw0W9KaCtF201nwRDCpNKcgwH+NXfwnyDg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32097},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js"}},"gitHead":"6b93e4d938c15ef1ea0e6ba15dc6585c80f6687b","scripts":{"lint":"prettier --check src test && eslint src test --ext .js,.ts","test":"NODE_ENV=test mocha","build":"tsc","types":"tsc --noEmit","watch":"tsc --watch","format":"prettier --write src test","documentation":"documentation readme dist/index.js --section=API"},"_npmUser":{"name":"bertspaan","actor":{"name":"bertspaan","type":"user","email":"hello@bertspaan.nl"},"email":"hello@bertspaan.nl"},"repository":{"url":"https://github.com/allmaps/allmaps.git","type":"git","directory":"packages/analyze"},"_npmVersion":"lerna/4.5.1/node@v23.11.0+arm64 (darwin)","description":"Allmaps Analysis Library","directories":{},"_nodeVersion":"23.11.0","dependencies":{"@allmaps/types":"^1.0.0-beta.20","@allmaps/render":"^1.0.0-beta.74","@allmaps/stdlib":"^1.0.0-beta.36","@allmaps/transform":"^1.0.0-beta.47","@allmaps/annotation":"^1.0.0-beta.35","robust-point-in-polygon":"^1.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","mocha":"^10.8.2","eslint":"^8.56.0","prettier":"^2.8.0","typescript":"^5.7.0","@types/eslint":"^8.56.0","documentation":"^14.0.0","eslint-config-prettier":"^9.1.0","chai-shallow-deep-equal":"^1.4.6","@typescript-eslint/parser":"^7.0.0","@types/robust-point-in-polygon":"^1.0.4","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/analyze_1.0.0-beta.6_1752089471604_0.150592370057534","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.7":{"name":"@allmaps/analyze","version":"1.0.0-beta.7","keywords":["allmaps","analyze","georeference","map"],"author":{"url":"https://manuelclaeysbouuaert.be","name":"Manuel Claeys Bouuaert","email":"manuel.claeys.b@gmail.com"},"license":"MIT","_id":"@allmaps/analyze@1.0.0-beta.7","maintainers":[{"name":"bertspaan","email":"hello@bertspaan.nl"}],"homepage":"https://allmaps.org","dist":{"shasum":"74ca5c8ec6d85ac587a79266ca5f7c5eabf9ed9e","tarball":"https://registry.npmjs.org/@allmaps/analyze/-/analyze-1.0.0-beta.7.tgz","fileCount":9,"integrity":"sha512-Rosu7pM20ZXn4+uXsXzzaGZQU4Jb/N4lrRPnoS6eaHy58Rjw/Qo0OHUbPWQcOz0X5L3L5O+BUu4NWJGq456Ttg==","signatures":[{"sig":"MEQCIE/MLc8n8f/qwe9pm1VVuaYC7Zb+vEXt0jW7EumNujPDAiBk/T7u2jVYDo7meqD/x+PgXZ/UQ11QnCvLxINOXSxe1A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32097},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js"}},"gitHead":"7538088a4e49540ec150bf47544afed00315a12b","scripts":{"lint":"prettier --check src test && eslint src test --ext .js,.ts","test":"NODE_ENV=test mocha","build":"tsc","types":"tsc --noEmit","watch":"tsc --watch","format":"prettier --write src test","documentation":"documentation readme dist/index.js --section=API"},"_npmUser":{"name":"bertspaan","email":"hello@bertspaan.nl"},"repository":{"url":"https://github.com/allmaps/allmaps.git","type":"git","directory":"packages/analyze"},"_npmVersion":"lerna/4.5.1/node@v23.11.0+arm64 (darwin)","description":"Allmaps Analysis Library","directories":{},"_nodeVersion":"23.11.0","dependencies":{"@allmaps/types":"^1.0.0-beta.20","@allmaps/render":"^1.0.0-beta.75","@allmaps/stdlib":"^1.0.0-beta.36","@allmaps/transform":"^1.0.0-beta.47","@allmaps/annotation":"^1.0.0-beta.35","robust-point-in-polygon":"^1.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","mocha":"^10.8.2","eslint":"^8.56.0","prettier":"^2.8.0","typescript":"^5.7.0","@types/eslint":"^8.56.0","documentation":"^14.0.0","eslint-config-prettier":"^9.1.0","chai-shallow-deep-equal":"^1.4.6","@typescript-eslint/parser":"^7.0.0","@types/robust-point-in-polygon":"^1.0.4","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/analyze_1.0.0-beta.7_1752928145896_0.7420567128135991","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.8":{"name":"@allmaps/analyze","version":"1.0.0-beta.8","keywords":["allmaps","analyze","georeference","map"],"author":{"url":"https://manuelclaeysbouuaert.be","name":"Manuel Claeys Bouuaert","email":"manuel.claeys.b@gmail.com"},"license":"MIT","_id":"@allmaps/analyze@1.0.0-beta.8","maintainers":[{"name":"bertspaan","email":"hello@bertspaan.nl"}],"homepage":"https://allmaps.org","dist":{"shasum":"a39d2a8c7aeb063f640e9e0ad8bd0460f10f18e7","tarball":"https://registry.npmjs.org/@allmaps/analyze/-/analyze-1.0.0-beta.8.tgz","fileCount":9,"integrity":"sha512-hIDTGXXNilnzjrHl7HcFHX8607SkyFzlne0JnjdaZKTWnRoIjKP+xjE1ctCHFgwWKofvihDj+zEqAR8JdbOmsQ==","signatures":[{"sig":"MEQCIFBfK8QAygivMwAUWw5OBUV7+xiFct0SGOyaOTPx3/aXAiAq1mReIailAob8S/5n4hqQwt1zR0CBx/uuN5+Wu0T1/A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31675},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js"}},"gitHead":"d7e8b2ee5a5496bffb70cfcd1143cfabce4d5760","scripts":{"lint":"prettier --check src test && eslint src test --ext .js,.ts","test":"NODE_ENV=test mocha","build":"tsc","types":"tsc --noEmit","watch":"tsc --watch","format":"prettier --write src test","documentation":"documentation readme dist/index.js --section=API"},"_npmUser":{"name":"bertspaan","email":"hello@bertspaan.nl"},"repository":{"url":"https://github.com/allmaps/allmaps.git","type":"git","directory":"packages/analyze"},"_npmVersion":"lerna/4.5.1/node@v23.11.0+arm64 (darwin)","description":"Allmaps Analysis Library","directories":{},"_nodeVersion":"23.11.0","dependencies":{"@allmaps/types":"^1.0.0-beta.20","@allmaps/render":"^1.0.0-beta.76","@allmaps/stdlib":"^1.0.0-beta.37","@allmaps/transform":"^1.0.0-beta.48","@allmaps/annotation":"^1.0.0-beta.35","point-in-polygon-hao":"^1.2.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","mocha":"^10.8.2","eslint":"^8.56.0","prettier":"^2.8.0","typescript":"^5.7.0","@types/eslint":"^8.56.0","documentation":"^14.0.0","eslint-config-prettier":"^9.1.0","chai-shallow-deep-equal":"^1.4.6","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/analyze_1.0.0-beta.8_1752946890972_0.08474572951421866","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.9":{"name":"@allmaps/analyze","version":"1.0.0-beta.9","keywords":["allmaps","analyze","georeference","map"],"author":{"url":"https://manuelclaeysbouuaert.be","name":"Manuel Claeys Bouuaert","email":"manuel.claeys.b@gmail.com"},"license":"MIT","_id":"@allmaps/analyze@1.0.0-beta.9","maintainers":[{"name":"bertspaan","email":"hello@bertspaan.nl"}],"homepage":"https://allmaps.org","bugs":{"url":"https://github.com/allmaps/allmaps/issues"},"dist":{"shasum":"bab0bb245c2b1cda30dc70bb8cd34bb1cfa4a828","tarball":"https://registry.npmjs.org/@allmaps/analyze/-/analyze-1.0.0-beta.9.tgz","fileCount":9,"integrity":"sha512-cUDph5WSAyFv5qgKESlUxE3N+uPd7p2kqo4n+Ug95r2sI2N+2jCDK8YXlsY3mSxCr1+cXCpX3QPwRWmjb5PDtg==","signatures":[{"sig":"MEQCIBoTbuY6OyI9Fa/txAb0ttyp+cbj723NyxmwgjjI51CWAiBXLizAMafJLP+GA2hkNtQTxrRU2APJY6npR0RVD/940w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31633},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js"}},"gitHead":"dfe8dc3b15ae53f3dec0627144a0778de3a51779","scripts":{"lint":"prettier --check src test && eslint src test --ext .js,.ts","test":"NODE_ENV=test vitest run","build":"tsc","types":"tsc --noEmit","watch":"tsc --watch","format":"prettier --write src test","documentation":"documentation readme dist/index.js --section=API"},"_npmUser":{"name":"bertspaan","email":"hello@bertspaan.nl"},"repository":{"url":"git+https://github.com/allmaps/allmaps.git","type":"git","directory":"packages/analyze"},"_npmVersion":"lerna/4.7.0/node@v24.10.0+arm64 (darwin)","description":"Allmaps Analysis Library","directories":{},"_nodeVersion":"24.10.0","dependencies":{"@allmaps/types":"^1.0.0-beta.21","@allmaps/render":"^1.0.0-beta.79","@allmaps/stdlib":"^1.0.0-beta.38","@allmaps/transform":"^1.0.0-beta.49","@allmaps/annotation":"^1.0.0-beta.36","point-in-polygon-hao":"^1.2.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","vitest":"^4.0.4","prettier":"^2.8.0","typescript":"^5.7.0","@types/eslint":"^8.56.0","documentation":"^14.0.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/analyze_1.0.0-beta.9_1762812029462_0.007601973001672757","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.10":{"name":"@allmaps/analyze","version":"1.0.0-beta.10","keywords":["allmaps","analyze","georeference","map"],"author":{"url":"https://manuelclaeysbouuaert.be","name":"Manuel Claeys Bouuaert","email":"manuel.claeys.b@gmail.com"},"license":"MIT","_id":"@allmaps/analyze@1.0.0-beta.10","maintainers":[{"name":"bertspaan","email":"hello@bertspaan.nl"}],"homepage":"https://allmaps.org","bugs":{"url":"https://github.com/allmaps/allmaps/issues"},"dist":{"shasum":"93e11f57bdd1d4f0419d4c328644cd7d94ace7a9","tarball":"https://registry.npmjs.org/@allmaps/analyze/-/analyze-1.0.0-beta.10.tgz","fileCount":9,"integrity":"sha512-M2SEyo+DqV7llyLA4XeEJ+Wxssfoq3ZVDyWyTAQcgfZdPuRrSNkUc4kFKDlr4wPflEOcbkNwO06vdt6DU2DEiw==","signatures":[{"sig":"MEYCIQD9CRBBh0b7hzN9xsadOqIB7MqLNI3I+74Bfr+Ch6nP/wIhAJWLY4evvs+B0xnQwdzRiRK36clSKX0nP2KO2eBEnJSK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31634},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js"}},"gitHead":"814686e9c8e78777708c22dcd1efc4c81d968539","scripts":{"lint":"prettier --check src test && eslint src test --ext .js,.ts","test":"NODE_ENV=test vitest run","build":"tsc","types":"tsc --noEmit","watch":"tsc --watch","format":"prettier --write src test","documentation":"documentation readme dist/index.js --section=API"},"_npmUser":{"name":"bertspaan","email":"hello@bertspaan.nl"},"repository":{"url":"git+https://github.com/allmaps/allmaps.git","type":"git","directory":"packages/analyze"},"_npmVersion":"lerna/4.7.0/node@v24.10.0+arm64 (darwin)","description":"Allmaps Analysis Library","directories":{},"_nodeVersion":"24.10.0","dependencies":{"@allmaps/types":"^1.0.0-beta.22","@allmaps/render":"^1.0.0-beta.80","@allmaps/stdlib":"^1.0.0-beta.39","@allmaps/transform":"^1.0.0-beta.50","@allmaps/annotation":"^1.0.0-beta.36","point-in-polygon-hao":"^1.2.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","vitest":"^4.0.4","prettier":"^2.8.0","typescript":"^5.7.0","@types/eslint":"^8.56.0","documentation":"^14.0.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/analyze_1.0.0-beta.10_1764251098671_0.5813959370652702","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.11":{"name":"@allmaps/analyze","version":"1.0.0-beta.11","keywords":["allmaps","analyze","georeference","map"],"author":{"url":"https://manuelclaeysbouuaert.be","name":"Manuel Claeys Bouuaert","email":"manuel.claeys.b@gmail.com"},"license":"MIT","_id":"@allmaps/analyze@1.0.0-beta.11","maintainers":[{"name":"bertspaan","email":"hello@bertspaan.nl"}],"homepage":"https://allmaps.org","bugs":{"url":"https://github.com/allmaps/allmaps/issues"},"dist":{"shasum":"67783c2c9424934b659283411931017e72bd8dfc","tarball":"https://registry.npmjs.org/@allmaps/analyze/-/analyze-1.0.0-beta.11.tgz","fileCount":9,"integrity":"sha512-neUtQ0kG1yk/cgZJohsV0qsOJXOiVOY/ru6uLC3PJS9jl8Wu216zdG46Nk0SNAoO5n0GGzVCD2cGAGGuanNWfw==","signatures":[{"sig":"MEQCIFLsuZoqf8LiaMYr9+ERz+RIGvGY8gcjiPgEtOv9ulQ4AiB1WjXq8cqV59BeshnRBtqods+/6GCPqxZVccB5JANd2w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31634},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js"}},"gitHead":"ffa8c4000894d4a4a5e713e907184f1a29e66664","scripts":{"lint":"prettier --check src test && eslint src test --ext .js,.ts","test":"NODE_ENV=test vitest run","build":"tsc","types":"tsc --noEmit","watch":"tsc --watch","format":"prettier --write src test","documentation":"documentation readme dist/index.js --section=API"},"_npmUser":{"name":"bertspaan","email":"hello@bertspaan.nl"},"repository":{"url":"git+https://github.com/allmaps/allmaps.git","type":"git","directory":"packages/analyze"},"_npmVersion":"lerna/4.9.4/node@v24.10.0+arm64 (darwin)","description":"Allmaps Analysis Library","directories":{},"_nodeVersion":"24.10.0","dependencies":{"@allmaps/types":"^1.0.0-beta.22","@allmaps/render":"^1.0.0-beta.81","@allmaps/stdlib":"^1.0.0-beta.39","@allmaps/transform":"^1.0.0-beta.50","@allmaps/annotation":"^1.0.0-beta.36","point-in-polygon-hao":"^1.2.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","vitest":"^4.0.4","prettier":"^2.8.0","typescript":"^5.7.0","@types/eslint":"^8.56.0","documentation":"^14.0.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/analyze_1.0.0-beta.11_1765313706131_0.7949496290328344","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.12":{"name":"@allmaps/analyze","version":"1.0.0-beta.12","keywords":["allmaps","analyze","georeference","map"],"author":{"url":"https://manuelclaeysbouuaert.be","name":"Manuel Claeys Bouuaert","email":"manuel.claeys.b@gmail.com"},"license":"MIT","_id":"@allmaps/analyze@1.0.0-beta.12","maintainers":[{"name":"bertspaan","email":"hello@bertspaan.nl"}],"homepage":"https://allmaps.org","bugs":{"url":"https://github.com/allmaps/allmaps/issues"},"dist":{"shasum":"cfc5e0c4e4c9f6d7775300ffc4aae026590b076f","tarball":"https://registry.npmjs.org/@allmaps/analyze/-/analyze-1.0.0-beta.12.tgz","fileCount":9,"integrity":"sha512-TuqHxObPw2LztgxFkLX6pkVIfNWtRvqI+gJIlQ9+BxDa78AhNYMn1n9m0YaVQJUD+eFFBYe8wCNOrY9feLi9Rw==","signatures":[{"sig":"MEQCIDN/kngKETouujNRNCNWIxNxEJnQBURSh2fc+sOLAm+dAiAWf3pJF+ASUXO4sMmm6L2+jrfOfnj0kLjw0ve3CVeIMg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31634},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js"}},"gitHead":"5801dd5a129c88cb0aaea3f45e2e288f38565d46","scripts":{"lint":"prettier --check src test && eslint src test --ext .js,.ts","test":"NODE_ENV=test vitest run","build":"tsc","types":"tsc --noEmit","watch":"tsc --watch","format":"prettier --write src test","documentation":"documentation readme dist/index.js --section=API"},"_npmUser":{"name":"bertspaan","email":"hello@bertspaan.nl"},"repository":{"url":"git+https://github.com/allmaps/allmaps.git","type":"git","directory":"packages/analyze"},"_npmVersion":"lerna/4.9.4/node@v24.10.0+arm64 (darwin)","description":"Allmaps Analysis Library","directories":{},"_nodeVersion":"24.10.0","dependencies":{"@allmaps/types":"^1.0.0-beta.22","@allmaps/render":"^1.0.0-beta.82","@allmaps/stdlib":"^1.0.0-beta.40","@allmaps/transform":"^1.0.0-beta.51","@allmaps/annotation":"^1.0.0-beta.36","point-in-polygon-hao":"^1.2.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","vitest":"^4.0.4","prettier":"^2.8.0","typescript":"^5.7.0","@types/eslint":"^8.56.0","documentation":"^14.0.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/analyze_1.0.0-beta.12_1770665505088_0.409297901994214","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.13":{"name":"@allmaps/analyze","version":"1.0.0-beta.13","author":{"name":"Manuel Claeys Bouuaert","email":"manuel.claeys.b@gmail.com","url":"https://manuelclaeysbouuaert.be"},"description":"Allmaps Analysis Library","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js"}},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/allmaps/allmaps.git","directory":"packages/analyze"},"homepage":"https://allmaps.org","keywords":["allmaps","analyze","georeference","map"],"scripts":{"watch":"tsc --watch --noCheck","build":"tsc --noCheck","test":"NODE_ENV=test vitest run","lint":"prettier --ignore-path ../../.gitignore --check src test && eslint src test --ext .js,.ts","format":"prettier --ignore-path ../../.gitignore --write src test","types":"tsc --noEmit","documentation":"documentation readme dist/index.js --section=API"},"license":"MIT","dependencies":{"@allmaps/annotation":"^1.0.0-beta.37","@allmaps/project":"^1.0.0-beta.9","@allmaps/render":"^1.0.0-beta.83","@allmaps/stdlib":"^1.0.0-beta.41","@allmaps/transform":"^1.0.0-beta.52","@allmaps/types":"^1.0.0-beta.23","ml-matrix":"^6.12.0","ml-ransac":"^1.0.0","point-in-polygon-hao":"^1.2.4"},"devDependencies":{"@types/eslint":"^8.56.0","@types/node":"^24","@typescript-eslint/eslint-plugin":"^7.0.0","@typescript-eslint/parser":"^7.0.0","documentation":"^14.0.0","eslint":"^8.56.0","eslint-config-prettier":"^9.1.0","prettier":"^2.8.0","typescript":"^5.9.3","vitest":"^4.0.4"},"gitHead":"0776371fa222f670b893d87b302c6334e825ac3e","_id":"@allmaps/analyze@1.0.0-beta.13","bugs":{"url":"https://github.com/allmaps/allmaps/issues"},"_nodeVersion":"25.8.0","_npmVersion":"lerna/4.9.4/node@v25.8.0+arm64 (darwin)","dist":{"integrity":"sha512-uozPq8LlVgrac4k/akmdqSeGfXT+55jZURYvX3GJpjhgPZnmludaoCBOxhKXMaHnqNQSb9fGFueUhlK3oofJKQ==","shasum":"7d5b0231b72b127e36ca907d39ecdeafe88dfe07","tarball":"https://registry.npmjs.org/@allmaps/analyze/-/analyze-1.0.0-beta.13.tgz","fileCount":9,"unpackedSize":58568,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDaL9eoyUWKt+JgIAKV8u98oBJdRHX3jXRIRVWjfv5P3QIhAN1Nmx2BKvOCoFaTPqDka0KeCVhL8X04ARrhR9RFUouU"}]},"_npmUser":{"name":"bertspaan","email":"hello@bertspaan.nl"},"directories":{},"maintainers":[{"name":"bertspaan","email":"hello@bertspaan.nl"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/analyze_1.0.0-beta.13_1780001979552_0.04569741200625388"},"_hasShrinkwrap":false}},"time":{"created":"2025-03-12T10:42:14.683Z","modified":"2026-05-28T20:59:39.877Z","1.0.0-beta.2":"2025-03-12T10:42:14.959Z","1.0.0-beta.3":"2025-05-22T09:51:21.545Z","1.0.0-beta.4":"2025-05-22T11:54:13.102Z","1.0.0-beta.5":"2025-07-07T14:45:53.438Z","1.0.0-beta.6":"2025-07-09T19:31:11.792Z","1.0.0-beta.7":"2025-07-19T12:29:06.081Z","1.0.0-beta.8":"2025-07-19T17:41:31.174Z","1.0.0-beta.9":"2025-11-10T22:00:29.639Z","1.0.0-beta.10":"2025-11-27T13:44:58.973Z","1.0.0-beta.11":"2025-12-09T20:55:06.296Z","1.0.0-beta.12":"2026-02-09T19:31:45.228Z","1.0.0-beta.13":"2026-05-28T20:59:39.751Z"},"bugs":{"url":"https://github.com/allmaps/allmaps/issues"},"author":{"name":"Manuel Claeys Bouuaert","email":"manuel.claeys.b@gmail.com","url":"https://manuelclaeysbouuaert.be"},"license":"MIT","homepage":"https://allmaps.org","keywords":["allmaps","analyze","georeference","map"],"repository":{"type":"git","url":"git+https://github.com/allmaps/allmaps.git","directory":"packages/analyze"},"description":"Allmaps Analysis Library","maintainers":[{"name":"bertspaan","email":"hello@bertspaan.nl"}],"readme":"# @allmaps/analyze\n\nThis packages serves to analyze the *geometric* qualities of georeferenced maps.\n\nExamples:\n\n*   Check if there are enough GCPs and they are linearly independent\n*   Check if the mask doesn't self-intersect\n*   Check if the map is not to strongly warped\n\n## How it works\n\nThis packages analyzes maps and returns information, warning and error items:\n\n*   **Info** are notable but not problematic informations on a warping.\n*   **Warnings** are possibly problematic findings, but don't invalidate the map.\n*   **Errors** are problematic findings that invalidate the map.\n\nAnalysis items like info, warnings and errors are objects with a unique code, a message and possible additional descriptive attributes. All supported analysis items are listed below.\n\nAn analyzer can also compute **Measures** like the RMSE of error-vectors and **Distortion** information like area scaling of a thin-plate spline transformation. They are equally described below.\n\nWhile this packages serves to analyze the *geometric* qualities of maps. It does not check the *online availability* of the resource (image) of a map.\n\n### Which maps can be analyzed?\n\nThis package can analyze ProtoGeoreferencedMaps, GeoreferencedMaps or WarpedMaps.\n\n*   A **ProtoGeoreferencedMap** is a type used in this package to describe a basic version of a GeoreferencedMap containing only (but not guaranteed) GCPs and a mask. Information on the resource image or context, present in a GeoreferencedMap may be omitted here.\n*   A **GeoreferencedMap** is Allmaps' internal map format describing parsed [Georeference Annotations](https://iiif.io/api/extension/georef/). The [@allmaps/annotation](../../packages/annotation/) package defines these schema's and provides functions to parse and generate them.\n*   A **WarpedMap** is an object used in the [@allmaps/render](../../packages/render/) package and describe how a Georeferenced Map is warped by a transformer, e.g. during rendering. Hence, these objects contain a lot of information that can be used to infer the quality and accuracy of a map's warping.\n    *   This packages also check if WarpedMap's can be triangulated. For context: a WebGL2Renderer renders a WebGL2WarpedMap, which is an extension a TriangulatedWarpedMap, which is an extension of a WarpedMap.\n\n## Installation\n\nThis is an ESM-only module that works in browsers and Node.js.\n\nInstall with pnpm:\n\n```sh\npnpm install @allmaps/analyze\n```\n\n## Usage\n\nFirst, create an Analyzer instance from a ProtoGeoreferencedMap, GeoreferencedMap or WarpedMap.\n\n```js\nimport { parseAnnotation } from '@allmaps/annotation'\nimport { Analyzer } from '@allmaps/analyze'\n\n// Create an Analyzer for a Proto Georeferenced Map\nconst protoGeoreferencedMap = {\n  \"gcps\": [\n    { \"resource\": [336, 1742], \"geo\": [2.2860069, 48.860451] },\n    { \"resource\": [294, 227], \"geo\": [2.2860069, 48.860451] }, // <- geo point repeated\n    { \"resource\": [2252, 1108], \"geo\": [2.2945555, 48.8574745] },\n    { \"resource\": [1892, 773], \"geo\": [2.2945164, 48.8590133] }\n  ],\n  \"resourceMask\": [\n    [117, 120],\n    [113, 1776],\n    [4587, 1772],\n    [4568, 101]\n  ]\n}\nconst analyzer = new Analyzer(protoGeoreferencedMap)\n\n// Or create an Analyzer for a Georeferenced Map\nconst annotation = await fetch(annoationUrl).then((response) => response.json())\nconst georeferencedMaps = parseAnnotation(annotation)\nconst georeferencedMap = georeferencedMaps[0]\nconst analyzer = new Analyzer(georeferencedMap)\n\n// Or create an Analyzer for a Warped Map\nawait renderer.addGeoreferenceAnnotation(annotation)\nconst warpedMap = renderer.warpedMapList.getWarpedMaps()[0]\nconst analyzer = new Analyzer(warpedMap)\n```\n\nThen analyze for info, warnings or errors, or compute measures or distortion.\n\n```js\n// Run an analysis to get all info, warnings and errors\nconst analysis = analyzer.analyze()\n// analysis.warnings = {\n//   {\n//     mapId: 'https://annotations.allmaps.org/images/5748b8df80495d97',\n//     code: 'gcpgeorepeatedpoint',\n//     geoPoint: [ 2.2860069, 48.860451 ],\n//     gcpIndex: 1,\n//     message: 'GCP 1 with geo coordinates [2.2860069,48.860451] is repeated.'\n//   },\n//   ...\n// }\n\n// Or specifically get info, warnings and errors\nconst info = analyzer.getInfo()\nconst warnings = analyzer.getWarnings()\nconst errors = analyzer.getErrors()\n\n// Or quickly check e.g. if there are any errors\nconst hasErrors = analyzer.hasErrors()\n\n// Analyze measures and distortions\nconst measures = analyzer.getMeasures()\nconst distortions = analyzer.getDistortions()\n```\n\n## Info, Warnings, Errors\n\nAn analyzer can analyze the following info, warnings and errors:\n\n| Type    | Code                                      | Topic                                                                                                                                                              | Included by default |\n|---------|-------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------|\n| Info    | `maskequalsfullmask`                      | The mask contains the full image.                                                                                                                                  | Yes                 |\n| Info    | `gcpresourcepointismaskpoint`             | A GCP is a mask point.                                                                                                                                             | Yes                 |\n| Warning | `maskmissing`                             | A mask is missing.                                                                                                                                                 | Yes                 |\n| Warning | `gcpoutsidemask`                          | A GCP is outside the mask.                                                                                                                                         | Yes                 |\n| Warning | `gcpoutlier`                              | A GCP is possibly an outlier. See [this notebook](https://observablehq.com/d/decede2fed6b58d3) for more details about the RANSAC approach used to detect outliers. | Yes                 |\n| Warning | `maskpointoutsidefullmask`                | A mask point is outside the full mask.                                                                                                                             | Yes                 |\n| Warning | `destinationrmsetoohigh`                  | The RMSE is higher then the set maximum times the map diameter.                                                                                                    | No                  |\n| Warning | `destinationhelmertrmsetoohigh`           | The RMSE is higher then the set maximum times the map diameter for a helmert transformation.                                                                       | No                  |\n| Warning | `polynomial1sheartoohigh`                 | The shear is higher then a set maximum for a polynomial transformation.                                                                                            | Yes                 |\n| Warning | `destinationpolynomial1rmsetoohigh`       | The RMSE is higher then the set maximum times the map diameter for a polynomial transformation.                                                                    | Yes                 |\n| Warning | `log2sigmadistortiontoohigh`              | The area distortion (`log2sigma`) is higher then the set maximum or lower then the set minimum.                                                                    | Yes                 |\n| Warning | `twoomegadistortiontoohigh`               | The angular distortion (`twoOmega`) is higher then the set maximum.                                                                                                | Yes                 |\n| Warning | `triangulationfoldsover`                  | The warped map folds over itself.                                                                                                                                  | No                  |\n| Error   | `constructinggeoreferencedmapfailed`      | A georeferenced map could not be constructed.                                                                                                                      | Yes                 |\n| Error   | `constructingtriangulatedwarpedmapfailed` | A triangulated warped map could not be constructed.                                                                                                                | Yes                 |\n| Error   | `constructingwarpedmapfailed`             | A warped map could not be constructed.                                                                                                                             | Yes                 |\n| Error   | `gcpsmissing`                             | GCPs are missing.                                                                                                                                                  | Yes                 |\n| Error   | `gcpincompleteresource`                   | A GCP has incomplete source coordinates.                                                                                                                           | Yes                 |\n| Error   | `gcpincompleteregeo`                      | A GCP has incomplete source coordinates.                                                                                                                           | Yes                 |\n| Error   | `gcpsamountlessthen2`                     | There are less then 2 GCPs.                                                                                                                                        | No                  |\n| Error   | `gcpsamountlessthen3`                     | There are less then 3 GCPs.                                                                                                                                        | Yes                 |\n| Error   | `gcpresourcerepeatedpoint`                | GCP resource coordinates are repeated.                                                                                                                             | Yes                 |\n| Error   | `gcpgeorepeatedpoint`                     | GCP geo coordinates are repeated.                                                                                                                                  | Yes                 |\n| Error   | `gcpsresourcenotlinearlyindependent`      | GCP resource coordinates are not linearly independent.                                                                                                             | Yes                 |\n| Error   | `gcpsgeonotlinearlyindependent`           | GCP geo coordinates are not linearly independent.                                                                                                                  | Yes                 |\n| Error   | `masknotring`                             | The mask is not a valid ring (an array of points).                                                                                                                 | Yes                 |\n| Error   | `maskrepeatedpoint`                       | Mask resource coordinates are repeated.                                                                                                                            | Yes                 |\n| Error   | `maskselfintersection`                    | The mask self-intersects.                                                                                                                                          | Yes                 |\n\nNote: computing the warnings can throw an error (e.g. if there are not enough GCPs). This error is caught and added to the errors when a full analysis is performed, but not when only the warnings are computed.\n\n#### Options\n\nAn analysis accepts the following options:\n\n| Option                            | Description                                                                                   | Default                                                 |\n| :-------------------------------- | :-------------------------------------------------------------------------------------------- | :------------------------------------------------------ |\n`codes` | Array of codes to analyze. | (see above) |\n`maxRmseDiameterFraction` | Maximum allowed RMSE as a fraction of the map diameter' | `0.05` |\n`maxShear` | Maximum allowed shear for a polynomial transformation' | `0.1` |\n`maxLog2sigma` | Maximum allowed area scaling distortion (log2sigma)' | `1` |\n`minLog2sigma` | Minimum allowed area scaling distortion (log2sigma)' | `-1` |\n`maxTwoOmega` | Maximum allowed angular distortion (twoOmega)' | `0.5` |\n`ransacThresholdFactor` | RANSAC scaling factor applied to the RANSAC inlier distance threshold when detecting outlier GCPs' | `0.1` |\n`ransacStopProbability` | RANSAC stopping probability when detecting outlier GCPs' | `0.99` |\n`ransacMaxNbIterations` | Maximum number of RANSAC iterations when detecting outlier GCPs' | `100` |\n\n## Measures\n\nAn analyzer can also compute measures describing the warping with the current (or default) transformation type, and measures specifically describing warpings with Helmert and polynomial transformation types.\n\nThe method `analyze.getMeasures()` returns an object with the following measures:\n\n*   About the current transformation type:\n    *   `resourceMaskBboxDiameter`: The diameter of the bounding box of the resource mask.\n    *   `geoMaskBboxDiameter`: The diameter of the bounding box of the geo mask.\n    *   `projectedGeoMaskBboxDiameter`: The diameter of the bounding box of the projected geo mask.\n    *   `destinationRmse`: The root-mean-square error of GCPs in projected geo coordinates.\n    *   `destinationErrors`: for each GCP, the error in projected geo coordinates.\n    *   `resourceErrors`: for each GCP, the error in projected geo coordinates, scaled to resource space.\n    *   `resourceRelativeErrors`: for each GCP, the error in projected resource coordinates, relative to the diameter of the bounding box of the resource mask.\n*   About the Helmert transformation type:\n    *   `destinationHelmertRmse`: The root-mean-square error of GCPs in projected geo coordinates.\n    *   `helmertMeasures`: The Helmert measures, including `translation`, `rotation` and `scale`. See [@allmaps/transform](../../packages/transform/).\n*   About the polynomial transformation type:\n    *   `destinationPolynomial1Rmse`: The root-mean-square error of GCPs in projected geo coordinates.\n    *   `polynomial1Measures`: The polynomial measures, including `translation`, `rotation`, `scales` and `shears`. See [@allmaps/transform](../../packages/transform/).\n\n## Distortions\n\nAn analyzer can also compute distortion describing the distortion caused by the warping with the current (or default) transformation type.\n\nThe method `analyze.getDistortions()` returns an object with the following measures:\n\n*   About the current transformation type:\n    *   `meanDistortions`: A Map with for each computed distortion measure, the mean distortion over all triangulation points.\n\n## License\n\nMIT\n\n## API\n\n<!-- Generated by documentation.js. Update this documentation by updating the source code. -->\n\n#### Table of Contents\n\n*   [Analyzer](#analyzer)\n    *   [Parameters](#parameters)\n    *   [analyze](#analyze)\n        *   [Parameters](#parameters-1)\n    *   [getInfo](#getinfo)\n        *   [Parameters](#parameters-2)\n    *   [getWarnings](#getwarnings)\n        *   [Parameters](#parameters-3)\n    *   [getErrors](#geterrors)\n        *   [Parameters](#parameters-4)\n    *   [getMeasures](#getmeasures)\n    *   [getDistortions](#getdistortions)\n\n### Analyzer\n\nClass for Analyzer.\nThis class describes how a georeferenced map is warped using a specific transformation.\n\n#### Parameters\n\n*   `map` &#x20;\n*   `options` &#x20;\n\n#### analyze\n\nAnalyzanalye\n\nApplying extra caution: wrapping the getters in a try catch\n\n##### Parameters\n\n*   `partialOptions`  Analysis options\n\nReturns **any** Analysis with info, warnings and errors\n\n#### getInfo\n\nGet analysis informations\n\n##### Parameters\n\n*   `partialOptions`  Analysis options\n\nReturns **any** Analysis items with info\n\n#### getWarnings\n\nGet analysis warnings\n\n##### Parameters\n\n*   `partialOptions`  Analysis options\n\nReturns **any** Analysis items with warning\n\n#### getErrors\n\nGet analysis errors\n\n##### Parameters\n\n*   `partialOptions`  Analysis options\n\nReturns **any** Analysis items with errors\n\n#### getMeasures\n\nGet analysis measures\n\nReturns **any** Analysis measures\n\n#### getDistortions\n\nGet distortions.\n\nReturns **any** Analysis distortions\n","readmeFilename":"README.md"}