mapshaper-simplify
v2.0.2
Published
GeoJson simplify. Extracted from Mapshaper
Downloads
89
Maintainers
Readme
Mapshaper geojson simplify
This is the geojson simplification method extracted directly from Mapshaper
Useage
import {
preBuild,
simplify
} from 'mapshaper-simplify'
const res = await fetch('./__country.json')
const geojson = await res.json()
console.log(geojson)
console.time('preBuild')
const dataset = preBuild(geojson)
console.timeEnd('preBuild')
console.log(dataset)
// console.log(JSON.stringify(dataset))
console.time('simplify')
const geojson2 = simplify(dataset, 0.1)
console.timeEnd('simplify')
console.log(geojson2)
// console.log(JSON.stringify(dataset))
// console.log(JSON.stringify(geojson2))
console.time('simplify')
const geojson3 = simplify(dataset, 0.5)
console.timeEnd('simplify')
console.log(geojson3)
// console.log(JSON.stringify(dataset))
// console.log(JSON.stringify(geojson3))
Why Bother?
It is important to keep topological relations among features when processing geographic data, which unfortunately, not promised in most simplification algorithms or GIS softwares like QGIS and ArcGIS.
The simplification process of Mapshaper handles the shared edges well enough in most cases.
However Mapshaper is not designed to be called programmatically on the fly. Nor to be light-weighted. The browser version of it is enormous with dependencies like buffer-es6 as polyfills since it's originaly designed to run in a node.js evirenment.
That's why I extracted the geojson simplification part and minify it as much as posible.
Caution!
The original Mapshaper is not programed friendly for tree-shaking so I have to use some very progressive minification method including JS coverage.
You have to USE IT EXACTLY LIKE OUR EXAMPLES. Or it won't work.
License
This software is licensed under MPL-2.0.